1; RUN: llvm-link %s %p/Inputs/visibility.ll -S | FileCheck %s
2; RUN: llvm-link %p/Inputs/visibility.ll %s -S | FileCheck %s
3
4; The values in this file are strong, the ones in Inputs/visibility.ll are weak,
5; but we should still get the visibility from them.
6
7
8$c1 = comdat any
9
10; Variables
11; CHECK-DAG: @v1 = hidden global i32 0
12@v1 = global i32 0
13
14; CHECK-DAG: @v2 = protected  global i32 0
15@v2 = global i32 0
16
17; CHECK-DAG: @v3 = hidden global i32 0
18@v3 = protected global i32 0
19
20; CHECK-DAG: @v4 = hidden global i32 1, comdat($c1)
21@v4 = global i32 1, comdat($c1)
22
23; Aliases
24; CHECK: @a1 = hidden alias i32, i32* @v1
25@a1 = alias i32, i32* @v1
26
27; CHECK: @a2 = protected alias i32, i32* @v2
28@a2 = alias i32, i32* @v2
29
30; CHECK: @a3 = hidden alias i32, i32* @v3
31@a3 = protected alias i32, i32* @v3
32
33
34; Functions
35; CHECK: define hidden void @f1()
36define void @f1()  {
37entry:
38  ret void
39}
40
41; CHECK: define protected void @f2()
42define void @f2()  {
43entry:
44  ret void
45}
46
47; CHECK: define hidden void @f3()
48define protected void @f3()  {
49entry:
50  ret void
51}
52