summaryrefslogtreecommitdiffstats
path: root/llvm/test/Linker/constructor-comdat.ll
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-03-23 21:16:33 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-03-23 21:16:33 +0000
commitf2e71244c6274984c33df9a58a78fcf71218ee21 (patch)
treea2dbe36cac4b3a6134c50acd38d58a629d4153c3 /llvm/test/Linker/constructor-comdat.ll
parent3c0bc9697a97cb4d1e50423b28419eb3fa80b7de (diff)
downloadbcm5719-llvm-f2e71244c6274984c33df9a58a78fcf71218ee21.tar.gz
bcm5719-llvm-f2e71244c6274984c33df9a58a78fcf71218ee21.zip
Fix logic for which symbols to keep with comdats.
If a comdat is dropped, all symbols in it are dropped. If a comdat is kept, the symbols survive to pass regular symbol resolution. With this patch we do that for all global symbols. The added test is a copy of test/tools/gold/X86/comdat.ll that we now pass. llvm-svn: 264192
Diffstat (limited to 'llvm/test/Linker/constructor-comdat.ll')
-rw-r--r--llvm/test/Linker/constructor-comdat.ll5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/test/Linker/constructor-comdat.ll b/llvm/test/Linker/constructor-comdat.ll
index e62990157a9..0e8fc440f20 100644
--- a/llvm/test/Linker/constructor-comdat.ll
+++ b/llvm/test/Linker/constructor-comdat.ll
@@ -1,13 +1,16 @@
; RUN: llvm-link %s %p/Inputs/constructor-comdat.ll -S -o - 2>&1 | FileCheck %s
-; RUN: llvm-link %p/Inputs/constructor-comdat.ll %s -S -o - 2>&1 | FileCheck %s
+; RUN: llvm-link %p/Inputs/constructor-comdat.ll %s -S -o - 2>&1 | FileCheck --check-prefix=NOCOMDAT %s
$_ZN3fooIiEC5Ev = comdat any
; CHECK: $_ZN3fooIiEC5Ev = comdat any
+; NOCOMDAT-NOT: comdat
@_ZN3fooIiEC1Ev = weak_odr alias void (), void ()* @_ZN3fooIiEC2Ev
; CHECK: @_ZN3fooIiEC1Ev = weak_odr alias void (), void ()* @_ZN3fooIiEC2Ev
+; NOCOMDAT-DAG: define weak_odr void @_ZN3fooIiEC1Ev() {
; CHECK: define weak_odr void @_ZN3fooIiEC2Ev() comdat($_ZN3fooIiEC5Ev) {
+; NOCOMDAT-DAG: define weak_odr void @_ZN3fooIiEC2Ev() {
define weak_odr void @_ZN3fooIiEC2Ev() comdat($_ZN3fooIiEC5Ev) {
ret void
}
OpenPOWER on IntegriCloud