1; RUN: llvm-as < %s | llc -mtriple=i386-unknown-linux-gnu | FileCheck %s -check-prefix=LINUX 2; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin9.7 | FileCheck %s -check-prefix=DARWIN 3 4 5; int G1; 6@G1 = common global i32 0 7 8; LINUX: .type G1,@object 9; LINUX: .section .gnu.linkonce.b.G1,"aw",@nobits 10; LINUX: .comm G1,4,4 11 12; DARWIN: .comm _G1,4,2 13 14 15 16 17; const int G2 __attribute__((weak)) = 42; 18@G2 = weak_odr constant i32 42 19 20 21; TODO: linux drops this into .rodata, we drop it into ".gnu.linkonce.r.G2" 22 23; DARWIN: .section __TEXT,__const_coal,coalesced 24; DARWIN: _G2: 25; DARWIN: .long 42 26 27 28; int * const G3 = &G1; 29@G3 = constant i32* @G1 30 31; DARWIN: .const_data 32; DARWIN: .globl _G3 33; DARWIN: _G3: 34; DARWIN: .long _G1 35 36 37; _Complex long long const G4 = 34; 38@G4 = constant {i64,i64} { i64 34, i64 0 } 39 40; DARWIN: .const 41; DARWIN: _G4: 42; DARWIN: .long 34 43 44 45; int G5 = 47; 46@G5 = global i32 47 47 48; LINUX: .data 49; LINUX: .globl G5 50; LINUX: G5: 51; LINUX: .long 47 52 53; DARWIN: .data 54; DARWIN: .globl _G5 55; DARWIN: _G5: 56; DARWIN: .long 47 57 58 59; PR4584 60@"foo bar" = linkonce global i32 42 61 62; LINUX: .type foo_20_bar,@object 63; LINUX:.section .gnu.linkonce.d.foo_20_bar,"aw",@progbits 64; LINUX: .weak foo_20_bar 65; LINUX: foo_20_bar: 66 67; DARWIN: .section __DATA,__datacoal_nt,coalesced 68; DARWIN: .globl "_foo bar" 69; DARWIN: .weak_definition "_foo bar" 70; DARWIN: "_foo bar": 71 72; PR4650 73@G6 = weak_odr constant [1 x i8] c"\01" 74 75; LINUX: .type G6,@object 76; LINUX: .section .gnu.linkonce.r.G6,"a",@progbits 77; LINUX: .weak G6 78; LINUX: G6: # G6 79; LINUX: .size G6, 1 80; LINUX: .ascii "\001" 81 82; DARWIN: .section __TEXT,__const_coal,coalesced 83; DARWIN: .globl _G6 84; DARWIN: .weak_definition _G6 85; DARWIN:_G6: 86; DARWIN: .ascii "\001" 87 88