diff options
author | Adrian Prantl <aprantl@apple.com> | 2016-01-19 18:02:47 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2016-01-19 18:02:47 +0000 |
commit | e5238d2a82448674567cb47f7ca0486f36c028a9 (patch) | |
tree | 00be5bed8c158470407fb4b6baf98c30289586b2 /clang/test/Modules/ExtDebugInfo.cpp | |
parent | b541a3488fe5713ce2b32c0ae3dda15ee7984b26 (diff) | |
download | bcm5719-llvm-e5238d2a82448674567cb47f7ca0486f36c028a9.tar.gz bcm5719-llvm-e5238d2a82448674567cb47f7ca0486f36c028a9.zip |
Module Debugging: Defer the emission of anonymous tag decls
until we are visiting their declcontext.
This fixes a regression introduced in r256962:
When building debug info for a typdef'd anonymous tag type, we would be
visiting the inner anonymous type first thus creating a "typedef changes
linkage of anonymous type, but linkage was already computed" error.
rdar://problem/24199640
llvm-svn: 258152
Diffstat (limited to 'clang/test/Modules/ExtDebugInfo.cpp')
-rw-r--r-- | clang/test/Modules/ExtDebugInfo.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/Modules/ExtDebugInfo.cpp b/clang/test/Modules/ExtDebugInfo.cpp index b255042cbfe..b0bca88b89e 100644 --- a/clang/test/Modules/ExtDebugInfo.cpp +++ b/clang/test/Modules/ExtDebugInfo.cpp @@ -35,6 +35,10 @@ enum { auto anon_enum = DebugCXX::e2; char _anchor = anon_enum + conflicting_uid; +TypedefUnion tdu; +TypedefEnum tde; +TypedefStruct tds; + // CHECK: ![[NS:.*]] = !DINamespace(name: "DebugCXX", scope: ![[MOD:[0-9]+]], // CHECK: ![[MOD]] = !DIModule(scope: null, name: {{.*}}DebugCXX @@ -62,6 +66,13 @@ char _anchor = anon_enum + conflicting_uid; // CHECK-SAME: flags: DIFlagFwdDecl, // CHECK-SAME: identifier: "_ZTSN8DebugCXX8TemplateIfNS_6traitsIfEEEE") +// CHECK: !DICompositeType(tag: DW_TAG_union_type, +// CHECK-SAME: flags: DIFlagFwdDecl, identifier: "_ZTS12TypedefUnion") +// CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, +// CHECK-SAME: flags: DIFlagFwdDecl, identifier: "_ZTS11TypedefEnum") +// CHECK: !DICompositeType(tag: DW_TAG_structure_type, +// CHECK-SAME: flags: DIFlagFwdDecl, identifier: "_ZTS13TypedefStruct") + // CHECK: !DIDerivedType(tag: DW_TAG_member, name: "static_member", // CHECK-SAME: scope: !"_ZTSN8DebugCXX6StructE" |