Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 1 | ; REQUIRES: object-emission |
| 2 | |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 3 | ; RUN: llc %s -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 4 | ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=SINGLE %s |
| 5 | |
| 6 | ; RUN: llc %s -split-dwarf=Enable -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu |
| 7 | ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=FISSION %s |
David Blaikie | 8a263cb | 2013-11-26 00:22:37 +0000 | [diff] [blame] | 8 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 9 | ; Generated from: |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 10 | ; struct bar {}; |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 11 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 12 | ; struct bar b; |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 13 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 14 | ; void foo(void) { |
| 15 | ; struct baz {}; |
| 16 | ; baz b; |
| 17 | ; } |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 18 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 19 | ; namespace echidna { |
| 20 | ; namespace capybara { |
| 21 | ; namespace mongoose { |
| 22 | ; class fluffy { |
| 23 | ; int a; |
| 24 | ; int b; |
| 25 | ; }; |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 26 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 27 | ; fluffy animal; |
| 28 | ; } |
| 29 | ; } |
| 30 | ; } |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 31 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 32 | ; namespace { |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 33 | ; struct walrus { |
| 34 | ; walrus() {} |
| 35 | ; }; |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 36 | ; } |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 37 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 38 | ; walrus w; |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 39 | |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 40 | ; struct wombat { |
| 41 | ; struct { |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 42 | ; int a; |
| 43 | ; int b; |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 44 | ; } a_b; |
| 45 | ; }; |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 46 | |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 47 | ; wombat wom; |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 48 | |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 49 | ; SINGLE-LABEL: .debug_info contents: |
| 50 | ; FISSION-LABEL: .debug_info.dwo contents: |
Eric Christopher | c4dd56b | 2013-12-05 01:00:12 +0000 | [diff] [blame] | 51 | ; CHECK: Compile Unit: length = [[CU_SIZE:[0-9a-f]+]] |
David Blaikie | bc56327 | 2013-12-13 21:33:40 +0000 | [diff] [blame] | 52 | |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 53 | ; CHECK: DW_TAG_structure_type |
| 54 | ; CHECK-NEXT: DW_AT_signature |
| 55 | ; CHECK: DW_TAG_class_type |
| 56 | ; CHECK-NEXT: DW_AT_signature |
| 57 | |
| 58 | ; Ensure the CU-local type 'walrus' is not placed in a type unit. |
| 59 | ; CHECK: DW_TAG_structure_type |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 60 | ; CHECK-NEXT: DW_AT_name{{.*}}"walrus" |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 61 | ; CHECK-NEXT: DW_AT_byte_size |
| 62 | ; CHECK-NEXT: DW_AT_decl_file |
| 63 | ; CHECK-NEXT: DW_AT_decl_line |
| 64 | |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 65 | ; FISSION-LABEL: .debug_types contents: |
| 66 | ; FISSION-NOT: type_signature |
| 67 | ; FISSION-LABEL: type_signature = 0x1d02f3be30cc5688 |
| 68 | ; FISSION: DW_TAG_type_unit |
| 69 | ; FISSION: DW_AT_GNU_dwo_name{{.*}}"bar.dwo" |
| 70 | ; FISSION: DW_AT_comp_dir{{.*}}"/tmp/dbginfo" |
| 71 | ; FISSION-NOT: type_signature |
| 72 | ; FISSION-LABEL: type_signature = 0xb04af47397402e77 |
| 73 | ; FISSION-NOT: type_signature |
| 74 | ; FISSION-LABEL: type_signature = 0xfd756cee88f8a118 |
| 75 | ; FISSION-NOT: type_signature |
| 76 | ; FISSION-LABEL: type_signature = 0xe94f6d3843e62d6b |
| 77 | |
| 78 | ; SINGLE-LABEL: .debug_types contents: |
| 79 | ; FISSION-LABEL: .debug_types.dwo contents: |
David Blaikie | bc56327 | 2013-12-13 21:33:40 +0000 | [diff] [blame] | 80 | |
David Blaikie | 6201712 | 2013-12-13 01:24:54 +0000 | [diff] [blame] | 81 | ; Check that we generate a hash for bar and the value. |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 82 | ; CHECK-NOT: type_signature |
| 83 | ; CHECK-LABEL: type_signature = 0x1d02f3be30cc5688 |
David Blaikie | 6201712 | 2013-12-13 01:24:54 +0000 | [diff] [blame] | 84 | ; CHECK: DW_TAG_structure_type |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 85 | ; CHECK-NEXT: DW_AT_name{{.*}}"bar" |
David Blaikie | 409dd9c | 2013-11-19 23:08:21 +0000 | [diff] [blame] | 86 | |
David Blaikie | bc56327 | 2013-12-13 21:33:40 +0000 | [diff] [blame] | 87 | |
David Blaikie | 409dd9c | 2013-11-19 23:08:21 +0000 | [diff] [blame] | 88 | ; Check that we generate a hash for fluffy and the value. |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 89 | ; CHECK-NOT: type_signature |
| 90 | ; CHECK-LABEL: type_signature = 0xb04af47397402e77 |
| 91 | ; CHECK-NOT: DW_AT_GNU_odr_signature [DW_FORM_data8] (0x9a0124d5a0c21c52) |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 92 | ; CHECK: DW_TAG_namespace |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 93 | ; CHECK-NEXT: DW_AT_name{{.*}}"echidna" |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 94 | ; CHECK: DW_TAG_namespace |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 95 | ; CHECK-NEXT: DW_AT_name{{.*}}"capybara" |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 96 | ; CHECK: DW_TAG_namespace |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 97 | ; CHECK-NEXT: DW_AT_name{{.*}}"mongoose" |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 98 | ; CHECK: DW_TAG_class_type |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 99 | ; CHECK-NEXT: DW_AT_name{{.*}}"fluffy" |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 100 | |
David Blaikie | 6201712 | 2013-12-13 01:24:54 +0000 | [diff] [blame] | 101 | ; Check that we generate a hash for wombat and the value, but not for the |
| 102 | ; anonymous type contained within. |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 103 | ; CHECK-NOT: type_signature |
| 104 | ; CHECK-LABEL: type_signature = 0xfd756cee88f8a118 |
| 105 | ; CHECK-NOT: DW_AT_GNU_odr_signature [DW_FORM_data8] (0x685bcc220141e9d7) |
David Blaikie | 6201712 | 2013-12-13 01:24:54 +0000 | [diff] [blame] | 106 | ; CHECK: DW_TAG_structure_type |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 107 | ; CHECK-NEXT: DW_AT_name{{.*}}"wombat" |
David Blaikie | bc56327 | 2013-12-13 21:33:40 +0000 | [diff] [blame] | 108 | |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 109 | ; CHECK-NOT: type_signature |
| 110 | ; CHECK-LABEL: type_signature = 0xe94f6d3843e62d6b |
David Blaikie | 6201712 | 2013-12-13 01:24:54 +0000 | [diff] [blame] | 111 | ; CHECK: DW_TAG_type_unit |
David Blaikie | bc56327 | 2013-12-13 21:33:40 +0000 | [diff] [blame] | 112 | ; CHECK-NOT: NULL |
David Blaikie | bc56327 | 2013-12-13 21:33:40 +0000 | [diff] [blame] | 113 | ; CHECK-NOT: DW_AT_GNU_odr_signature |
David Blaikie | 6201712 | 2013-12-13 01:24:54 +0000 | [diff] [blame] | 114 | ; CHECK: DW_TAG_structure_type |
David Blaikie | bc56327 | 2013-12-13 21:33:40 +0000 | [diff] [blame] | 115 | ; The signature for the outer 'wombat' type |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 116 | ; CHECK: DW_AT_signature [DW_FORM_ref_sig8] (0xfd756cee88f8a118) |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 117 | ; CHECK: DW_TAG_structure_type |
David Blaikie | 409dd9c | 2013-11-19 23:08:21 +0000 | [diff] [blame] | 118 | ; CHECK-NOT: DW_AT_name |
| 119 | ; CHECK-NOT: DW_AT_GNU_odr_signature |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 120 | ; CHECK: DW_TAG_member |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 121 | ; CHECK-NEXT: DW_AT_name{{.*}}"a" |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 122 | |
David Blaikie | fd1eff5 | 2013-11-26 19:14:34 +0000 | [diff] [blame] | 123 | ; Use the unit size as a rough hash/identifier for the unit we're dealing with |
| 124 | ; it happens to be unambiguous at the moment, but it's hardly ideal. |
David Blaikie | 8a263cb | 2013-11-26 00:22:37 +0000 | [diff] [blame] | 125 | ; CHECK-LABEL: .debug_pubtypes contents: |
David Blaikie | fd1eff5 | 2013-11-26 19:14:34 +0000 | [diff] [blame] | 126 | ; Don't emit pubtype entries for type DIEs in the compile unit that just indirect to a type unit. |
Eric Christopher | c4dd56b | 2013-12-05 01:00:12 +0000 | [diff] [blame] | 127 | ; CHECK-NEXT: unit_size = [[CU_SIZE]] |
David Blaikie | fd1eff5 | 2013-11-26 19:14:34 +0000 | [diff] [blame] | 128 | ; CHECK-NEXT: Offset Name |
David Blaikie | cfb2115 | 2014-01-03 18:59:42 +0000 | [diff] [blame] | 129 | ; CHECK-NEXT: "walrus" |
David Blaikie | fd1eff5 | 2013-11-26 19:14:34 +0000 | [diff] [blame] | 130 | ; Type unit for 'bar' |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 131 | ; SINGLE-NEXT: unit_size = 0x00000023 |
| 132 | ; FISSION-NEXT: unit_size = 0x00000024 |
David Blaikie | fd1eff5 | 2013-11-26 19:14:34 +0000 | [diff] [blame] | 133 | ; CHECK-NEXT: Offset Name |
| 134 | ; CHECK-NEXT: "bar" |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 135 | ; SINGLE-NEXT: unit_size = 0x0000005d |
| 136 | ; FISSION-NEXT: unit_size = 0x00000024 |
David Blaikie | fd1eff5 | 2013-11-26 19:14:34 +0000 | [diff] [blame] | 137 | ; CHECK-NEXT: Offset Name |
| 138 | ; CHECK-NEXT: "int" |
| 139 | ; CHECK-NEXT: "echidna::capybara::mongoose::fluffy" |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 140 | ; SINGLE-NEXT: unit_size = 0x0000003a |
| 141 | ; FISSION-NEXT: unit_size = 0x00000024 |
David Blaikie | fd1eff5 | 2013-11-26 19:14:34 +0000 | [diff] [blame] | 142 | ; CHECK-NEXT: Offset Name |
| 143 | ; CHECK-NEXT: "wombat" |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 144 | ; SINGLE-NEXT: unit_size = 0x0000004b |
| 145 | ; FISSION-NEXT: unit_size = 0x00000024 |
David Blaikie | 2666e24 | 2013-12-06 19:38:46 +0000 | [diff] [blame] | 146 | ; CHECK-NEXT: Offset Name |
| 147 | ; CHECK-NEXT: "int" |
David Blaikie | 8a263cb | 2013-11-26 00:22:37 +0000 | [diff] [blame] | 148 | |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 149 | %struct.bar = type { i8 } |
| 150 | %"class.echidna::capybara::mongoose::fluffy" = type { i32, i32 } |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 151 | %"struct.<anonymous namespace>::walrus" = type { i8 } |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 152 | %struct.wombat = type { %struct.anon } |
| 153 | %struct.anon = type { i32, i32 } |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 154 | %struct.baz = type { i8 } |
| 155 | |
| 156 | @b = global %struct.bar zeroinitializer, align 1 |
| 157 | @_ZN7echidna8capybara8mongoose6animalE = global %"class.echidna::capybara::mongoose::fluffy" zeroinitializer, align 4 |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 158 | @w = internal global %"struct.<anonymous namespace>::walrus" zeroinitializer, align 1 |
Eric Christopher | d853ea3 | 2013-07-29 23:53:05 +0000 | [diff] [blame] | 159 | @wom = global %struct.wombat zeroinitializer, align 4 |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 160 | @llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a }] |
| 161 | |
| 162 | @_ZN12_GLOBAL__N_16walrusC1Ev = alias internal void (%"struct.<anonymous namespace>::walrus"*)* @_ZN12_GLOBAL__N_16walrusC2Ev |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 163 | |
| 164 | ; Function Attrs: nounwind uwtable |
| 165 | define void @_Z3foov() #0 { |
| 166 | entry: |
| 167 | %b = alloca %struct.baz, align 1 |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 168 | call void @llvm.dbg.declare(metadata !{%struct.baz* %b}, metadata !44), !dbg !46 |
| 169 | ret void, !dbg !47 |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 170 | } |
| 171 | |
| 172 | ; Function Attrs: nounwind readnone |
| 173 | declare void @llvm.dbg.declare(metadata, metadata) #1 |
| 174 | |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 175 | define internal void @__cxx_global_var_init() section ".text.startup" { |
| 176 | entry: |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 177 | call void @_ZN12_GLOBAL__N_16walrusC1Ev(%"struct.<anonymous namespace>::walrus"* @w), !dbg !48 |
| 178 | ret void, !dbg !48 |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 179 | } |
| 180 | |
| 181 | ; Function Attrs: nounwind uwtable |
| 182 | define internal void @_ZN12_GLOBAL__N_16walrusC2Ev(%"struct.<anonymous namespace>::walrus"* %this) unnamed_addr #0 align 2 { |
| 183 | entry: |
| 184 | %this.addr = alloca %"struct.<anonymous namespace>::walrus"*, align 8 |
| 185 | store %"struct.<anonymous namespace>::walrus"* %this, %"struct.<anonymous namespace>::walrus"** %this.addr, align 8 |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 186 | call void @llvm.dbg.declare(metadata !{%"struct.<anonymous namespace>::walrus"** %this.addr}, metadata !49), !dbg !51 |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 187 | %this1 = load %"struct.<anonymous namespace>::walrus"** %this.addr |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 188 | ret void, !dbg !52 |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 189 | } |
| 190 | |
| 191 | define internal void @_GLOBAL__I_a() section ".text.startup" { |
| 192 | entry: |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 193 | call void @__cxx_global_var_init(), !dbg !53 |
| 194 | ret void, !dbg !53 |
Eric Christopher | e414ece | 2013-07-29 23:53:08 +0000 | [diff] [blame] | 195 | } |
| 196 | |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 197 | attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 198 | attributes #1 = { nounwind readnone } |
| 199 | |
| 200 | !llvm.dbg.cu = !{!0} |
Manman Ren | 409558f | 2013-11-22 21:49:45 +0000 | [diff] [blame] | 201 | !llvm.module.flags = !{!42, !54} |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 202 | !llvm.ident = !{!43} |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 203 | |
David Blaikie | 15ed5eb | 2014-01-10 01:38:41 +0000 | [diff] [blame^] | 204 | !0 = metadata !{i32 786449, metadata !1, i32 4, metadata !"clang version 3.4 ", i1 false, metadata !"", i32 0, metadata !2, metadata !3, metadata !20, metadata !37, metadata !2, metadata !"bar.dwo"} ; [ DW_TAG_compile_unit ] [/tmp/dbginfo/bar.cpp] [DW_LANG_C_plus_plus] |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 205 | !1 = metadata !{metadata !"bar.cpp", metadata !"/tmp/dbginfo"} |
Eric Christopher | 6764643 | 2013-07-26 17:02:41 +0000 | [diff] [blame] | 206 | !2 = metadata !{i32 0} |
David Blaikie | ba8125d | 2013-11-01 22:29:28 +0000 | [diff] [blame] | 207 | !3 = metadata !{metadata !4, metadata !5, metadata !13, metadata !16} |
| 208 | !4 = metadata !{i32 786451, metadata !1, null, metadata !"bar", i32 1, i64 8, i64 8, i32 0, i32 0, null, metadata !2, i32 0, null, null, metadata !"_ZTS3bar"} ; [ DW_TAG_structure_type ] [bar] [line 1, size 8, align 8, offset 0] [def] [from ] |
| 209 | !5 = metadata !{i32 786434, metadata !1, metadata !6, metadata !"fluffy", i32 13, i64 64, i64 32, i32 0, i32 0, null, metadata !9, i32 0, null, null, metadata !"_ZTSN7echidna8capybara8mongoose6fluffyE"} ; [ DW_TAG_class_type ] [fluffy] [line 13, size 64, align 32, offset 0] [def] [from ] |
| 210 | !6 = metadata !{i32 786489, metadata !1, metadata !7, metadata !"mongoose", i32 12} ; [ DW_TAG_namespace ] [mongoose] [line 12] |
| 211 | !7 = metadata !{i32 786489, metadata !1, metadata !8, metadata !"capybara", i32 11} ; [ DW_TAG_namespace ] [capybara] [line 11] |
| 212 | !8 = metadata !{i32 786489, metadata !1, null, metadata !"echidna", i32 10} ; [ DW_TAG_namespace ] [echidna] [line 10] |
| 213 | !9 = metadata !{metadata !10, metadata !12} |
| 214 | !10 = metadata !{i32 786445, metadata !1, metadata !"_ZTSN7echidna8capybara8mongoose6fluffyE", metadata !"a", i32 14, i64 32, i64 32, i64 0, i32 1, metadata !11} ; [ DW_TAG_member ] [a] [line 14, size 32, align 32, offset 0] [private] [from int] |
| 215 | !11 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed] |
| 216 | !12 = metadata !{i32 786445, metadata !1, metadata !"_ZTSN7echidna8capybara8mongoose6fluffyE", metadata !"b", i32 15, i64 32, i64 32, i64 32, i32 1, metadata !11} ; [ DW_TAG_member ] [b] [line 15, size 32, align 32, offset 32] [private] [from int] |
| 217 | !13 = metadata !{i32 786451, metadata !1, null, metadata !"wombat", i32 31, i64 64, i64 32, i32 0, i32 0, null, metadata !14, i32 0, null, null, metadata !"_ZTS6wombat"} ; [ DW_TAG_structure_type ] [wombat] [line 31, size 64, align 32, offset 0] [def] [from ] |
| 218 | !14 = metadata !{metadata !15} |
| 219 | !15 = metadata !{i32 786445, metadata !1, metadata !"_ZTS6wombat", metadata !"a_b", i32 35, i64 64, i64 32, i64 0, i32 0, metadata !"_ZTSN6wombatUt_E"} ; [ DW_TAG_member ] [a_b] [line 35, size 64, align 32, offset 0] [from _ZTSN6wombatUt_E] |
| 220 | !16 = metadata !{i32 786451, metadata !1, metadata !"_ZTS6wombat", metadata !"", i32 32, i64 64, i64 32, i32 0, i32 0, null, metadata !17, i32 0, null, null, metadata !"_ZTSN6wombatUt_E"} ; [ DW_TAG_structure_type ] [line 32, size 64, align 32, offset 0] [def] [from ] |
| 221 | !17 = metadata !{metadata !18, metadata !19} |
| 222 | !18 = metadata !{i32 786445, metadata !1, metadata !"_ZTSN6wombatUt_E", metadata !"a", i32 33, i64 32, i64 32, i64 0, i32 0, metadata !11} ; [ DW_TAG_member ] [a] [line 33, size 32, align 32, offset 0] [from int] |
| 223 | !19 = metadata !{i32 786445, metadata !1, metadata !"_ZTSN6wombatUt_E", metadata !"b", i32 34, i64 32, i64 32, i64 32, i32 0, metadata !11} ; [ DW_TAG_member ] [b] [line 34, size 32, align 32, offset 32] [from int] |
| 224 | !20 = metadata !{metadata !21, metadata !25, metadata !26, metadata !35} |
| 225 | !21 = metadata !{i32 786478, metadata !1, metadata !22, metadata !"foo", metadata !"foo", metadata !"_Z3foov", i32 5, metadata !23, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, void ()* @_Z3foov, null, null, metadata !2, i32 5} ; [ DW_TAG_subprogram ] [line 5] [def] [foo] |
| 226 | !22 = metadata !{i32 786473, metadata !1} ; [ DW_TAG_file_type ] [/tmp/dbginfo/bar.cpp] |
| 227 | !23 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !24, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] |
| 228 | !24 = metadata !{null} |
| 229 | !25 = metadata !{i32 786478, metadata !1, metadata !22, metadata !"__cxx_global_var_init", metadata !"__cxx_global_var_init", metadata !"", i32 29, metadata !23, i1 true, i1 true, i32 0, i32 0, null, i32 256, i1 false, void ()* @__cxx_global_var_init, null, null, metadata !2, i32 29} ; [ DW_TAG_subprogram ] [line 29] [local] [def] [__cxx_global_var_init] |
| 230 | !26 = metadata !{i32 786478, metadata !1, metadata !27, metadata !"walrus", metadata !"walrus", metadata !"_ZN12_GLOBAL__N_16walrusC2Ev", i32 25, metadata !31, i1 true, i1 true, i32 0, i32 0, null, i32 256, i1 false, void (%"struct.<anonymous namespace>::walrus"*)* @_ZN12_GLOBAL__N_16walrusC2Ev, null, metadata !30, metadata !2, i32 25} ; [ DW_TAG_subprogram ] [line 25] [local] [def] [walrus] |
| 231 | !27 = metadata !{i32 786451, metadata !1, metadata !28, metadata !"walrus", i32 24, i64 8, i64 8, i32 0, i32 0, null, metadata !29, i32 0, null, null, null} ; [ DW_TAG_structure_type ] [walrus] [line 24, size 8, align 8, offset 0] [def] [from ] |
| 232 | !28 = metadata !{i32 786489, metadata !1, null, metadata !"", i32 23} ; [ DW_TAG_namespace ] [line 23] |
| 233 | !29 = metadata !{metadata !30} |
| 234 | !30 = metadata !{i32 786478, metadata !1, metadata !27, metadata !"walrus", metadata !"walrus", metadata !"", i32 25, metadata !31, i1 false, i1 false, i32 0, i32 0, null, i32 256, i1 false, null, null, i32 0, metadata !34, i32 25} ; [ DW_TAG_subprogram ] [line 25] [walrus] |
| 235 | !31 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !32, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] |
| 236 | !32 = metadata !{null, metadata !33} |
| 237 | !33 = metadata !{i32 786447, null, null, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 1088, metadata !27} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from walrus] |
| 238 | !34 = metadata !{i32 786468} |
| 239 | !35 = metadata !{i32 786478, metadata !1, metadata !22, metadata !"", metadata !"", metadata !"_GLOBAL__I_a", i32 25, metadata !36, i1 true, i1 true, i32 0, i32 0, null, i32 64, i1 false, void ()* @_GLOBAL__I_a, null, null, metadata !2, i32 25} ; [ DW_TAG_subprogram ] [line 25] [local] [def] |
| 240 | !36 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !2, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] |
| 241 | !37 = metadata !{metadata !38, metadata !39, metadata !40, metadata !41} |
| 242 | !38 = metadata !{i32 786484, i32 0, null, metadata !"b", metadata !"b", metadata !"", metadata !22, i32 3, metadata !4, i32 0, i32 1, %struct.bar* @b, null} ; [ DW_TAG_variable ] [b] [line 3] [def] |
| 243 | !39 = metadata !{i32 786484, i32 0, metadata !6, metadata !"animal", metadata !"animal", metadata !"_ZN7echidna8capybara8mongoose6animalE", metadata !22, i32 18, metadata !5, i32 0, i32 1, %"class.echidna::capybara::mongoose::fluffy"* @_ZN7echidna8capybara8mongoose6animalE, null} ; [ DW_TAG_variable ] [animal] [line 18] [def] |
| 244 | !40 = metadata !{i32 786484, i32 0, null, metadata !"w", metadata !"w", metadata !"", metadata !22, i32 29, metadata !27, i32 1, i32 1, %"struct.<anonymous namespace>::walrus"* @w, null} ; [ DW_TAG_variable ] [w] [line 29] [local] [def] |
| 245 | !41 = metadata !{i32 786484, i32 0, null, metadata !"wom", metadata !"wom", metadata !"", metadata !22, i32 38, metadata !13, i32 0, i32 1, %struct.wombat* @wom, null} ; [ DW_TAG_variable ] [wom] [line 38] [def] |
| 246 | !42 = metadata !{i32 2, metadata !"Dwarf Version", i32 4} |
| 247 | !43 = metadata !{metadata !"clang version 3.4 "} |
| 248 | !44 = metadata !{i32 786688, metadata !21, metadata !"b", metadata !22, i32 7, metadata !45, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [b] [line 7] |
| 249 | !45 = metadata !{i32 786451, metadata !1, metadata !21, metadata !"baz", i32 6, i64 8, i64 8, i32 0, i32 0, null, metadata !2, i32 0, null, null, null} ; [ DW_TAG_structure_type ] [baz] [line 6, size 8, align 8, offset 0] [def] [from ] |
| 250 | !46 = metadata !{i32 7, i32 0, metadata !21, null} |
| 251 | !47 = metadata !{i32 8, i32 0, metadata !21, null} ; [ DW_TAG_imported_declaration ] |
| 252 | !48 = metadata !{i32 29, i32 0, metadata !25, null} |
| 253 | !49 = metadata !{i32 786689, metadata !26, metadata !"this", null, i32 16777216, metadata !50, i32 1088, i32 0} ; [ DW_TAG_arg_variable ] [this] [line 0] |
| 254 | !50 = metadata !{i32 786447, null, null, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 0, metadata !27} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from walrus] |
| 255 | !51 = metadata !{i32 0, i32 0, metadata !26, null} |
| 256 | !52 = metadata !{i32 25, i32 0, metadata !26, null} |
| 257 | !53 = metadata !{i32 25, i32 0, metadata !35, null} |
Manman Ren | 409558f | 2013-11-22 21:49:45 +0000 | [diff] [blame] | 258 | !54 = metadata !{i32 1, metadata !"Debug Info Version", i32 1} |