1; RUN: llc -mtriple=x86_64-apple-darwin11 -O0 < %s | FileCheck %s
2; RUN: llc -mtriple=x86_64-apple-darwin10 -O0 < %s | FileCheck %s
3; RUN: llc -mtriple=x86_64-apple-darwin9 -O0 < %s | FileCheck --check-prefix=CHECK-D89 %s
4; RUN: llc -mtriple=i686-apple-darwin9 -O0 < %s | FileCheck --check-prefix=CHECK-D89 %s
5; RUN: llc -mtriple=i686-apple-darwin8 -O0 < %s | FileCheck --check-prefix=CHECK-D89 %s
6
7@v1 = linkonce_odr local_unnamed_addr constant i32 32
8; CHECK: .globl  _v1
9; CHECK: .weak_def_can_be_hidden _v1
10
11; CHECK-D89: .globl  _v1
12; CHECK-D89: .weak_definition _v1
13
14define i32 @f1() {
15  %x = load i32 , i32 * @v1
16  ret i32 %x
17}
18
19@v2 = linkonce_odr constant i32 32
20; CHECK: .globl  _v2
21; CHECK: .weak_definition _v2
22
23; CHECK-D89: .globl  _v2
24; CHECK-D89: .weak_definition _v2
25
26define i32* @f2() {
27  ret i32* @v2
28}
29
30@v3 = linkonce_odr unnamed_addr constant i32 32
31; CHECK: .globl  _v3
32; CHECK: .weak_def_can_be_hidden _v3
33
34; CHECK-D89: .globl  _v3
35; CHECK-D89: .weak_definition _v3
36
37define i32* @f3() {
38  ret i32* @v3
39}
40
41@v4 = linkonce_odr unnamed_addr global i32 32
42; CHECK: .globl  _v4
43; CHECK: .weak_def_can_be_hidden _v4
44
45; CHECK-D89: .globl  _v4
46; CHECK-D89: .weak_definition _v4
47
48define i32 @f4() {
49  %x = load i32 , i32 * @v4
50  ret i32 %x
51}
52