mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-13 23:18:51 +00:00
d7bb2de671
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264192 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
686 B
LLVM
17 lines
686 B
LLVM
; 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 --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
|
|
}
|