2018-01-27 02:52:58 +08:00
; REQUIRES: object-emission
; RUN: %llc_dwarf -filetype=obj < %s | llvm-dwarfdump -all -show-form -v - \
; RUN: | FileCheck %s
;
; Generated from the following source with clang -S -emit-llvm -gdwarf-5.
;
; enum E {
; econst1,
; econst2,
; ...
; econst254
; } glob;
;
; This test verifies that we generate DW_FORM_strx2 for indexed strings properly.
; Check that the first usage of DW_FORM_strx2 is with index 256.
;
; CHECK: .debug_info contents:
; CHECK-NOT: DW_FORM_strx2
2018-12-22 16:43:08 +08:00
; CHECK: DW_AT_name [DW_FORM_strx2] (indexed (00000100) string =
2018-01-27 02:52:58 +08:00
; ModuleID = 'enum.cpp'
source_filename = "enum.cpp"
@glob = global i32 0 , align 4 , !dbg !0
!llvm.dbg.cu = ! { !2 }
!llvm.module.flags = ! { !260 , !261 , !262 }
!llvm.ident = ! { !263 }
!0 = !DIGlobalVariableExpression ( var: !1 , expr: !DIExpression ( ) )
!1 = distinct !DIGlobalVariable ( name: "glob" , scope: !2 , file: !3 , line: 255 , type: !5 , isLocal: false , isDefinition: true )
!2 = distinct !DICompileUnit ( language: D W _ L A N G _ C _ p l u s _ p l u s , file: !3 , producer: "clang version 7.0.0 (trunk 322415)" , isOptimized: false , runtimeVersion: 0 , emissionKind: F u l l D e b u g , enums: !4 , globals: !259 )
!3 = !DIFile ( filename: "enum.cpp" , directory: "/home/test" , checksumkind: C S K _ M D 5 , checksum: "8965080a8027790e641e30c7762c53a0" )
!4 = ! { !5 }
!5 = !DICompositeType ( tag: D W _ T A G _ e n u m e r a t i o n _ type , name: "E" , file: !3 , line: 1 , size: 32 , elements: !6 , identifier: "_ZTS1E" )
!6 = ! { !7 , !8 , !9 , !10 , !11 , !12 , !13 , !14 , !15 , !16 , !17 , !18 , !19 , !20 , !21 , !22 , !23 , !24 , !25 , !26 , !27 , !28 , !29 , !30 , !31 , !32 , !33 , !34 , !35 , !36 , !37 , !38 , !39 , !40 , !41 , !42 , !43 , !44 , !45 , !46 , !47 , !48 , !49 , !50 , !51 , !52 , !53 , !54 , !55 , !56 , !57 , !58 , !59 , !60 , !61 , !62 , !63 , !64 , !65 , !66 , !67 , !68 , !69 , !70 , !71 , !72 , !73 , !74 , !75 , !76 , !77 , !78 , !79 , !80 , !81 , !82 , !83 , !84 , !85 , !86 , !87 , !88 , !89 , !90 , !91 , !92 , !93 , !94 , !95 , !96 , !97 , !98 , !99 , !100 , !101 , !102 , !103 , !104 , !105 , !106 , !107 , !108 , !109 , !110 , !111 , !112 , !113 , !114 , !115 , !116 , !117 , !118 , !119 , !120 , !121 , !122 , !123 , !124 , !125 , !126 , !127 , !128 , !129 , !130 , !131 , !132 , !133 , !134 , !135 , !136 , !137 , !138 , !139 , !140 , !141 , !142 , !143 , !144 , !145 , !146 , !147 , !148 , !149 , !150 , !151 , !152 , !153 , !154 , !155 , !156 , !157 , !158 , !159 , !160 , !161 , !162 , !163 , !164 , !165 , !166 , !167 , !168 , !169 , !170 , !171 , !172 , !173 , !174 , !175 , !176 , !177 , !178 , !179 , !180 , !181 , !182 , !183 , !184 , !185 , !186 , !187 , !188 , !189 , !190 , !191 , !192 , !193 , !194 , !195 , !196 , !197 , !198 , !199 , !200 , !201 , !202 , !203 , !204 , !205 , !206 , !207 , !208 , !209 , !210 , !211 , !212 , !213 , !214 , !215 , !216 , !217 , !218 , !219 , !220 , !221 , !222 , !223 , !224 , !225 , !226 , !227 , !228 , !229 , !230 , !231 , !232 , !233 , !234 , !235 , !236 , !237 , !238 , !239 , !240 , !241 , !242 , !243 , !244 , !245 , !246 , !247 , !248 , !249 , !250 , !251 , !252 , !253 , !254 , !255 , !256 , !257 , !258 }
!7 = !DIEnumerator ( name: "econst1" , value: 0 )
!8 = !DIEnumerator ( name: "econst2" , value: 1 )
!9 = !DIEnumerator ( name: "econst3" , value: 2 )
!10 = !DIEnumerator ( name: "econst4" , value: 3 )
!11 = !DIEnumerator ( name: "econst5" , value: 4 )
!12 = !DIEnumerator ( name: "econst6" , value: 5 )
!13 = !DIEnumerator ( name: "econst7" , value: 6 )
!14 = !DIEnumerator ( name: "econst8" , value: 7 )
!15 = !DIEnumerator ( name: "econst9" , value: 8 )
!16 = !DIEnumerator ( name: "econst10" , value: 9 )
!17 = !DIEnumerator ( name: "econst11" , value: 10 )
!18 = !DIEnumerator ( name: "econst12" , value: 11 )
!19 = !DIEnumerator ( name: "econst13" , value: 12 )
!20 = !DIEnumerator ( name: "econst14" , value: 13 )
!21 = !DIEnumerator ( name: "econst15" , value: 14 )
!22 = !DIEnumerator ( name: "econst16" , value: 15 )
!23 = !DIEnumerator ( name: "econst17" , value: 16 )
!24 = !DIEnumerator ( name: "econst18" , value: 17 )
!25 = !DIEnumerator ( name: "econst19" , value: 18 )
!26 = !DIEnumerator ( name: "econst20" , value: 19 )
!27 = !DIEnumerator ( name: "econst21" , value: 20 )
!28 = !DIEnumerator ( name: "econst22" , value: 21 )
!29 = !DIEnumerator ( name: "econst23" , value: 22 )
!30 = !DIEnumerator ( name: "econst24" , value: 23 )
!31 = !DIEnumerator ( name: "econst25" , value: 24 )
!32 = !DIEnumerator ( name: "econst26" , value: 25 )
!33 = !DIEnumerator ( name: "econst27" , value: 26 )
!34 = !DIEnumerator ( name: "econst28" , value: 27 )
!35 = !DIEnumerator ( name: "econst29" , value: 28 )
!36 = !DIEnumerator ( name: "econst30" , value: 29 )
!37 = !DIEnumerator ( name: "econst31" , value: 30 )
!38 = !DIEnumerator ( name: "econst32" , value: 31 )
!39 = !DIEnumerator ( name: "econst33" , value: 32 )
!40 = !DIEnumerator ( name: "econst34" , value: 33 )
!41 = !DIEnumerator ( name: "econst35" , value: 34 )
!42 = !DIEnumerator ( name: "econst36" , value: 35 )
!43 = !DIEnumerator ( name: "econst37" , value: 36 )
!44 = !DIEnumerator ( name: "econst38" , value: 37 )
!45 = !DIEnumerator ( name: "econst39" , value: 38 )
!46 = !DIEnumerator ( name: "econst40" , value: 39 )
!47 = !DIEnumerator ( name: "econst41" , value: 40 )
!48 = !DIEnumerator ( name: "econst42" , value: 41 )
!49 = !DIEnumerator ( name: "econst43" , value: 42 )
!50 = !DIEnumerator ( name: "econst44" , value: 43 )
!51 = !DIEnumerator ( name: "econst45" , value: 44 )
!52 = !DIEnumerator ( name: "econst46" , value: 45 )
!53 = !DIEnumerator ( name: "econst47" , value: 46 )
!54 = !DIEnumerator ( name: "econst48" , value: 47 )
!55 = !DIEnumerator ( name: "econst49" , value: 48 )
!56 = !DIEnumerator ( name: "econst50" , value: 49 )
!57 = !DIEnumerator ( name: "econst51" , value: 50 )
!58 = !DIEnumerator ( name: "econst52" , value: 51 )
!59 = !DIEnumerator ( name: "econst53" , value: 52 )
!60 = !DIEnumerator ( name: "econst54" , value: 53 )
!61 = !DIEnumerator ( name: "econst55" , value: 54 )
!62 = !DIEnumerator ( name: "econst56" , value: 55 )
!63 = !DIEnumerator ( name: "econst57" , value: 56 )
!64 = !DIEnumerator ( name: "econst58" , value: 57 )
!65 = !DIEnumerator ( name: "econst59" , value: 58 )
!66 = !DIEnumerator ( name: "econst60" , value: 59 )
!67 = !DIEnumerator ( name: "econst61" , value: 60 )
!68 = !DIEnumerator ( name: "econst62" , value: 61 )
!69 = !DIEnumerator ( name: "econst63" , value: 62 )
!70 = !DIEnumerator ( name: "econst64" , value: 63 )
!71 = !DIEnumerator ( name: "econst65" , value: 64 )
!72 = !DIEnumerator ( name: "econst66" , value: 65 )
!73 = !DIEnumerator ( name: "econst67" , value: 66 )
!74 = !DIEnumerator ( name: "econst68" , value: 67 )
!75 = !DIEnumerator ( name: "econst69" , value: 68 )
!76 = !DIEnumerator ( name: "econst70" , value: 69 )
!77 = !DIEnumerator ( name: "econst71" , value: 70 )
!78 = !DIEnumerator ( name: "econst72" , value: 71 )
!79 = !DIEnumerator ( name: "econst73" , value: 72 )
!80 = !DIEnumerator ( name: "econst74" , value: 73 )
!81 = !DIEnumerator ( name: "econst75" , value: 74 )
!82 = !DIEnumerator ( name: "econst76" , value: 75 )
!83 = !DIEnumerator ( name: "econst77" , value: 76 )
!84 = !DIEnumerator ( name: "econst78" , value: 77 )
!85 = !DIEnumerator ( name: "econst79" , value: 78 )
!86 = !DIEnumerator ( name: "econst80" , value: 79 )
!87 = !DIEnumerator ( name: "econst81" , value: 80 )
!88 = !DIEnumerator ( name: "econst82" , value: 81 )
!89 = !DIEnumerator ( name: "econst83" , value: 82 )
!90 = !DIEnumerator ( name: "econst84" , value: 83 )
!91 = !DIEnumerator ( name: "econst85" , value: 84 )
!92 = !DIEnumerator ( name: "econst86" , value: 85 )
!93 = !DIEnumerator ( name: "econst87" , value: 86 )
!94 = !DIEnumerator ( name: "econst88" , value: 87 )
!95 = !DIEnumerator ( name: "econst89" , value: 88 )
!96 = !DIEnumerator ( name: "econst90" , value: 89 )
!97 = !DIEnumerator ( name: "econst91" , value: 90 )
!98 = !DIEnumerator ( name: "econst92" , value: 91 )
!99 = !DIEnumerator ( name: "econst93" , value: 92 )
!100 = !DIEnumerator ( name: "econst94" , value: 93 )
!101 = !DIEnumerator ( name: "econst95" , value: 94 )
!102 = !DIEnumerator ( name: "econst96" , value: 95 )
!103 = !DIEnumerator ( name: "econst97" , value: 96 )
!104 = !DIEnumerator ( name: "econst98" , value: 97 )
!105 = !DIEnumerator ( name: "econst99" , value: 98 )
!106 = !DIEnumerator ( name: "econst100" , value: 99 )
!107 = !DIEnumerator ( name: "econst101" , value: 100 )
!108 = !DIEnumerator ( name: "econst102" , value: 101 )
!109 = !DIEnumerator ( name: "econst103" , value: 102 )
!110 = !DIEnumerator ( name: "econst104" , value: 103 )
!111 = !DIEnumerator ( name: "econst105" , value: 104 )
!112 = !DIEnumerator ( name: "econst106" , value: 105 )
!113 = !DIEnumerator ( name: "econst107" , value: 106 )
!114 = !DIEnumerator ( name: "econst108" , value: 107 )
!115 = !DIEnumerator ( name: "econst109" , value: 108 )
!116 = !DIEnumerator ( name: "econst110" , value: 109 )
!117 = !DIEnumerator ( name: "econst111" , value: 110 )
!118 = !DIEnumerator ( name: "econst112" , value: 111 )
!119 = !DIEnumerator ( name: "econst113" , value: 112 )
!120 = !DIEnumerator ( name: "econst114" , value: 113 )
!121 = !DIEnumerator ( name: "econst115" , value: 114 )
!122 = !DIEnumerator ( name: "econst116" , value: 115 )
!123 = !DIEnumerator ( name: "econst117" , value: 116 )
!124 = !DIEnumerator ( name: "econst118" , value: 117 )
!125 = !DIEnumerator ( name: "econst119" , value: 118 )
!126 = !DIEnumerator ( name: "econst120" , value: 119 )
!127 = !DIEnumerator ( name: "econst121" , value: 120 )
!128 = !DIEnumerator ( name: "econst122" , value: 121 )
!129 = !DIEnumerator ( name: "econst123" , value: 122 )
!130 = !DIEnumerator ( name: "econst124" , value: 123 )
!131 = !DIEnumerator ( name: "econst125" , value: 124 )
!132 = !DIEnumerator ( name: "econst126" , value: 125 )
!133 = !DIEnumerator ( name: "econst127" , value: 126 )
!134 = !DIEnumerator ( name: "econst128" , value: 127 )
!135 = !DIEnumerator ( name: "econst129" , value: 128 )
!136 = !DIEnumerator ( name: "econst130" , value: 129 )
!137 = !DIEnumerator ( name: "econst131" , value: 130 )
!138 = !DIEnumerator ( name: "econst132" , value: 131 )
!139 = !DIEnumerator ( name: "econst133" , value: 132 )
!140 = !DIEnumerator ( name: "econst134" , value: 133 )
!141 = !DIEnumerator ( name: "econst135" , value: 134 )
!142 = !DIEnumerator ( name: "econst136" , value: 135 )
!143 = !DIEnumerator ( name: "econst137" , value: 136 )
!144 = !DIEnumerator ( name: "econst138" , value: 137 )
!145 = !DIEnumerator ( name: "econst139" , value: 138 )
!146 = !DIEnumerator ( name: "econst140" , value: 139 )
!147 = !DIEnumerator ( name: "econst141" , value: 140 )
!148 = !DIEnumerator ( name: "econst142" , value: 141 )
!149 = !DIEnumerator ( name: "econst143" , value: 142 )
!150 = !DIEnumerator ( name: "econst144" , value: 143 )
!151 = !DIEnumerator ( name: "econst145" , value: 144 )
!152 = !DIEnumerator ( name: "econst146" , value: 145 )
!153 = !DIEnumerator ( name: "econst147" , value: 146 )
!154 = !DIEnumerator ( name: "econst148" , value: 147 )
!155 = !DIEnumerator ( name: "econst149" , value: 148 )
!156 = !DIEnumerator ( name: "econst150" , value: 149 )
!157 = !DIEnumerator ( name: "econst151" , value: 150 )
!158 = !DIEnumerator ( name: "econst152" , value: 151 )
!159 = !DIEnumerator ( name: "econst153" , value: 152 )
!160 = !DIEnumerator ( name: "econst154" , value: 153 )
!161 = !DIEnumerator ( name: "econst155" , value: 154 )
!162 = !DIEnumerator ( name: "econst156" , value: 155 )
!163 = !DIEnumerator ( name: "econst157" , value: 156 )
!164 = !DIEnumerator ( name: "econst158" , value: 157 )
!165 = !DIEnumerator ( name: "econst159" , value: 158 )
!166 = !DIEnumerator ( name: "econst160" , value: 159 )
!167 = !DIEnumerator ( name: "econst161" , value: 160 )
!168 = !DIEnumerator ( name: "econst162" , value: 161 )
!169 = !DIEnumerator ( name: "econst163" , value: 162 )
!170 = !DIEnumerator ( name: "econst164" , value: 163 )
!171 = !DIEnumerator ( name: "econst165" , value: 164 )
!172 = !DIEnumerator ( name: "econst166" , value: 165 )
!173 = !DIEnumerator ( name: "econst167" , value: 166 )
!174 = !DIEnumerator ( name: "econst168" , value: 167 )
!175 = !DIEnumerator ( name: "econst169" , value: 168 )
!176 = !DIEnumerator ( name: "econst170" , value: 169 )
!177 = !DIEnumerator ( name: "econst171" , value: 170 )
!178 = !DIEnumerator ( name: "econst172" , value: 171 )
!179 = !DIEnumerator ( name: "econst173" , value: 172 )
!180 = !DIEnumerator ( name: "econst174" , value: 173 )
!181 = !DIEnumerator ( name: "econst175" , value: 174 )
!182 = !DIEnumerator ( name: "econst176" , value: 175 )
!183 = !DIEnumerator ( name: "econst177" , value: 176 )
!184 = !DIEnumerator ( name: "econst178" , value: 177 )
!185 = !DIEnumerator ( name: "econst179" , value: 178 )
!186 = !DIEnumerator ( name: "econst180" , value: 179 )
!187 = !DIEnumerator ( name: "econst181" , value: 180 )
!188 = !DIEnumerator ( name: "econst182" , value: 181 )
!189 = !DIEnumerator ( name: "econst183" , value: 182 )
!190 = !DIEnumerator ( name: "econst184" , value: 183 )
!191 = !DIEnumerator ( name: "econst185" , value: 184 )
!192 = !DIEnumerator ( name: "econst186" , value: 185 )
!193 = !DIEnumerator ( name: "econst187" , value: 186 )
!194 = !DIEnumerator ( name: "econst188" , value: 187 )
!195 = !DIEnumerator ( name: "econst189" , value: 188 )
!196 = !DIEnumerator ( name: "econst190" , value: 189 )
!197 = !DIEnumerator ( name: "econst191" , value: 190 )
!198 = !DIEnumerator ( name: "econst192" , value: 191 )
!199 = !DIEnumerator ( name: "econst193" , value: 192 )
!200 = !DIEnumerator ( name: "econst194" , value: 193 )
!201 = !DIEnumerator ( name: "econst195" , value: 194 )
!202 = !DIEnumerator ( name: "econst196" , value: 195 )
!203 = !DIEnumerator ( name: "econst197" , value: 196 )
!204 = !DIEnumerator ( name: "econst198" , value: 197 )
!205 = !DIEnumerator ( name: "econst199" , value: 198 )
!206 = !DIEnumerator ( name: "econst200" , value: 199 )
!207 = !DIEnumerator ( name: "econst201" , value: 200 )
!208 = !DIEnumerator ( name: "econst202" , value: 201 )
!209 = !DIEnumerator ( name: "econst203" , value: 202 )
!210 = !DIEnumerator ( name: "econst204" , value: 203 )
!211 = !DIEnumerator ( name: "econst205" , value: 204 )
!212 = !DIEnumerator ( name: "econst206" , value: 205 )
!213 = !DIEnumerator ( name: "econst207" , value: 206 )
!214 = !DIEnumerator ( name: "econst208" , value: 207 )
!215 = !DIEnumerator ( name: "econst209" , value: 208 )
!216 = !DIEnumerator ( name: "econst210" , value: 209 )
!217 = !DIEnumerator ( name: "econst211" , value: 210 )
!218 = !DIEnumerator ( name: "econst212" , value: 211 )
!219 = !DIEnumerator ( name: "econst213" , value: 212 )
!220 = !DIEnumerator ( name: "econst214" , value: 213 )
!221 = !DIEnumerator ( name: "econst215" , value: 214 )
!222 = !DIEnumerator ( name: "econst216" , value: 215 )
!223 = !DIEnumerator ( name: "econst217" , value: 216 )
!224 = !DIEnumerator ( name: "econst218" , value: 217 )
!225 = !DIEnumerator ( name: "econst219" , value: 218 )
!226 = !DIEnumerator ( name: "econst220" , value: 219 )
!227 = !DIEnumerator ( name: "econst221" , value: 220 )
!228 = !DIEnumerator ( name: "econst222" , value: 221 )
!229 = !DIEnumerator ( name: "econst223" , value: 222 )
!230 = !DIEnumerator ( name: "econst224" , value: 223 )
!231 = !DIEnumerator ( name: "econst225" , value: 224 )
!232 = !DIEnumerator ( name: "econst226" , value: 225 )
!233 = !DIEnumerator ( name: "econst227" , value: 226 )
!234 = !DIEnumerator ( name: "econst228" , value: 227 )
!235 = !DIEnumerator ( name: "econst229" , value: 228 )
!236 = !DIEnumerator ( name: "econst230" , value: 229 )
!237 = !DIEnumerator ( name: "econst231" , value: 230 )
!238 = !DIEnumerator ( name: "econst232" , value: 231 )
!239 = !DIEnumerator ( name: "econst233" , value: 232 )
!240 = !DIEnumerator ( name: "econst234" , value: 233 )
!241 = !DIEnumerator ( name: "econst235" , value: 234 )
!242 = !DIEnumerator ( name: "econst236" , value: 235 )
!243 = !DIEnumerator ( name: "econst237" , value: 236 )
!244 = !DIEnumerator ( name: "econst238" , value: 237 )
!245 = !DIEnumerator ( name: "econst239" , value: 238 )
!246 = !DIEnumerator ( name: "econst240" , value: 239 )
!247 = !DIEnumerator ( name: "econst241" , value: 240 )
!248 = !DIEnumerator ( name: "econst242" , value: 241 )
!249 = !DIEnumerator ( name: "econst243" , value: 242 )
!250 = !DIEnumerator ( name: "econst244" , value: 243 )
!251 = !DIEnumerator ( name: "econst245" , value: 244 )
!252 = !DIEnumerator ( name: "econst246" , value: 245 )
!253 = !DIEnumerator ( name: "econst247" , value: 246 )
!254 = !DIEnumerator ( name: "econst248" , value: 247 )
!255 = !DIEnumerator ( name: "econst249" , value: 248 )
!256 = !DIEnumerator ( name: "econst250" , value: 249 )
!257 = !DIEnumerator ( name: "econst251" , value: 250 )
!258 = !DIEnumerator ( name: "econst252" , value: 251 )
!259 = ! { !0 }
!260 = ! { i32 2 , !"Dwarf Version" , i32 5 }
!261 = ! { i32 2 , !"Debug Info Version" , i32 3 }
!262 = ! { i32 1 , !"wchar_size" , i32 4 }
!263 = ! { !"clang version 7.0.0 (trunk 322415)" }