mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-28 16:28:58 +00:00

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
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
|
|
}
|