<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>