[llvm] r308235 - [PDB] Merge in types and items from type servers (/Zi)

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 17 17:21:25 PDT 2017


Author: rnk
Date: Mon Jul 17 17:21:25 2017
New Revision: 308235

URL: http://llvm.org/viewvc/llvm-project?rev=308235&view=rev
Log:
[PDB] Merge in types and items from type servers (/Zi)

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

Modified:
    llvm/trunk/include/llvm/DebugInfo/CodeView/GUID.h

Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/GUID.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/GUID.h?rev=308235&r1=308234&r2=308235&view=diff
==============================================================================
--- llvm/trunk/include/llvm/DebugInfo/CodeView/GUID.h (original)
+++ llvm/trunk/include/llvm/DebugInfo/CodeView/GUID.h Mon Jul 17 17:21:25 2017
@@ -27,6 +27,26 @@ inline bool operator==(const GUID &LHS,
   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




More information about the llvm-commits mailing list