mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
Summary: Object files compiled with /Zi emit type information into a type server PDB. The .debug$S section will contain a single TypeServer2Record with the absolute path and GUID of the type server. LLD needs to load the type server PDB and merge all types and items it finds in it into the destination PDB. Depends on D35495 Reviewers: ruiu, inglorion Subscribers: zturner, llvm-commits Differential Revision: https://reviews.llvm.org/D35504 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308235 91177308-0d34-0410-b5e6-96231b3b80d8
56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
//===- GUID.h ---------------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_DEBUGINFO_CODEVIEW_GUID_H
|
|
#define LLVM_DEBUGINFO_CODEVIEW_GUID_H
|
|
|
|
#include <cstdint>
|
|
#include <cstring>
|
|
|
|
namespace llvm {
|
|
class raw_ostream;
|
|
|
|
namespace codeview {
|
|
|
|
/// This represents the 'GUID' type from windows.h.
|
|
struct GUID {
|
|
uint8_t Guid[16];
|
|
};
|
|
|
|
inline bool operator==(const GUID &LHS, const GUID &RHS) {
|
|
return 0 == ::memcmp(LHS.Guid, RHS.Guid, sizeof(LHS.Guid));
|
|
}
|
|
|
|
inline bool operator<(const GUID &LHS, const GUID &RHS) {
|
|
return ::memcmp(LHS.Guid, RHS.Guid, sizeof(LHS.Guid)) < 0;
|
|
}
|
|
|
|
inline bool operator<=(const GUID &LHS, const GUID &RHS) {
|
|
return ::memcmp(LHS.Guid, RHS.Guid, sizeof(LHS.Guid)) <= 0;
|
|
}
|
|
|
|
inline bool operator>(const GUID &LHS, const GUID &RHS) {
|
|
return !(LHS <= RHS);
|
|
}
|
|
|
|
inline bool operator>=(const GUID &LHS, const GUID &RHS) {
|
|
return !(LHS < RHS);
|
|
}
|
|
|
|
inline bool operator!=(const GUID &LHS, const GUID &RHS) {
|
|
return !(LHS == RHS);
|
|
}
|
|
|
|
raw_ostream &operator<<(raw_ostream &OS, const GUID &Guid);
|
|
|
|
} // namespace codeview
|
|
} // namespace llvm
|
|
|
|
#endif
|