1 // RUN: %clang_cc1 -triple=i686-pc-linux-gnu -emit-llvm %s -o - | FileCheck %s --check-prefix=LINUX
2 // RUN: %clang_cc1 -triple=i686-apple-darwin9 -emit-llvm %s -o - | FileCheck %s --check-prefix=DARWIN
3
4 char *strerror(int) asm("alias");
5 int x __asm("foo");
6
test(void)7 int *test(void) {
8 static int y __asm("bar");
9 strerror(-1);
10 return &y;
11 }
12
13 // LINUX: @bar = internal global i32 0
14 // LINUX: @foo = common global i32 0
15 // LINUX: declare i8* @alias(i32)
16
17 // DARWIN: @"\01bar" = internal global i32 0
18 // DARWIN: @"\01foo" = common global i32 0
19 // DARWIN: declare i8* @"\01alias"(i32)
20
21 // PR7887
22 int pr7887_1 asm("");
23 extern int pr7887_2 asm("");
24 int pr7887_3 () asm("");
25
pt7887_4()26 int pt7887_4 () {
27 static int y asm("");
28 y = pr7887_3();
29 pr7887_2 = 1;
30 return pr7887_1;
31 }
32