summaryrefslogtreecommitdiff
path: root/test/Linker/type-unique-odr-a.ll
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-17 02:30:20 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-17 02:30:20 +0000
commit12a8b1475d25c2ca9888aa6cdeeaf3028bcc7cca (patch)
tree49ffd4f6c9b8e1ade8a30c3f3db241b68c44f545 /test/Linker/type-unique-odr-a.ll
parent9e15d9af12be5f581e639fb8a33d182bda4682ac (diff)
IR: Use ODR to unique DICompositeType members
Merge members that are describing the same member of the same ODR type, even if other bits differ. If the file or line differ, we don't care; if anything else differs, it's an ODR violation (and we still don't really care). For DISubprogram declarations, this looks at the LinkageName and Scope. For DW_TAG_member instances of DIDerivedType, this looks at the Name and Scope. In both cases, we know that the Scope follows ODR rules if it has a non-empty identifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266548 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Linker/type-unique-odr-a.ll')
-rw-r--r--test/Linker/type-unique-odr-a.ll4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/Linker/type-unique-odr-a.ll b/test/Linker/type-unique-odr-a.ll
index eeb1db763eb..d7640ea761c 100644
--- a/test/Linker/type-unique-odr-a.ll
+++ b/test/Linker/type-unique-odr-a.ll
@@ -4,6 +4,10 @@
; RUN: | %llc_dwarf -dwarf-linkage-names=Enable -filetype=obj -O0 \
; RUN: | llvm-dwarfdump -debug-dump=info - \
; RUN: | FileCheck %s
+; RUN: llvm-link %p/type-unique-odr-b.ll %s -S -o - \
+; RUN: | %llc_dwarf -dwarf-linkage-names=Enable -filetype=obj -O0 \
+; RUN: | llvm-dwarfdump -debug-dump=info - \
+; RUN: | FileCheck %s
;
; Test ODR-based type uniquing for C++ class members.
; rdar://problem/15851313.