]> granicus.if.org Git - clang/commitdiff
CodeGen: update comment about RTTI field
authorSaleem Abdulrasool <compnerd@compnerd.org>
Sun, 1 Jan 2017 19:16:02 +0000 (19:16 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Sun, 1 Jan 2017 19:16:02 +0000 (19:16 +0000)
The MS ABI RTTI has a reserved field which is used as a cache for the
demangled name.  It must be zero-initialized, which is used as a hint by
the runtime to say that the cache has not been populated.  Since this
field is populated at runtime, the RTTI structures must be placed in the
.data section rather than .rdata.  NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290799 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MicrosoftCXXABI.cpp

index 1576483770a3a7b4ce9150e0bb8961f63efb9c4a..38df455011e3a0b275d9c40571802e01464637b5 100644 (file)
@@ -3536,7 +3536,7 @@ llvm::GlobalVariable *MSRTTIBuilder::getClassHierarchyDescriptor() {
 
   // Initialize the base class ClassHierarchyDescriptor.
   llvm::Constant *Fields[] = {
-      llvm::ConstantInt::get(CGM.IntTy, 0), // Unknown
+      llvm::ConstantInt::get(CGM.IntTy, 0), // reserved by the runtime
       llvm::ConstantInt::get(CGM.IntTy, Flags),
       llvm::ConstantInt::get(CGM.IntTy, Classes.size()),
       ABI.getImageRelativeConstant(llvm::ConstantExpr::getInBoundsGetElementPtr(