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