|
| 1 | +; RUN: opt %s -o - -S --passes=verify 2>&1 | FileCheck %s |
| 2 | + |
| 3 | +; CHECK: array types must have a base type |
| 4 | +; CHECK-NEXT: !DICompositeType(tag: DW_TAG_array_type, |
| 5 | +; CHECK-NEXT: warning: ignoring invalid debug info |
| 6 | + |
| 7 | +declare void @llvm.dbg.value(metadata, metadata, metadata) |
| 8 | + |
| 9 | +define i32 @func(ptr %0) !dbg !3 { |
| 10 | + call void @llvm.dbg.value(metadata ptr %0, metadata !6, metadata !DIExpression()), !dbg !10 |
| 11 | + ret i32 0 |
| 12 | +} |
| 13 | + |
| 14 | +!llvm.module.flags = !{!0} |
| 15 | +!llvm.dbg.cu = !{!1} |
| 16 | + |
| 17 | +!0 = !{i32 2, !"Debug Info Version", i32 3} |
| 18 | +!1 = distinct !DICompileUnit(language: DW_LANG_C11, file: !2, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug) |
| 19 | +!2 = !DIFile(filename: "file.c", directory: "/") |
| 20 | +!3 = distinct !DISubprogram(name: "func", scope: !2, file: !2, line: 46, type: !4, scopeLine: 48, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !1) |
| 21 | +!4 = distinct !DISubroutineType(types: !5) |
| 22 | +!5 = !{} |
| 23 | +!6 = !DILocalVariable(name: "op", arg: 5, scope: !3, file: !2, line: 47, type: !7) |
| 24 | +!7 = !DICompositeType(tag: DW_TAG_array_type, size: 2624, elements: !8) |
| 25 | +!8 = !{!9} |
| 26 | +!9 = !DISubrange(count: 41) |
| 27 | +!10 = !DILocation(line: 0, scope: !3) |
0 commit comments