[llvm-extract] Drop comdats from declarations
[oota-llvm.git] / test / Other / extract.ll
1 ; RUN: llvm-extract -func foo -S < %s | FileCheck %s
2 ; RUN: llvm-extract -delete -func foo -S < %s | FileCheck --check-prefix=DELETE %s
3 ; RUN: llvm-as < %s > %t
4 ; RUN: llvm-extract -func foo -S %t | FileCheck %s
5 ; RUN: llvm-extract -delete -func foo -S %t | FileCheck --check-prefix=DELETE %s
6
7 ; llvm-extract uses lazy bitcode loading, so make sure it correctly reads
8 ; from bitcode files in addition to assembly files.
9
10 ; CHECK: define hidden void @foo() comdat($x) {
11 ; CHECK:   ret void
12 ; CHECK: }
13
14 ; The private linkage for foo() should be changed to external linkage and
15 ; hidden visibility added.
16 ; DELETE: declare hidden void @foo()
17 ; DELETE-NOT: comdat
18 ; DELETE: define void @bar() {
19 ; DELETE:   call void @foo()
20 ; DELETE:   ret void
21 ; DELETE: }
22
23 $x = comdat any
24
25 define private void @foo() comdat($x) {
26   ret void
27 }
28 define void @bar() {
29   call void @foo()
30   ret void
31 }