<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 15, 2016 at 2:25 PM, Rui Ueyama via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: ruiu<br>
Date: Wed Jun 15 16:25:29 2016<br>
New Revision: 272843<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=272843&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=272843&view=rev</a><br>
Log:<br>
[Codeview] Add a class for LF_UDT_MOD_SRC_LINE.<br>
<br>
Differential Revision: <a href="http://reviews.llvm.org/D21406" rel="noreferrer" target="_blank">http://reviews.llvm.org/D21406</a><br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecord.h<br>
    llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecords.def<br>
    llvm/trunk/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h<br>
    llvm/trunk/lib/DebugInfo/CodeView/TypeDumper.cpp<br>
    llvm/trunk/lib/DebugInfo/CodeView/TypeRecord.cpp<br>
    llvm/trunk/lib/DebugInfo/CodeView/TypeTableBuilder.cpp<br>
    llvm/trunk/test/DebugInfo/PDB/pdbdump-headers.test<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecord.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecord.h?rev=272843&r1=272842&r2=272843&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecord.h?rev=272843&r1=272842&r2=272843&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecord.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecord.h Wed Jun 15 16:25:29 2016<br>
@@ -767,6 +767,44 @@ private:<br>
   uint32_t LineNumber;<br>
 };<br>
