@@ -163,7 +163,8 @@ define void @derived_type() !dbg !3 {
163
163
; CHECK-DAG: #[[COMP2:.+]] = #llvm.di_composite_type<{{.*}}, file = #[[FILE]], scope = #[[FILE]], baseType = #[[INT]]>
164
164
; CHECK-DAG: #[[COMP3:.+]] = #llvm.di_composite_type<{{.*}}, flags = Vector, elements = #llvm.di_subrange<count = 4 : i64>>
165
165
; CHECK-DAG: #[[COMP4:.+]] = #llvm.di_composite_type<{{.*}}, flags = Vector, elements = #llvm.di_subrange<lowerBound = 0 : i64, upperBound = 4 : i64, stride = 1 : i64>>
166
- ; CHECK-DAG: #llvm.di_subroutine_type<types = #[[COMP1]], #[[COMP2]], #[[COMP3]], #[[COMP4]]>
166
+ ; CHECK-DAG: #[[COMP5:.+]] = #llvm.di_composite_type<{{.*}}, flags = Vector>
167
+ ; CHECK-DAG: #llvm.di_subroutine_type<types = #[[COMP1]], #[[COMP2]], #[[COMP3]], #[[COMP4]], #[[COMP5]]>
167
168
168
169
define void @composite_type () !dbg !3 {
169
170
ret void
@@ -176,7 +177,7 @@ define void @composite_type() !dbg !3 {
176
177
!2 = !DIFile (filename: "debug-info.ll" , directory: "/" )
177
178
!3 = distinct !DISubprogram (name: "composite_type" , scope: !2 , file: !2 , spFlags: DISPFlagDefinition, unit: !1 , type: !4 )
178
179
!4 = !DISubroutineType (types: !5 )
179
- !5 = !{!7 , !8 , !9 , !10 }
180
+ !5 = !{!7 , !8 , !9 , !10 , !18 }
180
181
!6 = !DIBasicType (name: "int" )
181
182
!7 = !DICompositeType (tag: DW_TAG_array_type, name: "array1" , line: 10 , size: 128 , align: 32 )
182
183
!8 = !DICompositeType (tag: DW_TAG_array_type, name: "array2" , file: !2 , scope: !2 , baseType: !6 )
@@ -187,6 +188,12 @@ define void @composite_type() !dbg !3 {
187
188
!13 = !{!11 }
188
189
!14 = !{!12 }
189
190
191
+ ; Verifies that unsupported subrange nodes are skipped.
192
+ !15 = !DISubrange (count: !16 )
193
+ !16 = !DILocalVariable (scope: !3 , name: "size" )
194
+ !17 = !{!15 }
195
+ !18 = !DICompositeType (tag: DW_TAG_array_type, name: "unsupported_elements" , flags: DIFlagVector, elements: !17 )
196
+
190
197
; // -----
191
198
192
199
; CHECK-DAG: #[[FILE:.+]] = #llvm.di_file<"debug-info.ll" in "/">
0 commit comments