1*4b566933SEric Astor; RUN: llvm-ml %s /Fo - | llvm-readobj --section-headers - | FileCheck %s 2*4b566933SEric Astor 3*4b566933SEric Astort1 SEGMENT BYTE 4*4b566933SEric Astort1 ENDS 5*4b566933SEric Astor; CHECK-LABEL: Name: t1 6*4b566933SEric Astor; CHECK-NOT: } 7*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_1BYTES 8*4b566933SEric Astor 9*4b566933SEric Astort2 SEGMENT WORD 10*4b566933SEric Astort2 ENDS 11*4b566933SEric Astor; CHECK-LABEL: Name: t2 12*4b566933SEric Astor; CHECK-NOT: } 13*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_2BYTES 14*4b566933SEric Astor 15*4b566933SEric Astort3 SEGMENT DWORD 16*4b566933SEric Astort3 ENDS 17*4b566933SEric Astor; CHECK-LABEL: Name: t3 18*4b566933SEric Astor; CHECK-NOT: } 19*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_4BYTES 20*4b566933SEric Astor 21*4b566933SEric Astort4 SEGMENT PARA 22*4b566933SEric Astort4 ENDS 23*4b566933SEric Astor; CHECK-LABEL: Name: t4 24*4b566933SEric Astor; CHECK-NOT: } 25*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_16BYTES 26*4b566933SEric Astor 27*4b566933SEric Astort5 SEGMENT PAGE 28*4b566933SEric Astort5 ENDS 29*4b566933SEric Astor; CHECK-LABEL: Name: t5 30*4b566933SEric Astor; CHECK-NOT: } 31*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_256BYTES 32*4b566933SEric Astor 33*4b566933SEric Astor; Default alignment (should match PARA) 34*4b566933SEric Astort6 SEGMENT 35*4b566933SEric Astort6 ENDS 36*4b566933SEric Astor; CHECK-LABEL: Name: t6 37*4b566933SEric Astor; CHECK-NOT: } 38*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_16BYTES 39*4b566933SEric Astor 40*4b566933SEric Astor; Unnamed alignment 41*4b566933SEric Astort7 SEGMENT ALIGN(32) 42*4b566933SEric Astort7 ENDS 43*4b566933SEric Astor; CHECK-LABEL: Name: t7 44*4b566933SEric Astor; CHECK-NOT: } 45*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_32BYTES 46*4b566933SEric Astor 47*4b566933SEric Astort8 SEGMENT ALIAS('t8_alias') 48*4b566933SEric Astort8 ENDS 49*4b566933SEric Astor; CHECK-LABEL: Name: t8_alias 50*4b566933SEric Astor 51*4b566933SEric Astort9 SEGMENT 'DATA' 52*4b566933SEric Astort9 ENDS 53*4b566933SEric Astor; CHECK-LABEL: Name: t9 54*4b566933SEric Astor; CHECK-NOT: } 55*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA 56*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 57*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE 58*4b566933SEric Astor; CHECK: } 59*4b566933SEric Astor 60*4b566933SEric Astort10 SEGMENT 'CODE' 61*4b566933SEric Astort10 ENDS 62*4b566933SEric Astor; CHECK-LABEL: Name: t10 63*4b566933SEric Astor; CHECK-NOT: } 64*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE 65*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_CODE 66*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE 67*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 68*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE 69*4b566933SEric Astor; CHECK: } 70*4b566933SEric Astor 71*4b566933SEric Astort11 SEGMENT 'CONST' 72*4b566933SEric Astort11 ENDS 73*4b566933SEric Astor; CHECK-LABEL: Name: t11 74*4b566933SEric Astor; CHECK-NOT: } 75*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA 76*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 77*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE 78*4b566933SEric Astor; CHECK: } 79*4b566933SEric Astor 80*4b566933SEric Astort12 SEGMENT 'STACK' 81*4b566933SEric Astort12 ENDS 82*4b566933SEric Astor; CHECK-LABEL: Name: t12 83*4b566933SEric Astor; CHECK-NOT: } 84*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA 85*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 86*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE 87*4b566933SEric Astor; CHECK: } 88*4b566933SEric Astor 89*4b566933SEric Astort13 SEGMENT 'DOESNTEXIST' 90*4b566933SEric Astort13 ENDS 91*4b566933SEric Astor; CHECK-LABEL: Name: t13 92*4b566933SEric Astor; CHECK-NOT: } 93*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA 94*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 95*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE 96*4b566933SEric Astor; CHECK: } 97*4b566933SEric Astor 98*4b566933SEric Astort14 SEGMENT READONLY 'CONST' 99*4b566933SEric Astort14 ENDS 100*4b566933SEric Astor; CHECK-LABEL: Name: t14 101*4b566933SEric Astor; CHECK-NOT: } 102*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE 103*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA 104*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 105*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE 106*4b566933SEric Astor; CHECK: } 107*4b566933SEric Astor 108*4b566933SEric Astort15 SEGMENT WRITE 109*4b566933SEric Astort15 ENDS 110*4b566933SEric Astor; CHECK-LABEL: Name: t15 111*4b566933SEric Astor; CHECK-NOT: } 112*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_READ 113*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA 114*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE 115*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_READ 116*4b566933SEric Astor; CHECK: } 117*4b566933SEric Astor 118*4b566933SEric Astort16 SEGMENT SHARED NOPAGE NOCACHE INFO READ WRITE EXECUTE DISCARD 119*4b566933SEric Astort16 ENDS 120*4b566933SEric Astor; CHECK-LABEL: Name: t16 121*4b566933SEric Astor; CHECK-NOT: } 122*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_LNK_INFO 123*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 124*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE 125*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE 126*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_SHARED 127*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_NOT_PAGED 128*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_NOT_CACHED 129*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_DISCARDABLE 130*4b566933SEric Astor; CHECK: } 131*4b566933SEric Astor 132*4b566933SEric Astor_TEXT SEGMENT 133*4b566933SEric Astor_TEXT ENDS 134*4b566933SEric Astor; CHECK-LABEL: Name: .text 135*4b566933SEric Astor; CHECK-NOT: } 136*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE 137*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_CODE 138*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE 139*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ 140*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE 141*4b566933SEric Astor; CHECK: } 142*4b566933SEric Astor 143*4b566933SEric AstorEND 144