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