diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-04-23 21:08:27 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-04-23 21:08:27 +0000 |
commit | 4a0e8aa964fd08a1ca5b43e5d1db7dfe41892460 (patch) | |
tree | 6d9c4b2b553f3a08fef1d6bbbb006d9074d4cda1 /test/CodeGenCXX/debug-info-template-explicit-specialization.cpp | |
parent | c55453dc24d3f07065739a9f99a9b1fcad6715c9 (diff) |
DebugInfo: Adapt to loss of DITypeRef in LLVM r267296
LLVM stopped using MDString-based type references, and DIBuilder no
longer fills 'retainedTypes:' with every DICompositeType that has an
'identifier:' field. There are just minor changes to keep the same
behaviour in CFE.
Leaving 'retainedTypes:' unfilled has a dramatic impact on the output
order of the IR though. There are a huge number of testcase changes,
which were unfortunately not really scriptable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267297 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/debug-info-template-explicit-specialization.cpp')
-rw-r--r-- | test/CodeGenCXX/debug-info-template-explicit-specialization.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp b/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp index 04c63ae2ff..08146c2526 100644 --- a/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp +++ b/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp @@ -6,6 +6,11 @@ // LINES-ONLY-NOT: !DICompositeType(tag: DW_TAG_structure_type +// "h" is at the top because it's in the compile unit's retainedTypes: list. +// CHECK: DICompositeType(tag: DW_TAG_structure_type, name: "h<int>" +// CHECK-NOT: DIFlagFwdDecl +// CHECK-SAME: ){{$}} + template <typename T> struct a { }; @@ -85,9 +90,6 @@ template <typename T> struct h { }; template class h<int>; -// CHECK: DICompositeType(tag: DW_TAG_structure_type, name: "h<int>" -// CHECK-NOT: DIFlagFwdDecl -// CHECK-SAME: ){{$}} template <typename T> struct i { |