<br>
+// LF_UDT_MOD_SRC_LINE<br>
+class UdtModSourceLineRecord : public TypeRecord {<br>
+public:<br>
+  UdtModSourceLineRecord(TypeIndex UDT, TypeIndex SourceFile,<br>
+                         uint32_t LineNumber, uint16_t Module)<br>
+      : TypeRecord(TypeRecordKind::UdtSourceLine), UDT(UDT),<br>
+        SourceFile(SourceFile), LineNumber(LineNumber), Module(Module) {}<br>
+<br>
+  bool remapTypeIndices(ArrayRef<TypeIndex> IndexMap);<br>
+<br>
+  static ErrorOr<UdtModSourceLineRecord> deserialize(TypeRecordKind Kind,<br>
+                                                     ArrayRef<uint8_t> &Data) {<br>
+    const Layout *L = nullptr;<br>
+    CV_DESERIALIZE(Data, L);<br>
+<br>
+    return UdtModSourceLineRecord(L->UDT, L->SourceFile, L->LineNumber,<br>
+                                  L->Module);<br>
+  }<br>
+<br>
+  TypeIndex getUDT() const { return UDT; }<br>
+  TypeIndex getSourceFile() const { return SourceFile; }<br>
+  uint32_t getLineNumber() const { return LineNumber; }<br>
+  uint16_t getModule() const { return Module; }<br>
+<br>
+private:<br>
+  struct Layout {<br>
+    TypeIndex UDT;        // The user-defined type<br>
+    TypeIndex SourceFile; // StringID containing the source filename<br>
+    ulittle32_t LineNumber;<br>
+    ulittle16_t Module; // Module that contributes this UDT definition<br>
+  };<br>
+<br>
+  TypeIndex UDT;<br>
+  TypeIndex SourceFile;<br>
+  uint32_t LineNumber;<br>
+  uint16_t Module;<br>
+};<br>
+<br>
 // LF_BUILDINFO<br>
 class BuildInfoRecord : public TypeRecord {<br>
 public:<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecords.def<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecords.def?rev=272843&r1=272842&r2=272843&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecords.def?rev=272843&r1=272842&r2=272843&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecords.def (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecords.def Wed Jun 15 16:25:29 2016<br>
@@ -81,6 +81,7 @@ TYPE_RECORD(LF_BUILDINFO, 0x1603, BuildI<br>
 TYPE_RECORD_ALIAS(LF_SUBSTR_LIST, 0x1604, StringList, ArgList)<br>
 TYPE_RECORD(LF_STRING_ID, 0x1605, StringId)<br>
 TYPE_RECORD(LF_UDT_SRC_LINE, 0x1606, UdtSourceLine)<br>
+TYPE_RECORD(LF_UDT_MOD_SRC_LINE, 0x1607, UdtModSourceLine)<br>
<br>
 TYPE_RECORD(LF_METHODLIST, 0x1206, MethodOverloadList)<br>
<br>
@@ -194,10 +195,6 @@ CV_TYPE(LF_MODIFIER_EX, 0x1518)<br>
 CV_TYPE(LF_VECTOR, 0x151b)<br>
 CV_TYPE(LF_MATRIX, 0x151c)<br>
<br>
-// ID leaf records. Subsequent leaf types may be referenced from .debug$S.<br>
-<br>
-CV_TYPE(LF_UDT_MOD_SRC_LINE, 0x1607)<br>
-<br>
 // Numeric leaf types. These are generally contained in other records, and not<br>
 // encountered in the main type stream.<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h?rev=272843&r1=272842&r2=272843&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h?rev=272843&r1=272842&r2=272843&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h Wed Jun 15 16:25:29 2016<br>
@@ -51,6 +51,7 @@ public:<br>
   TypeIndex writeStringId(const StringIdRecord &Record);<br>
   TypeIndex writeVFTable(const VFTableRecord &Record);<br>
   TypeIndex writeUdtSourceLine(const UdtSourceLineRecord &Record);<br>
+  TypeIndex writeUdtModSourceLine(const UdtModSourceLineRecord &Record);<br>
   TypeIndex writeFuncId(const FuncIdRecord &Record);<br>
   TypeIndex writeMemberFuncId(const MemberFuncIdRecord &Record);<br>
   TypeIndex writeBuildInfo(const BuildInfoRecord &Record);<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/CodeView/TypeDumper.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/TypeDumper.cpp?rev=272843&r1=272842&r2=272843&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/TypeDumper.cpp?rev=272843&r1=272842&r2=272843&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/CodeView/TypeDumper.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/CodeView/TypeDumper.cpp Wed Jun 15 16:25:29 2016<br>
@@ -514,6 +514,14 @@ void CVTypeDumperImpl::visitUdtSourceLin<br>
   W.printNumber("LineNumber", Line.getLineNumber());<br>
 }<br>
<br>
+void CVTypeDumperImpl::visitUdtModSourceLine(TypeLeafKind Leaf,<br>
+                                             UdtModSourceLineRecord &Line) {<br>
+  printTypeIndex("UDT", Line.getUDT());<br>
+  printTypeIndex("SourceFile", Line.getSourceFile());<br></blockquote><div><br></div><div>Er, isn't this going to be an offset into the string table?  I doubt it is actually a type index.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+  W.printNumber("LineNumber", Line.getLineNumber());<br>
+  W.printNumber("Module", Line.getModule());<br>
+}<br>
+<br>
 void CVTypeDumperImpl::visitBuildInfo(TypeLeafKind Leaf,<br>
                                       BuildInfoRecord &Args) {<br>
   W.printNumber("NumArgs", static_cast<uint32_t>(Args.getArgs().size()));<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/CodeView/TypeRecord.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/TypeRecord.cpp?rev=272843&r1=272842&r2=272843&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/TypeRecord.cpp?rev=272843&r1=272842&r2=272843&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/CodeView/TypeRecord.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/CodeView/TypeRecord.cpp Wed Jun 15 16:25:29 2016<br>
@@ -491,6 +491,13 @@ bool UdtSourceLineRecord::remapTypeIndic<br>
   return Success;<br>
 }<br>
<br>
+bool UdtModSourceLineRecord::remapTypeIndices(ArrayRef<TypeIndex> IndexMap) {<br>
+  bool Success = true;<br>
+  Success &= remapIndex(IndexMap, UDT);<br>
+  Success &= remapIndex(IndexMap, SourceFile);<br>
+  return Success;<br>
+}<br>
+<br>
 bool BuildInfoRecord::remapTypeIndices(ArrayRef<TypeIndex> IndexMap) {<br>
   bool Success = true;<br>
   for (TypeIndex &Arg : ArgIndices)<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/CodeView/TypeTableBuilder.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/TypeTableBuilder.cpp?rev=272843&r1=272842&r2=272843&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/TypeTableBuilder.cpp?rev=272843&r1=272842&r2=272843&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/CodeView/TypeTableBuilder.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/CodeView/TypeTableBuilder.cpp Wed Jun 15 16:25:29 2016<br>
@@ -226,7 +226,16 @@ TypeTableBuilder::writeUdtSourceLine(con<br>
 }<br>
<br>
 TypeIndex<br>
-TypeTableBuilder::writeFuncId(const FuncIdRecord &Record) {<br>
+TypeTableBuilder::writeUdtModSourceLine(const UdtModSourceLineRecord &Record) {<br>
+  TypeRecordBuilder Builder(Record.getKind());<br>
+  Builder.writeTypeIndex(Record.getUDT());<br>
+  Builder.writeTypeIndex(Record.getSourceFile());<br>
+  Builder.writeUInt32(Record.getLineNumber());<br>
+  Builder.writeUInt16(Record.getModule());<br>
+  return writeRecord(Builder);<br>
+}<br>
+<br>
+TypeIndex TypeTableBuilder::writeFuncId(const FuncIdRecord &Record) {<br>
   TypeRecordBuilder Builder(Record.getKind());<br>
   Builder.writeTypeIndex(Record.getParentScope());<br>
   Builder.writeTypeIndex(Record.getFunctionType());<br>
<br>
Modified: llvm/trunk/test/DebugInfo/PDB/pdbdump-headers.test<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/PDB/pdbdump-headers.test?rev=272843&r1=272842&r2=272843&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/PDB/pdbdump-headers.test?rev=272843&r1=272842&r2=272843&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/PDB/pdbdump-headers.test (original)<br>
+++ llvm/trunk/test/DebugInfo/PDB/pdbdump-headers.test Wed Jun 15 16:25:29 2016<br>
@@ -153,72 +153,72 @@<br>
 ; EMPTY-NEXT:     Record count: 15<br>
 ; EMPTY-NEXT:     Records [<br>
 ; EMPTY-NEXT:       {<br>
-; EMPTY-NEXT:         UnknownLeaf (0x104B) {<br>
+; EMPTY-NEXT:         UdtModSourceLine (0x104B) {<br>
 ; EMPTY-NEXT:           TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:           UnknownType {<br>
-; EMPTY-NEXT:             Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:             Length: 16<br>
-; EMPTY-NEXT:           }<br>
+; EMPTY-NEXT:           UDT: __vc_attributes::threadingAttribute (0x100B)<br>
+; EMPTY-NEXT:           SourceFile: <unknown simple type> (0x1)<br>
+; EMPTY-NEXT:           LineNumber: 481<br>
+; EMPTY-NEXT:           Module: 1<br>
 ; EMPTY-NEXT:         }<br>
 ; EMPTY-NEXT:         Bytes (<br>
 ; EMPTY-NEXT:           0000: 0B100000 01000000 E1010000 0100F2F1  |................|<br>
 ; EMPTY-NEXT:         )<br>
 ; EMPTY-NEXT:       }<br>
 ; EMPTY-NEXT:       {<br>
-; EMPTY-NEXT:         UnknownLeaf (0x104C) {<br>
+; EMPTY-NEXT:         UdtModSourceLine (0x104C) {<br>
 ; EMPTY-NEXT:           TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:           UnknownType {<br>
-; EMPTY-NEXT:             Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:             Length: 16<br>
-; EMPTY-NEXT:           }<br>
+; EMPTY-NEXT:           UDT: __vc_attributes::event_receiverAttribute (0x1017)<br>
+; EMPTY-NEXT:           SourceFile: <unknown simple type> (0x1)<br>
+; EMPTY-NEXT:           LineNumber: 194<br>
+; EMPTY-NEXT:           Module: 1<br>
 ; EMPTY-NEXT:         }<br>
 ; EMPTY-NEXT:         Bytes (<br>
 ; EMPTY-NEXT:           0000: 17100000 01000000 C2000000 0100F2F1  |................|<br>
 ; EMPTY-NEXT:         )<br>
 ; EMPTY-NEXT:       }<br>
 ; EMPTY-NEXT:       {<br>
-; EMPTY-NEXT:         UnknownLeaf (0x104D) {<br>
+; EMPTY-NEXT:         UdtModSourceLine (0x104D) {<br>
 ; EMPTY-NEXT:           TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:           UnknownType {<br>
-; EMPTY-NEXT:             Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:             Length: 16<br>
-; EMPTY-NEXT:           }<br>
+; EMPTY-NEXT:           UDT: __vc_attributes::aggregatableAttribute (0x1021)<br>
+; EMPTY-NEXT:           SourceFile: <unknown simple type> (0x1)<br>
+; EMPTY-NEXT:           LineNumber: 603<br>
+; EMPTY-NEXT:           Module: 1<br>
 ; EMPTY-NEXT:         }<br>
 ; EMPTY-NEXT:         Bytes (<br>
 ; EMPTY-NEXT:           0000: 21100000 01000000 5B020000 0100F2F1  |!.......[.......|<br>
 ; EMPTY-NEXT:         )<br>
 ; EMPTY-NEXT:       }<br>
 ; EMPTY-NEXT:       {<br>
-; EMPTY-NEXT:         UnknownLeaf (0x104E) {<br>
+; EMPTY-NEXT:         UdtModSourceLine (0x104E) {<br>
 ; EMPTY-NEXT:           TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:           UnknownType {<br>
-; EMPTY-NEXT:             Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:             Length: 16<br>
-; EMPTY-NEXT:           }<br>
+; EMPTY-NEXT:           UDT: __vc_attributes::event_sourceAttribute (0x102C)<br>
+; EMPTY-NEXT:           SourceFile: <unknown simple type> (0x1)<br>
+; EMPTY-NEXT:           LineNumber: 1200<br>
+; EMPTY-NEXT:           Module: 1<br>
 ; EMPTY-NEXT:         }<br>
 ; EMPTY-NEXT:         Bytes (<br>
 ; EMPTY-NEXT:           0000: 2C100000 01000000 B0040000 0100F2F1  |,...............|<br>
 ; EMPTY-NEXT:         )<br>
 ; EMPTY-NEXT:       }<br>
 ; EMPTY-NEXT:       {<br>
-; EMPTY-NEXT:         UnknownLeaf (0x104F) {<br>
+; EMPTY-NEXT:         UdtModSourceLine (0x104F) {<br>
 ; EMPTY-NEXT:           TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:           UnknownType {<br>
-; EMPTY-NEXT:             Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:             Length: 16<br>
-; EMPTY-NEXT:           }<br>
+; EMPTY-NEXT:           UDT: __vc_attributes::moduleAttribute (0x103A)<br>
+; EMPTY-NEXT:           SourceFile: <unknown simple type> (0x1)<br>
+; EMPTY-NEXT:           LineNumber: 540<br>
+; EMPTY-NEXT:           Module: 1<br>
 ; EMPTY-NEXT:         }<br>
 ; EMPTY-NEXT:         Bytes (<br>
 ; EMPTY-NEXT:           0000: 3A100000 01000000 1C020000 0100F2F1  |:...............|<br>
 ; EMPTY-NEXT:         )<br>
 ; EMPTY-NEXT:       }<br>
 ; EMPTY-NEXT:       {<br>
-; EMPTY-NEXT:         UnknownLeaf (0x1050) {<br>
+; EMPTY-NEXT:         UdtModSourceLine (0x1050) {<br>
 ; EMPTY-NEXT:           TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:           UnknownType {<br>
-; EMPTY-NEXT:             Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; EMPTY-NEXT:             Length: 16<br>
-; EMPTY-NEXT:           }<br>
+; EMPTY-NEXT:           UDT: __vc_attributes::helper_attributes::usageAttribute (0x1042)<br>
+; EMPTY-NEXT:           SourceFile: <unknown simple type> (0x1)<br>
+; EMPTY-NEXT:           LineNumber: 108<br>
+; EMPTY-NEXT:           Module: 1<br>
 ; EMPTY-NEXT:         }<br>
 ; EMPTY-NEXT:         Bytes (<br>
 ; EMPTY-NEXT:           0000: 42100000 01000000 6C000000 0100F2F1  |B.......l.......|<br>
@@ -1003,66 +1003,66 @@<br>
 ; ALL:   Record count: 15<br>
 ; ALL:   Records [<br>
 ; ALL:     {<br>
-; ALL:       UnknownLeaf (0x104B) {<br>
+; ALL:       UdtModSourceLine (0x104B) {<br>
 ; ALL:         TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:         UnknownType {<br>
-; ALL:           Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:           Length: 16<br>
-; ALL:         }<br>
+; ALL:         UDT: __vc_attributes::threadingAttribute (0x100B)<br>
+; ALL:         SourceFile: <unknown simple type> (0x1)<br>
+; ALL:         LineNumber: 481<br>
+; ALL:         Module: 1<br>
 ; ALL:       }<br>
 ; ALL:     }<br>
 ; ALL:     {<br>
-; ALL:       UnknownLeaf (0x104C) {<br>
+; ALL:       UdtModSourceLine (0x104C) {<br>
 ; ALL:         TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:         UnknownType {<br>
-; ALL:           Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:           Length: 16<br>
-; ALL:         }<br>
+; ALL:         UDT: __vc_attributes::event_receiverAttribute (0x1017)<br>
+; ALL:         SourceFile: <unknown simple type> (0x1)<br>
+; ALL:         LineNumber: 194<br>
+; ALL:         Module: 1<br>
 ; ALL:       }<br>
 ; ALL:     }<br>
 ; ALL:     {<br>
-; ALL:       UnknownLeaf (0x104D) {<br>
+; ALL:       UdtModSourceLine (0x104D) {<br>
 ; ALL:         TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:         UnknownType {<br>
-; ALL:           Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:           Length: 16<br>
-; ALL:         }<br>
+; ALL:         UDT: __vc_attributes::aggregatableAttribute (0x1021)<br>
+; ALL:         SourceFile: <unknown simple type> (0x1)<br>
+; ALL:         LineNumber: 603<br>
+; ALL:         Module: 1<br>
 ; ALL:       }<br>
 ; ALL:     }<br>
 ; ALL:     {<br>
-; ALL:       UnknownLeaf (0x104E) {<br>
+; ALL:       UdtModSourceLine (0x104E) {<br>
 ; ALL:         TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:         UnknownType {<br>
-; ALL:           Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:           Length: 16<br>
-; ALL:         }<br>
+; ALL:         UDT: __vc_attributes::event_sourceAttribute (0x102C)<br>
+; ALL:         SourceFile: <unknown simple type> (0x1)<br>
+; ALL:         LineNumber: 1200<br>
+; ALL:         Module: 1<br>
 ; ALL:       }<br>
 ; ALL:     }<br>
 ; ALL:     {<br>
-; ALL:       UnknownLeaf (0x104F) {<br>
+; ALL:       UdtModSourceLine (0x104F) {<br>
 ; ALL:         TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:         UnknownType {<br>
-; ALL:           Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:           Length: 16<br>
-; ALL:         }<br>
+; ALL:         UDT: __vc_attributes::moduleAttribute (0x103A)<br>
+; ALL:         SourceFile: <unknown simple type> (0x1)<br>
+; ALL:         LineNumber: 540<br>
+; ALL:         Module: 1<br>
 ; ALL:       }<br>
 ; ALL:     }<br>
 ; ALL:     {<br>
-; ALL:       UnknownLeaf (0x1050) {<br>
+; ALL:       UdtModSourceLine (0x1050) {<br>
 ; ALL:         TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:         UnknownType {<br>
-; ALL:           Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:           Length: 16<br>
-; ALL:         }<br>
+; ALL:         UDT: __vc_attributes::helper_attributes::usageAttribute (0x1042)<br>
+; ALL:         SourceFile: <unknown simple type> (0x1)<br>
+; ALL:         LineNumber: 108<br>
+; ALL:         Module: 1<br>
 ; ALL:       }<br>
 ; ALL:     }<br>
 ; ALL:     {<br>
-; ALL:       UnknownLeaf (0x1051) {<br>
+; ALL:       UdtModSourceLine (0x1051) {<br>
 ; ALL:         TypeLeafKind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:         UnknownType {<br>
-; ALL:           Kind: LF_UDT_MOD_SRC_LINE (0x1607)<br>
-; ALL:           Length: 16<br>
-; ALL:         }<br>
+; ALL:         UDT: __vc_attributes::helper_attributes::v1_alttypeAttribute (0x104A)<br>
+; ALL:         SourceFile: <unknown simple type> (0x1)<br>
+; ALL:         LineNumber: 96<br>
+; ALL:         Module: 1<br>
 ; ALL:       }<br>
 ; ALL:     }<br>
 ; ALL:     {<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>