1*67e74705SXin Li // RUN: %clang_cc1 -triple i386-pc-linux-gnu -emit-llvm -o %t %s 2*67e74705SXin Li 3*67e74705SXin Li // RUN: grep '@g0_ext = extern_weak global i32' %t 4*67e74705SXin Li extern int g0_ext __attribute__((weak)); 5*67e74705SXin Li // RUN: grep 'declare extern_weak i32 @g1_ext()' %t 6*67e74705SXin Li extern int __attribute__((weak)) g1_ext (void); 7*67e74705SXin Li 8*67e74705SXin Li // RUN: grep '@g0_common = weak global i32' %t 9*67e74705SXin Li int g0_common __attribute__((weak)); 10*67e74705SXin Li 11*67e74705SXin Li // RUN: grep '@g0_def = weak global i32' %t 12*67e74705SXin Li int g0_def __attribute__((weak)) = 52; 13*67e74705SXin Li // RUN: grep 'define weak i32 @g1_def()' %t g1_def(void)14*67e74705SXin Liint __attribute__((weak)) g1_def (void) { return 0; } 15*67e74705SXin Li 16*67e74705SXin Li // Force _ext references f0()17*67e74705SXin Livoid f0() { 18*67e74705SXin Li int a = g0_ext; 19*67e74705SXin Li int b = g1_ext(); 20*67e74705SXin Li } 21*67e74705SXin Li 22