7
7
; struct base {
8
8
; virtual ~base();
9
9
; };
10
+ ; typedef base base_type;
10
11
; struct foo {
11
- ; base b;
12
+ ; base_type b;
12
13
; };
13
14
; foo f;
14
15
20
21
21
22
%struct.foo = type { %struct.base }
22
23
%struct.base = type { i32 (...)** }
24
+
25
+ $_ZN3fooC2Ev = comdat any
26
+
27
+ $_ZN3fooD2Ev = comdat any
28
+
29
+ $_ZN4baseC2Ev = comdat any
30
+
23
31
@f = global %struct.foo zeroinitializer , align 8
24
32
@__dso_handle = external global i8
25
33
@_ZTV4base = external unnamed_addr constant [4 x i8* ]
26
- @llvm.global_ctors = appending global [1 x { i32 , void ()* }] [{ i32 , void ()* } { i32 65535 , void ()* @_GLOBAL__I_a }]
34
+ @llvm.global_ctors = appending global [1 x { i32 , void ()*, i8* }] [{ i32 , void ()*, i8* } { i32 65535 , void ()* @_GLOBAL__sub_I_decl_derived_member.cpp , i8* null }]
27
35
28
36
define internal void @__cxx_global_var_init () section ".text.startup" {
29
37
entry:
30
- call void @_ZN3fooC2Ev (%struct.foo* @f ) #2 , !dbg !35
31
- %0 = call i32 @__cxa_atexit (void (i8* )* bitcast (void (%struct.foo* )* @_ZN3fooD2Ev to void (i8* )*), i8* bitcast (%struct.foo* @f to i8* ), i8* @__dso_handle ) #2 , !dbg !35
32
- ret void , !dbg !35
38
+ call void @_ZN3fooC2Ev (%struct.foo* @f ) #2 , !dbg !33
39
+ %0 = call i32 @__cxa_atexit (void (i8* )* bitcast (void (%struct.foo* )* @_ZN3fooD2Ev to void (i8* )*), i8* bitcast (%struct.foo* @f to i8* ), i8* @__dso_handle ) #2 , !dbg !33
40
+ ret void , !dbg !33
33
41
}
34
42
35
43
; Function Attrs: inlinehint nounwind uwtable
36
- define linkonce_odr void @_ZN3fooC2Ev (%struct.foo* %this ) unnamed_addr #0 align 2 {
44
+ define linkonce_odr void @_ZN3fooC2Ev (%struct.foo* %this ) unnamed_addr #0 comdat align 2 {
37
45
entry:
38
46
%this.addr = alloca %struct.foo* , align 8
39
47
store %struct.foo* %this , %struct.foo** %this.addr , align 8
40
- call void @llvm.dbg.declare (metadata %struct.foo** %this.addr , metadata !36 , metadata !{! "0x102" } ), !dbg !38
48
+ call void @llvm.dbg.declare (metadata %struct.foo** %this.addr , metadata !34 , metadata !36 ), !dbg !37
41
49
%this1 = load %struct.foo** %this.addr
42
- %b = getelementptr inbounds %struct.foo* %this1 , i32 0 , i32 0 , !dbg !39
43
- call void @_ZN4baseC2Ev (%struct.base* %b ) #2 , !dbg !39
44
- ret void , !dbg !39
50
+ %b = getelementptr inbounds %struct.foo* %this1 , i32 0 , i32 0 , !dbg !38
51
+ call void @_ZN4baseC2Ev (%struct.base* %b ) #2 , !dbg !38
52
+ ret void , !dbg !38
45
53
}
46
54
47
55
; Function Attrs: inlinehint uwtable
48
- define linkonce_odr void @_ZN3fooD2Ev (%struct.foo* %this ) unnamed_addr #1 align 2 {
56
+ define linkonce_odr void @_ZN3fooD2Ev (%struct.foo* %this ) unnamed_addr #1 comdat align 2 {
49
57
entry:
50
58
%this.addr = alloca %struct.foo* , align 8
51
59
store %struct.foo* %this , %struct.foo** %this.addr , align 8
52
- call void @llvm.dbg.declare (metadata %struct.foo** %this.addr , metadata !40 , metadata !{! "0x102" } ), !dbg !41
60
+ call void @llvm.dbg.declare (metadata %struct.foo** %this.addr , metadata !39 , metadata !36 ), !dbg !40
53
61
%this1 = load %struct.foo** %this.addr
54
- %b = getelementptr inbounds %struct.foo* %this1 , i32 0 , i32 0 , !dbg !42
55
- call void @_ZN4baseD1Ev (%struct.base* %b ), !dbg !42
56
- ret void , !dbg !44
62
+ %b = getelementptr inbounds %struct.foo* %this1 , i32 0 , i32 0 , !dbg !41
63
+ call void @_ZN4baseD1Ev (%struct.base* %b ), !dbg !41
64
+ ret void , !dbg !43
57
65
}
58
66
59
67
; Function Attrs: nounwind
@@ -62,24 +70,24 @@ declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) #2
62
70
; Function Attrs: nounwind readnone
63
71
declare void @llvm.dbg.declare (metadata , metadata , metadata ) #3
64
72
65
- declare void @_ZN4baseD1Ev (%struct.base* ) #4
66
-
67
73
; Function Attrs: inlinehint nounwind uwtable
68
- define linkonce_odr void @_ZN4baseC2Ev (%struct.base* %this ) unnamed_addr #0 align 2 {
74
+ define linkonce_odr void @_ZN4baseC2Ev (%struct.base* %this ) unnamed_addr #0 comdat align 2 {
69
75
entry:
70
76
%this.addr = alloca %struct.base* , align 8
71
77
store %struct.base* %this , %struct.base** %this.addr , align 8
72
- call void @llvm.dbg.declare (metadata %struct.base** %this.addr , metadata !45 , metadata !{! "0x102" } ), !dbg !47
78
+ call void @llvm.dbg.declare (metadata %struct.base** %this.addr , metadata !44 , metadata !36 ), !dbg !46
73
79
%this1 = load %struct.base** %this.addr
74
- %0 = bitcast %struct.base* %this1 to i8 *** , !dbg !48
75
- store i8** getelementptr inbounds ([4 x i8* ]* @_ZTV4base , i64 0 , i64 2 ), i8 *** %0 , !dbg !48
76
- ret void , !dbg !48
80
+ %0 = bitcast %struct.base* %this1 to i32 (...) ***, !dbg !47
81
+ store i32 (...)** bitcast ( i8** getelementptr inbounds ([4 x i8* ]* @_ZTV4base , i64 0 , i64 2 ) to i32 (...)**), i32 (...) *** %0 , !dbg !47
82
+ ret void , !dbg !47
77
83
}
78
84
79
- define internal void @_GLOBAL__I_a () section ".text.startup" {
85
+ declare void @_ZN4baseD1Ev (%struct.base* ) #4
86
+
87
+ define internal void @_GLOBAL__sub_I_decl_derived_member.cpp () section ".text.startup" {
80
88
entry:
81
- call void @__cxx_global_var_init (), !dbg !49
82
- ret void , !dbg !49
89
+ call void @__cxx_global_var_init (), !dbg !48
90
+ ret void
83
91
}
84
92
85
93
attributes #0 = { inlinehint 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" }
@@ -89,56 +97,55 @@ attributes #3 = { nounwind readnone }
89
97
attributes #4 = { "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" }
90
98
91
99
!llvm.dbg.cu = !{!0 }
92
- !llvm.module.flags = !{!32 , !33 }
93
- !llvm.ident = !{!34 }
100
+ !llvm.module.flags = !{!30 , !31 }
101
+ !llvm.ident = !{!32 }
94
102
95
- !0 = !{!"0x11\00 4\00 clang version 3.5 .0 (trunk 203673 ) (llvm/trunk 203681 )\00 0\00\00 0\00\00 1" , !1 , !2 , !3 , !8 , !30 , !2 } ; [ DW_TAG_compile_unit ] [/usr/local/google/home/echristo/foo.cc ] [DW_LANG_C_plus_plus]
96
- !1 = !{!"foo.cc " , !"/usr/local/google/home/echristo " }
103
+ !0 = !{!"0x11\00 4\00 clang version 3.7 .0 (trunk 227104 ) (llvm/trunk 227103 )\00 0\00\00 0\00\00 1" , !1 , !2 , !3 , !9 , !28 , !2 } ; [ DW_TAG_compile_unit ] [/tmp/dbginfo/decl-derived-member.cpp ] [DW_LANG_C_plus_plus]
104
+ !1 = !{!"decl-derived-member.cpp " , !"/tmp/dbginfo " }
97
105
!2 = !{}
98
- !3 = !{!4 , !7 }
106
+ !3 = !{!4 , !8 }
99
107
!4 = !{!"0x13\00 foo\00 5\00 64\00 64\00 0\00 0\00 0" , !1 , null , null , !5 , null , null , !"_ZTS3foo" } ; [ DW_TAG_structure_type ] [foo] [line 5, size 64, align 64, offset 0] [def] [from ]
100
108
!5 = !{!6 }
101
- !6 = !{!"0xd\00 b\00 6\00 64\00 64\00 0\00 0" , !1 , !"_ZTS3foo" , !"_ZTS4base" } ; [ DW_TAG_member ] [b] [line 6, size 64, align 64, offset 0] [from _ZTS4base]
102
- !7 = !{!"0x13\00 base\00 1\00 0\00 0\00 0\00 4\00 0" , !1 , null , null , null , null , null , !"_ZTS4base" } ; [ DW_TAG_structure_type ] [base] [line 1, size 0, align 0, offset 0] [decl] [from ]
103
- !8 = !{!9 , !13 , !19 , !22 , !28 }
104
- !9 = !{!"0x2e\00 __cxx_global_var_init\00 __cxx_global_var_init\00\00 9\00 1\00 1\00 0\00 6\00 256\00 0\00 9" , !1 , !10 , !11 , null , void ()* @__cxx_global_var_init , null , null , !2 } ; [ DW_TAG_subprogram ] [line 9] [local] [def] [__cxx_global_var_init]
105
- !10 = !{!"0x29" , !1 } ; [ DW_TAG_file_type ] [/usr/local/google/home/echristo/foo.cc]
106
- !11 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , i32 0 , null , null , !12 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
107
- !12 = !{null }
108
- !13 = !{!"0x2e\00 ~foo\00 ~foo\00 _ZN3fooD2Ev\00 5\00 0\00 1\00 0\00 6\00 320\00 0\00 5" , !1 , !"_ZTS3foo" , !14 , null , void (%struct.foo* )* @_ZN3fooD2Ev , null , !17 , !2 } ; [ DW_TAG_subprogram ] [line 5] [def] [~foo]
109
- !14 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , i32 0 , null , null , !15 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
110
- !15 = !{null , !16 }
111
- !16 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 1088" , null , null , !"_ZTS3foo" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from _ZTS3foo]
112
- !17 = !{!"0x2e\00 ~foo\00 ~foo\00\00 0\00 0\00 0\00 0\00 6\00 320\00 0\00 0" , null , !"_ZTS3foo" , !14 , null , null , null , i32 0 , !18 } ; [ DW_TAG_subprogram ] [line 0] [~foo]
113
- !18 = !{i32 786468 }
114
- !19 = !{!"0x2e\00 foo\00 foo\00 _ZN3fooC2Ev\00 5\00 0\00 1\00 0\00 6\00 320\00 0\00 5" , !1 , !"_ZTS3foo" , !14 , null , void (%struct.foo* )* @_ZN3fooC2Ev , null , !20 , !2 } ; [ DW_TAG_subprogram ] [line 5] [def] [foo]
115
- !20 = !{!"0x2e\00 foo\00 foo\00\00 0\00 0\00 0\00 0\00 6\00 320\00 0\00 0" , null , !"_ZTS3foo" , !14 , null , null , null , i32 0 , !21 } ; [ DW_TAG_subprogram ] [line 0] [foo]
116
- !21 = !{i32 786468 }
117
- !22 = !{!"0x2e\00 base\00 base\00 _ZN4baseC2Ev\00 1\00 0\00 1\00 0\00 6\00 320\00 0\00 1" , !1 , !"_ZTS4base" , !23 , null , void (%struct.base* )* @_ZN4baseC2Ev , null , !26 , !2 } ; [ DW_TAG_subprogram ] [line 1] [def] [base]
118
- !23 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , i32 0 , null , null , !24 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
119
- !24 = !{null , !25 }
120
- !25 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 1088" , null , null , !"_ZTS4base" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from _ZTS4base]
121
- !26 = !{!"0x2e\00 base\00 base\00\00 0\00 0\00 0\00 0\00 6\00 320\00 0\00 0" , null , !"_ZTS4base" , !23 , null , null , null , i32 0 , !27 } ; [ DW_TAG_subprogram ] [line 0] [base]
122
- !27 = !{i32 786468 }
123
- !28 = !{!"0x2e\00\00\00 _GLOBAL__I_a\00 1\00 1\00 1\00 0\00 6\00 64\00 0\00 1" , !1 , !10 , !29 , null , void ()* @_GLOBAL__I_a , null , null , !2 } ; [ DW_TAG_subprogram ] [line 1] [local] [def]
124
- !29 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , i32 0 , null , null , !2 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
125
- !30 = !{!31 }
126
- !31 = !{!"0x34\00 f\00 f\00\00 9\00 0\00 1" , null , !10 , !4 , %struct.foo* @f , null } ; [ DW_TAG_variable ] [f] [line 9] [def]
127
- !32 = !{i32 2 , !"Dwarf Version" , i32 4 }
128
- !33 = !{i32 1 , !"Debug Info Version" , i32 2 }
129
- !34 = !{!"clang version 3.5.0 (trunk 203673) (llvm/trunk 203681)" }
130
- !35 = !MDLocation (line: 9 , scope: !9 )
131
- !36 = !{!"0x101\00 this\00 16777216\00 1088" , !19 , null , !37 } ; [ DW_TAG_arg_variable ] [this] [line 0]
132
- !37 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 0" , null , null , !"_ZTS3foo" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS3foo]
133
- !38 = !MDLocation (line: 0 , scope: !19 )
134
- !39 = !MDLocation (line: 5 , scope: !19 )
135
- !40 = !{!"0x101\00 this\00 16777216\00 1088" , !13 , null , !37 } ; [ DW_TAG_arg_variable ] [this] [line 0]
136
- !41 = !MDLocation (line: 0 , scope: !13 )
137
- !42 = !MDLocation (line: 5 , scope: !43 )
138
- !43 = !{!"0xb\00 5\00 0\00 0" , !1 , !13 } ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/foo.cc]
139
- !44 = !MDLocation (line: 5 , scope: !13 )
140
- !45 = !{!"0x101\00 this\00 16777216\00 1088" , !22 , null , !46 } ; [ DW_TAG_arg_variable ] [this] [line 0]
141
- !46 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 0" , null , null , !"_ZTS4base" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS4base]
142
- !47 = !MDLocation (line: 0 , scope: !22 )
143
- !48 = !MDLocation (line: 1 , scope: !22 )
144
- !49 = !MDLocation (line: 1 , scope: !28 )
109
+ !6 = !{!"0xd\00 b\00 6\00 64\00 64\00 0\00 0" , !1 , !"_ZTS3foo" , !7 } ; [ DW_TAG_member ] [b] [line 6, size 64, align 64, offset 0] [from base_type]
110
+ !7 = !{!"0x16\00 base_type\00 4\00 0\00 0\00 0\00 0" , !1 , null , !"_ZTS4base" } ; [ DW_TAG_typedef ] [base_type] [line 4, size 0, align 0, offset 0] [from _ZTS4base]
111
+ !8 = !{!"0x13\00 base\00 1\00 0\00 0\00 0\00 4\00 0" , !1 , null , null , null , null , null , !"_ZTS4base" } ; [ DW_TAG_structure_type ] [base] [line 1, size 0, align 0, offset 0] [decl] [from ]
112
+ !9 = !{!10 , !14 , !19 , !24 , !26 }
113
+ !10 = !{!"0x2e\00 __cxx_global_var_init\00 __cxx_global_var_init\00\00 8\00 1\00 1\00 0\00 0\00 256\00 0\00 8" , !1 , !11 , !12 , null , void ()* @__cxx_global_var_init , null , null , !2 } ; [ DW_TAG_subprogram ] [line 8] [local] [def] [__cxx_global_var_init]
114
+ !11 = !{!"0x29" , !1 } ; [ DW_TAG_file_type ] [/tmp/dbginfo/decl-derived-member.cpp]
115
+ !12 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , null , null , null , !13 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
116
+ !13 = !{null }
117
+ !14 = !{!"0x2e\00 foo\00 foo\00 _ZN3fooC2Ev\00 5\00 0\00 1\00 0\00 0\00 320\00 0\00 5" , !1 , !"_ZTS3foo" , !15 , null , void (%struct.foo* )* @_ZN3fooC2Ev , null , !18 , !2 } ; [ DW_TAG_subprogram ] [line 5] [def] [foo]
118
+ !15 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , null , null , null , !16 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
119
+ !16 = !{null , !17 }
120
+ !17 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 1088\00 " , null , null , !"_ZTS3foo" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from _ZTS3foo]
121
+ !18 = !{!"0x2e\00 foo\00 foo\00\00 0\00 0\00 0\00 0\00 0\00 320\00 0\00 0" , null , !"_ZTS3foo" , !15 , null , null , null , null , null } ; [ DW_TAG_subprogram ] [line 0] [foo]
122
+ !19 = !{!"0x2e\00 base\00 base\00 _ZN4baseC2Ev\00 1\00 0\00 1\00 0\00 0\00 320\00 0\00 1" , !1 , !"_ZTS4base" , !20 , null , void (%struct.base* )* @_ZN4baseC2Ev , null , !23 , !2 } ; [ DW_TAG_subprogram ] [line 1] [def] [base]
123
+ !20 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , null , null , null , !21 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
124
+ !21 = !{null , !22 }
125
+ !22 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 1088\00 " , null , null , !"_ZTS4base" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from _ZTS4base]
126
+ !23 = !{!"0x2e\00 base\00 base\00\00 0\00 0\00 0\00 0\00 0\00 320\00 0\00 0" , null , !"_ZTS4base" , !20 , null , null , null , null , null } ; [ DW_TAG_subprogram ] [line 0] [base]
127
+ !24 = !{!"0x2e\00 ~foo\00 ~foo\00 _ZN3fooD2Ev\00 5\00 0\00 1\00 0\00 0\00 320\00 0\00 5" , !1 , !"_ZTS3foo" , !15 , null , void (%struct.foo* )* @_ZN3fooD2Ev , null , !25 , !2 } ; [ DW_TAG_subprogram ] [line 5] [def] [~foo]
128
+ !25 = !{!"0x2e\00 ~foo\00 ~foo\00\00 0\00 0\00 0\00 0\00 0\00 320\00 0\00 0" , null , !"_ZTS3foo" , !15 , null , null , null , null , null } ; [ DW_TAG_subprogram ] [line 0] [~foo]
129
+ !26 = !{!"0x2e\00\00\00 _GLOBAL__sub_I_decl_derived_member.cpp\00 0\00 1\00 1\00 0\00 0\00 64\00 0\00 0" , !1 , !11 , !27 , null , void ()* @_GLOBAL__sub_I_decl_derived_member.cpp , null , null , !2 } ; [ DW_TAG_subprogram ] [line 0] [local] [def]
130
+ !27 = !{!"0x15\00\00 0\00 0\00 0\00 0\00 0\00 0" , null , null , null , !2 , null , null , null } ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
131
+ !28 = !{!29 }
132
+ !29 = !{!"0x34\00 f\00 f\00\00 8\00 0\00 1" , null , !11 , !"_ZTS3foo" , %struct.foo* @f , null } ; [ DW_TAG_variable ] [f] [line 8] [def]
133
+ !30 = !{i32 2 , !"Dwarf Version" , i32 4 }
134
+ !31 = !{i32 2 , !"Debug Info Version" , i32 2 }
135
+ !32 = !{!"clang version 3.7.0 (trunk 227104) (llvm/trunk 227103)" }
136
+ !33 = !MDLocation (line: 8 , column: 5 , scope: !10 )
137
+ !34 = !{!"0x101\00 this\00 16777216\00 1088" , !14 , null , !35 } ; [ DW_TAG_arg_variable ] [this] [line 0]
138
+ !35 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 0" , null , null , !"_ZTS3foo" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS3foo]
139
+ !36 = !{!"0x102" } ; [ DW_TAG_expression ]
140
+ !37 = !MDLocation (line: 0 , scope: !14 )
141
+ !38 = !MDLocation (line: 5 , column: 8 , scope: !14 )
142
+ !39 = !{!"0x101\00 this\00 16777216\00 1088" , !24 , null , !35 } ; [ DW_TAG_arg_variable ] [this] [line 0]
143
+ !40 = !MDLocation (line: 0 , scope: !24 )
144
+ !41 = !MDLocation (line: 5 , column: 8 , scope: !42 )
145
+ !42 = !{!"0xb\00 5\00 8\00 2" , !1 , !24 } ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/decl-derived-member.cpp]
146
+ !43 = !MDLocation (line: 5 , column: 8 , scope: !24 )
147
+ !44 = !{!"0x101\00 this\00 16777216\00 1088" , !19 , null , !45 } ; [ DW_TAG_arg_variable ] [this] [line 0]
148
+ !45 = !{!"0xf\00\00 0\00 64\00 64\00 0\00 0" , null , null , !"_ZTS4base" } ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS4base]
149
+ !46 = !MDLocation (line: 0 , scope: !19 )
150
+ !47 = !MDLocation (line: 1 , column: 8 , scope: !19 )
151
+ !48 = !MDLocation (line: 0 , scope: !26 )
0 commit comments