diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/DebugInfo/COFF/typedef.ll | 8 | ||||
| -rw-r--r-- | llvm/test/DebugInfo/COFF/udts.ll | 57 |
2 files changed, 65 insertions, 0 deletions
diff --git a/llvm/test/DebugInfo/COFF/typedef.ll b/llvm/test/DebugInfo/COFF/typedef.ll index a38080a6bfb..5d364a12cc8 100644 --- a/llvm/test/DebugInfo/COFF/typedef.ll +++ b/llvm/test/DebugInfo/COFF/typedef.ll @@ -8,6 +8,14 @@ ; CHECK: ] ; CHECK: VarName: foo ; CHECK: } +; CHECK: Subsection [ +; CHECK: SubSectionType: Symbols (0xF1) +; CHECK: SubSectionSize: 0xC +; CHECK: UDT { +; CHECK: Type: wchar_t (0x71) +; CHECK: UDTName: XYZ +; CHECK: } +; CHECK: ] target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32" target triple = "i686-pc-windows-msvc18.0.0" diff --git a/llvm/test/DebugInfo/COFF/udts.ll b/llvm/test/DebugInfo/COFF/udts.ll new file mode 100644 index 00000000000..c4d2cff5209 --- /dev/null +++ b/llvm/test/DebugInfo/COFF/udts.ll @@ -0,0 +1,57 @@ +; RUN: llc < %s -filetype=obj | llvm-readobj - -codeview | FileCheck %s +target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32" +target triple = "i686-pc-windows-msvc18.0.0" + +; C++ source to regenerate: +; $ cat t.cpp +; void f() { +; typedef int FOO; +; FOO f; +; } + +; CHECK: ProcStart { +; CHECK: DisplayName: f +; CHECK: LinkageName: ?f@@YAXXZ +; CHECK: } +; CHECK: UDT { +; CHECK-NEXT: Type: int (0x74) +; CHECK-NEXT: UDTName: f::FOO +; CHECK-NEXT: } +; CHECK-NEXT: ProcEnd { +; CHECK-NEXT: } + + +; Function Attrs: nounwind +define void @"\01?f@@YAXXZ"() #0 !dbg !6 { +entry: + %f = alloca i32, align 4 + call void @llvm.dbg.declare(metadata i32* %f, metadata !10, metadata !13), !dbg !14 + ret void, !dbg !15 +} + +; Function Attrs: nounwind readnone +declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 + +attributes #0 = { nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { nounwind readnone } + +!llvm.dbg.cu = !{!0} +!llvm.module.flags = !{!3, !4} +!llvm.ident = !{!5} + +!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 3.9.0 (trunk 272079) (llvm/trunk 271895)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2) +!1 = !DIFile(filename: "-", directory: "/usr/local/src") +!2 = !{} +!3 = !{i32 2, !"CodeView", i32 1} +!4 = !{i32 2, !"Debug Info Version", i32 3} +!5 = !{!"clang version 3.9.0 (trunk 272079) (llvm/trunk 271895)"} +!6 = distinct !DISubprogram(name: "f", linkageName: "\01?f@@YAXXZ", scope: !7, file: !7, line: 2, type: !8, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2) +!7 = !DIFile(filename: "<stdin>", directory: "/usr/local/src") +!8 = !DISubroutineType(types: !9) +!9 = !{null} +!10 = !DILocalVariable(name: "f", scope: !6, file: !7, line: 4, type: !11) +!11 = !DIDerivedType(tag: DW_TAG_typedef, name: "FOO", scope: !6, file: !7, line: 3, baseType: !12) +!12 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed) +!13 = !DIExpression() +!14 = !DILocation(line: 4, column: 5, scope: !6) +!15 = !DILocation(line: 5, column: 1, scope: !6) |

