1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple i386-pc-win32 -filetype=obj %s | llvm-readobj -s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-readobj -s | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker.section .foo$bar; .long 1 5*9880d681SAndroid Build Coastguard Worker.section .foo@bar; .long 1 6*9880d681SAndroid Build Coastguard Worker.section ABCDEFGHIJKLMNOPQRSTUVWXYZ; .long 1 7*9880d681SAndroid Build Coastguard Worker.section abcdefghijklmnopqrstuvwxyz; .long 1 8*9880d681SAndroid Build Coastguard Worker.section _0123456789; .long 1 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker// CHECK: Sections [ 11*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 12*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .foo$bar 13*9880d681SAndroid Build Coastguard Worker// CHECK: } 14*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 15*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .foo@bar 16*9880d681SAndroid Build Coastguard Worker// CHECK: } 17*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 18*9880d681SAndroid Build Coastguard Worker// CHECK: Name: ABCDEFGHIJKLMNOPQRSTUVWXYZ 19*9880d681SAndroid Build Coastguard Worker// CHECK: } 20*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 21*9880d681SAndroid Build Coastguard Worker// CHECK: Name: abcdefghijklmnopqrstuvwxyz 22*9880d681SAndroid Build Coastguard Worker// CHECK: } 23*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 24*9880d681SAndroid Build Coastguard Worker// CHECK: Name: _0123456789 25*9880d681SAndroid Build Coastguard Worker// CHECK: } 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Worker// Test that the defaults are used 28*9880d681SAndroid Build Coastguard Worker.section s ; .long 1 29*9880d681SAndroid Build Coastguard Worker.section s_, "" ; .long 1 30*9880d681SAndroid Build Coastguard Worker.section s_a,"a"; .long 1 31*9880d681SAndroid Build Coastguard Worker.section s_b,"b"; .long 1 32*9880d681SAndroid Build Coastguard Worker.section s_d,"d"; .long 1 33*9880d681SAndroid Build Coastguard Worker.section s_n,"n"; .long 1 34*9880d681SAndroid Build Coastguard Worker.section s_r,"r"; .long 1 35*9880d681SAndroid Build Coastguard Worker.section s_s,"s"; .long 1 36*9880d681SAndroid Build Coastguard Worker.section s_w,"w"; .long 1 37*9880d681SAndroid Build Coastguard Worker.section s_x,"x"; .long 1 38*9880d681SAndroid Build Coastguard Worker.section s_y,"y"; .long 1 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 41*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s 42*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 43*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 48*9880d681SAndroid Build Coastguard Worker// CHECK: } 49*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 50*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_ 51*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 52*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 53*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 54*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 55*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 56*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 57*9880d681SAndroid Build Coastguard Worker// CHECK: } 58*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 59*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_a 60*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 61*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 62*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 63*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 64*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 65*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 66*9880d681SAndroid Build Coastguard Worker// CHECK: } 67*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 68*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_b 69*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 70*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 71*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_UNINITIALIZED_DATA 72*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 73*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 74*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 75*9880d681SAndroid Build Coastguard Worker// CHECK: } 76*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 77*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_d 78*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 79*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 80*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 81*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 82*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 83*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 84*9880d681SAndroid Build Coastguard Worker// CHECK: } 85*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 86*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_n 87*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 88*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 89*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_LNK_REMOVE 90*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 91*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 92*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 93*9880d681SAndroid Build Coastguard Worker// CHECK: } 94*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 95*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_r 96*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 97*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 98*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 99*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 100*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 101*9880d681SAndroid Build Coastguard Worker// CHECK: } 102*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 103*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_s 104*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 105*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 106*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 107*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 108*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_SHARED 109*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 110*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 111*9880d681SAndroid Build Coastguard Worker// CHECK: } 112*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 113*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_w 114*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 115*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 116*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 117*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 118*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 119*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 120*9880d681SAndroid Build Coastguard Worker// CHECK: } 121*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 122*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_x 123*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 124*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 125*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_CODE 126*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_EXECUTE 127*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 128*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 129*9880d681SAndroid Build Coastguard Worker// CHECK: } 130*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 131*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_y 132*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 133*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 134*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 135*9880d681SAndroid Build Coastguard Worker// CHECK: } 136*9880d681SAndroid Build Coastguard Worker 137*9880d681SAndroid Build Coastguard Worker// w makes read-only to readable 138*9880d681SAndroid Build Coastguard Worker.section s_rw,"rw"; .long 1 139*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 140*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_rw 141*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 142*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 143*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 144*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 145*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_WRITE 146*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 147*9880d681SAndroid Build Coastguard Worker// CHECK: } 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Worker// r cancels w 150*9880d681SAndroid Build Coastguard Worker.section s_wr,"wr"; .long 1 151*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 152*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_wr 153*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 154*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 155*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 156*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_MEM_READ 157*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 158*9880d681SAndroid Build Coastguard Worker// CHECK: } 159*9880d681SAndroid Build Coastguard Worker 160*9880d681SAndroid Build Coastguard Worker// y cancels both 161*9880d681SAndroid Build Coastguard Worker.section s_rwy,"rwy"; .long 1 162*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 163*9880d681SAndroid Build Coastguard Worker// CHECK: Name: s_rwy 164*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 165*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES 166*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA 167*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 168*9880d681SAndroid Build Coastguard Worker// CHECK: } 169*9880d681SAndroid Build Coastguard Worker 170*9880d681SAndroid Build Coastguard Worker// CHECK: ] 171