llvm/llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp

//===- TpiHashing.cpp -----------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "llvm/DebugInfo/PDB/Native/TpiHashing.h"

#include "llvm/DebugInfo/CodeView/TypeDeserializer.h"
#include "llvm/DebugInfo/PDB/Native/Hash.h"
#include "llvm/Support/CRC.h"

usingnamespacellvm;
usingnamespacellvm::codeview;
usingnamespacellvm::pdb;

// Corresponds to `fUDTAnon`.
static bool isAnonymous(StringRef Name) {}

// Computes the hash for a user-defined type record. This could be a struct,
// class, union, or enum.
static uint32_t getHashForUdt(const TagRecord &Rec,
                              ArrayRef<uint8_t> FullRecord) {}

template <typename T>
static Expected<uint32_t> getHashForUdt(const CVType &Rec) {}

template <typename T>
static Expected<TagRecordHash> getTagRecordHashForUdt(const CVType &Rec) {}

template <typename T>
static Expected<uint32_t> getSourceLineHash(const CVType &Rec) {}

Expected<TagRecordHash> llvm::pdb::hashTagRecord(const codeview::CVType &Type) {}

Expected<uint32_t> llvm::pdb::hashTypeRecord(const CVType &Rec) {}