blob: 1f24051302d0d0446365e4eb226005e75ff15464 [file] [log] [blame]
Eric Christopherbb0f6ea2012-05-23 00:09:20 +00001; RUN: llc -O0 -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
Eli Bendersky767295f2013-01-25 21:44:53 +00002; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s
Eric Christopherbb0f6ea2012-05-23 00:09:20 +00003
4@a = global i32 0, align 4
5@b = global i64 0, align 8
6@c = global i32 0, align 4
7
8!llvm.dbg.cu = !{!0}
9
David Blaikiec462db62013-04-22 06:12:31 +000010!0 = metadata !{i32 786449, metadata !22, i32 4, metadata !"clang version 3.2 (trunk 157269) (llvm/trunk 157264)", i1 false, metadata !"", i32 0, metadata !1, metadata !15, metadata !15, metadata !17, metadata !17, metadata !""} ; [ DW_TAG_compile_unit ]
David Blaikiea8eefc72013-02-02 05:56:24 +000011!1 = metadata !{metadata !3, metadata !8, metadata !12}
Manman Ren6e3cd0e2013-08-26 22:39:55 +000012!3 = metadata !{i32 786436, metadata !4, null, metadata !"A", i32 1, i64 32, i64 32, i32 0, i32 0, metadata !5, metadata !6, i32 0, i32 0, null, null} ; [ DW_TAG_enumeration_type ] [A] [line 1, size 32, align 32, offset 0] [def] [from int]
David Blaikie72dfb052013-03-28 02:44:59 +000013!4 = metadata !{i32 786473, metadata !22} ; [ DW_TAG_file_type ]
14!5 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
Eric Christopherbb0f6ea2012-05-23 00:09:20 +000015!6 = metadata !{metadata !7}
16!7 = metadata !{i32 786472, metadata !"A1", i64 1} ; [ DW_TAG_enumerator ]
Manman Ren6e3cd0e2013-08-26 22:39:55 +000017!8 = metadata !{i32 786436, metadata !4, null, metadata !"B", i32 2, i64 64, i64 64, i32 0, i32 0, metadata !9, metadata !10, i32 0, i32 0, null, null} ; [ DW_TAG_enumeration_type ] [B] [line 2, size 64, align 64, offset 0] [def] [from long unsigned int]
David Blaikie72dfb052013-03-28 02:44:59 +000018!9 = metadata !{i32 786468, null, null, metadata !"long unsigned int", i32 0, i64 64, i64 64, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
Eric Christopherbb0f6ea2012-05-23 00:09:20 +000019!10 = metadata !{metadata !11}
20!11 = metadata !{i32 786472, metadata !"B1", i64 1} ; [ DW_TAG_enumerator ]
Manman Ren6e3cd0e2013-08-26 22:39:55 +000021!12 = metadata !{i32 786436, metadata !4, null, metadata !"C", i32 3, i64 32, i64 32, i32 0, i32 0, null, metadata !13, i32 0, i32 0, null, null} ; [ DW_TAG_enumeration_type ] [C] [line 3, size 32, align 32, offset 0] [def] [from ]
Eric Christopherbb0f6ea2012-05-23 00:09:20 +000022!13 = metadata !{metadata !14}
23!14 = metadata !{i32 786472, metadata !"C1", i64 1} ; [ DW_TAG_enumerator ]
David Blaikiea8eefc72013-02-02 05:56:24 +000024!15 = metadata !{i32 0}
25!17 = metadata !{metadata !19, metadata !20, metadata !21}
David Blaikie850b74d2013-03-11 22:37:40 +000026!19 = metadata !{i32 786484, i32 0, null, metadata !"a", metadata !"a", metadata !"", metadata !4, i32 4, metadata !3, i32 0, i32 1, i32* @a, null} ; [ DW_TAG_variable ]
27!20 = metadata !{i32 786484, i32 0, null, metadata !"b", metadata !"b", metadata !"", metadata !4, i32 5, metadata !8, i32 0, i32 1, i64* @b, null} ; [ DW_TAG_variable ]
28!21 = metadata !{i32 786484, i32 0, null, metadata !"c", metadata !"c", metadata !"", metadata !4, i32 6, metadata !12, i32 0, i32 1, i32* @c, null} ; [ DW_TAG_variable ]
David Blaikieb4cf0ab2013-03-17 21:13:55 +000029!22 = metadata !{metadata !"foo.cpp", metadata !"/Users/echristo/tmp"}
Eric Christopherbb0f6ea2012-05-23 00:09:20 +000030
31; CHECK: DW_TAG_enumeration_type [3]
Eric Christopherefc47ec2013-09-04 22:21:24 +000032; CHECK: DW_AT_type [DW_FORM_ref4]
Eric Christopherbb0f6ea2012-05-23 00:09:20 +000033; CHECK: DW_AT_enum_class [DW_FORM_flag] (0x01)
34; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[{{.*}}] = "A")
35
36; CHECK: DW_TAG_enumeration_type [3] *
Eric Christopherefc47ec2013-09-04 22:21:24 +000037; CHECK: DW_AT_type [DW_FORM_ref4]
Eric Christopherbb0f6ea2012-05-23 00:09:20 +000038; CHECK: DW_AT_enum_class [DW_FORM_flag] (0x01)
39; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[{{.*}}] = "B")
40
41; CHECK: DW_TAG_enumeration_type [6]
42; CHECK-NOT: DW_AT_enum_class
43; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[{{.*}}] = "C")