pr11465.S revision 1.9
1/* Copyright 2010-2020 Free Software Foundation, Inc. 2 3 This program is free software; you can redistribute it and/or modify 4 it under the terms of the GNU General Public License as published by 5 the Free Software Foundation; either version 3 of the License, or 6 (at your option) any later version. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 15 16/* Compiled from: 17 18 namespace N 19 { 20 class C 21 { 22 public: 23 typedef void (*t) (C); 24 C (t) {} 25 }; 26 typedef C::t u; 27 u f; 28 C c (f); 29 }; 30 31 int 32 main () 33 { 34 return 0; 35 } 36*/ 37 38 .text 39text_start: 40_ZN1N1cE: 41 /* Valid function must have non-empty PC range. */ 42 .4byte 0 43text_end: 44 45 .section .debug_info 46d: 47 .4byte .Ldebug_info_end - 1f /* Length of CU info */ 481: 49 .2byte 0x2 /* DWARF version number */ 50 .4byte .Ldebug_abbrev0 /* Abbrev offset */ 51 .byte 0x4 /* Pointer size */ 52dieb: .uleb128 0x1 /* DW_TAG_compile_unit */ 53 .4byte .LASF4 /* DW_AT_producer */ 54 .byte 0x4 /* DW_AT_language */ 55 .4byte .LASF5 /* DW_AT_name */ 56 .4byte .LASF6 /* DW_AT_comp_dir */ 57 .4byte text_start /* DW_AT_low_pc */ 58 .4byte text_end /* DW_AT_high_pc */ 59 .4byte text_start /* DW_AT_entry_pc */ 60die29: .uleb128 0x2 /* DW_TAG_namespace */ 61 .string "N" /* DW_AT_name */ 62die32: .uleb128 0x3 /* DW_TAG_class_type */ 63 .string "C" /* DW_AT_name */ 64 .byte 0x1 /* DW_AT_declaration */ 65die36: .uleb128 0x4 /* DW_TAG_typedef */ 66 .string "u" /* DW_AT_name */ 67 .4byte die7e-d /* DW_AT_type */ 68die3f: .uleb128 0x5 /* DW_TAG_variable */ 69 .string "f" /* DW_AT_name */ 70 .4byte .LASF0 /* DW_AT_MIPS_linkage_name */ 71 .4byte die36-d /* DW_AT_type */ 72 .byte 0x1 /* DW_AT_external */ 73 .byte 0x1 /* DW_AT_declaration */ 74die4e: .uleb128 0x5 /* DW_TAG_variable */ 75 .string "c" /* DW_AT_name */ 76 .4byte .LASF1 /* DW_AT_MIPS_linkage_name */ 77 .4byte die5e-d /* DW_AT_type */ 78 .byte 0x1 /* DW_AT_external */ 79 .byte 0x1 /* DW_AT_declaration */ 80 .byte 0x0 81die5e: .uleb128 0x6 /* DW_TAG_class_type */ 82 .4byte die32-d /* DW_AT_specification */ 83 .byte 0x1 /* DW_AT_byte_size */ 84die6a: .uleb128 0x7 /* DW_TAG_subprogram */ 85 .byte 0x1 /* DW_AT_external */ 86 .string "C" /* DW_AT_name */ 87 .byte 0x1 /* DW_AT_declaration */ 88die71: .uleb128 0x8 /* DW_TAG_formal_parameter */ 89 .4byte die8f-d /* DW_AT_type */ 90 .byte 0x1 /* DW_AT_artificial */ 91die77: .uleb128 0x9 /* DW_TAG_formal_parameter */ 92 .4byte die7e-d /* DW_AT_type */ 93 .byte 0x0 94 .byte 0x0 95die7e: .uleb128 0xa /* DW_TAG_pointer_type */ 96 .byte PTRBITS / 8 /* DW_AT_byte_size */ 97 .4byte die84-d /* DW_AT_type */ 98die84: .uleb128 0xb /* DW_TAG_subroutine_type */ 99die89: .uleb128 0x9 /* DW_TAG_formal_parameter */ 100 .4byte die5e-d /* DW_AT_type */ 101 .byte 0x0 102die8f: .uleb128 0xa /* DW_TAG_pointer_type */ 103 .byte PTRBITS / 8 /* DW_AT_byte_size */ 104 .4byte die5e-d /* DW_AT_type */ 105die95: .uleb128 0xc /* DW_TAG_subprogram */ 106 .4byte die6a-d /* DW_AT_specification */ 107 .byte 0x2 /* DW_AT_inline */ 108die9f: .uleb128 0xd /* DW_TAG_formal_parameter */ 109 .4byte .LASF7 /* DW_AT_name */ 110 .4byte dieaf-d /* DW_AT_type */ 111 .byte 0x1 /* DW_AT_artificial */ 112diea9: .uleb128 0x9 /* DW_TAG_formal_parameter */ 113 .4byte die7e-d /* DW_AT_type */ 114 .byte 0x0 115dieaf: .uleb128 0xe /* DW_TAG_const_type */ 116 .4byte die8f-d /* DW_AT_type */ 117dieb4: .uleb128 0xf /* DW_TAG_subprogram */ 118 .4byte die95-d /* DW_AT_abstract_origin */ 119 .4byte _ZN1N1cE /* DW_AT_low_pc */ 120 .4byte _ZN1N1cE + (text_end - text_start) 121 /* DW_AT_high_pc */ 122diec9: .uleb128 0x10 /* DW_TAG_subprogram */ 123 .4byte die9f-d /* DW_AT_abstract_origin */ 124 .byte 2f-1f /* DW_AT_location */ 1251: 126 .byte 0x50 /* DW_OP_reg0 */ 1272: 128died1: .uleb128 0x10 /* DW_TAG_formal_parameter */ 129 .4byte diea9-d /* DW_AT_abstract_origin */ 130 .byte 2f-1f /* DW_AT_location */ 1311: 132 .byte 0x51 /* DW_OP_reg1 */ 1332: 134 .byte 0x0 135dieda: .uleb128 0x11 /* DW_TAG_subprogram */ 136 .byte 0x1 /* DW_AT_external */ 137 .4byte .LASF8 /* DW_AT_name */ 138 .4byte dief2-d /* DW_AT_type */ 139 .4byte _ZN1N1cE /* DW_AT_low_pc */ 140 .4byte _ZN1N1cE + (text_end - text_start) 141 /* DW_AT_high_pc */ 142dief2: .uleb128 0x12 /* DW_TAG_base_type */ 143 .byte 0x4 /* DW_AT_byte_size */ 144 .byte 0x5 /* DW_AT_encoding */ 145 .string "int" /* DW_AT_name */ 146die149: .uleb128 0x16 /* DW_TAG_variable */ 147 .4byte die4e-d /* DW_AT_specification */ 148 .byte 0x5 /* DW_AT_location */ 149 .byte 0x3 150 .4byte _ZN1N1cE 151 .byte 0x0 152.Ldebug_info_end: 153 .section .debug_abbrev 154.Ldebug_abbrev0: 155 .uleb128 0x1 /* abbrev code*/ 156 .uleb128 0x11 /* DW_TAG_compile_unit */ 157 .byte 0x1 /* DW_children_yes */ 158 .uleb128 0x25 /* DW_AT_producer*/ 159 .uleb128 0xe /* DW_FORM_strp */ 160 .uleb128 0x13 /* DW_AT_language */ 161 .uleb128 0xb /* DW_FORM_data1 */ 162 .uleb128 0x3 /* DW_AT_name */ 163 .uleb128 0xe /* DW_FORM_strp */ 164 .uleb128 0x1b /* DW_AT_comp_dir */ 165 .uleb128 0xe /* DW_FORM_strp */ 166 .uleb128 0x11 /* DW_AT_low_pc */ 167 .uleb128 0x1 /* DW_FORM_addr */ 168 .uleb128 0x12 /* DW_AT_high_pc */ 169 .uleb128 0x1 /* DW_FORM_addr */ 170 .uleb128 0x52 /* DW_AT_entry_pc */ 171 .uleb128 0x1 /* DW_FORM_addr */ 172 .byte 0x0 173 .byte 0x0 174 .uleb128 0x2 /* abbrev code */ 175 .uleb128 0x39 /* DW_TAG_namespace */ 176 .byte 0x1 /* DW_children_yes */ 177 .uleb128 0x3 /* DW_AT_name */ 178 .uleb128 0x8 /* DW_FORM_string */ 179 .byte 0x0 180 .byte 0x0 181 .uleb128 0x3 /* abbrev code */ 182 .uleb128 0x2 /* DW_TAG_class_type */ 183 .byte 0x0 /* DW_has_children_no */ 184 .uleb128 0x3 /* DW_AT_name */ 185 .uleb128 0x8 /* DW_FORM_string */ 186 .uleb128 0x3c /* DW_AT_declaration */ 187 .uleb128 0xc /* DW_FORM_flag */ 188 .byte 0x0 189 .byte 0x0 190 .uleb128 0x4 /* abbrev code */ 191 .uleb128 0x16 /* DW_TAG_typedef */ 192 .byte 0x0 /* DW_has_children_no */ 193 .uleb128 0x3 /* DW_AT_name */ 194 .uleb128 0x8 /* DW_FORM_string */ 195 .uleb128 0x49 /* DW_AT_type */ 196 .uleb128 0x13 /* DW_FORM_ref4 */ 197 .byte 0x0 198 .byte 0x0 199 .uleb128 0x5 /* abbrev code */ 200 .uleb128 0x34 /* DW_TAG_variable */ 201 .byte 0x0 /* DW_has_children_no */ 202 .uleb128 0x3 /* DW_AT_name */ 203 .uleb128 0x8 /* DW_FORM_string */ 204 .uleb128 0x2007 /* DW_AT_MIPS_linkage_name */ 205 .uleb128 0xe /* DW_FORM_strp */ 206 .uleb128 0x49 /* DW_AT_TYPE */ 207 .uleb128 0x13 /* DW_FORM_ref4 */ 208 .uleb128 0x3f /* DW_AT_external */ 209 .uleb128 0xc /* DW_FORM_flag */ 210 .uleb128 0x3c /* DW_AT_declaration */ 211 .uleb128 0xc /* DW_FORM_flag */ 212 .byte 0x0 213 .byte 0x0 214 .uleb128 0x6 /* abbrev code */ 215 .uleb128 0x2 /* DW_TAG_class_type */ 216 .byte 0x1 /* DW_has_children_yes */ 217 .uleb128 0x47 /* DW_AT_specification */ 218 .uleb128 0x13 /* DW_FORM_ref4 */ 219 .uleb128 0xb /* DW_AT_byte_size */ 220 .uleb128 0xb /* DW_FORM_data1 */ 221 .byte 0x0 222 .byte 0x0 223 .uleb128 0x7 /* abbrev code */ 224 .uleb128 0x2e /* DW_TAG_subprogra */ 225 .byte 0x1 /* DW_has_children_yes */ 226 .uleb128 0x3f /* DW_AT_external */ 227 .uleb128 0xc /* DW_FORM_flag */ 228 .uleb128 0x3 /* DW_AT_name */ 229 .uleb128 0x8 /* DW_FORM_string */ 230 .uleb128 0x3c /* DW_AT_declaration */ 231 .uleb128 0xc /* DW_FORM_flag */ 232 .byte 0x0 233 .byte 0x0 234 .uleb128 0x8 /* abbrev code */ 235 .uleb128 0x5 /* DW_TAG_formal_parameter */ 236 .byte 0x0 /* DW_has_children_no */ 237 .uleb128 0x49 /* DW_AT_type */ 238 .uleb128 0x13 /* DW_FORM_ref4 */ 239 .uleb128 0x34 /* DW_AT_artificial */ 240 .uleb128 0xc /* DW_FORM_flag */ 241 .byte 0x0 242 .byte 0x0 243 .uleb128 0x9 /* abbrev code */ 244 .uleb128 0x5 /* DW_TAG_formal_parameter */ 245 .byte 0x0 /* DW_has_children_no */ 246 .uleb128 0x49 /* DW_AT_type */ 247 .uleb128 0x13 /* DW_FORM_ref4 */ 248 .byte 0x0 249 .byte 0x0 250 .uleb128 0xa /* abbrev code */ 251 .uleb128 0xf /* DW_TAG_pointer_type */ 252 .byte 0x0 /* DW_has_children_no */ 253 .uleb128 0xb /* DW_AT_byte_size */ 254 .uleb128 0xb /* DW_FORM_data1 */ 255 .uleb128 0x49 /* DW_AT_type */ 256 .uleb128 0x13 /* DW_FORM_ref4 */ 257 .byte 0x0 258 .byte 0x0 259 .uleb128 0xb /* abbrev code */ 260 .uleb128 0x15 /* DW_TAG_subroutine_type */ 261 .byte 0x1 /* DW_has_children_yes */ 262 .byte 0x0 263 .byte 0x0 264 .uleb128 0xc /* abbrev code */ 265 .uleb128 0x2e /* DW_TAG_subprogram */ 266 .byte 0x1 /* DW_has_children_yes */ 267 .uleb128 0x47 /* DW_AT_specification */ 268 .uleb128 0x13 /* DW_FORM_ref4 */ 269 .uleb128 0x20 /* DW_AT_inline */ 270 .uleb128 0xb /* DW_FORM_data1 */ 271 .byte 0x0 272 .byte 0x0 273 .uleb128 0xd /* abbrev code */ 274 .uleb128 0x5 /* DW_TAG_formal_parameter */ 275 .byte 0x0 /* DW_has_children_no */ 276 .uleb128 0x3 /* DW_AT_name */ 277 .uleb128 0xe /* DW_FORM_strp */ 278 .uleb128 0x49 /* DW_AT_type */ 279 .uleb128 0x13 /* DW_FORM_ref4 */ 280 .uleb128 0x34 /* DW_AT_artificial */ 281 .uleb128 0xc /* DW_FORM_flag */ 282 .byte 0x0 283 .byte 0x0 284 .uleb128 0xe /* abbrev code */ 285 .uleb128 0x26 /* DW_TAG_const_type */ 286 .byte 0x0 /* DW_has_children_no */ 287 .uleb128 0x49 /* DW_AT_type */ 288 .uleb128 0x13 /* DW_FORM_ref4 */ 289 .byte 0x0 290 .byte 0x0 291 .uleb128 0xf /* abbrev code */ 292 .uleb128 0x2e /* DW_TAG_subprogram */ 293 .byte 0x1 /* DW_has_children_yes */ 294 .uleb128 0x31 /* DW_AT_abstract_origin */ 295 .uleb128 0x13 /* DW_FORM_ref4 */ 296 .uleb128 0x11 /* DW_AT_low_pc */ 297 .uleb128 0x1 /* DW_FORM_addr */ 298 .uleb128 0x12 /* DW_AT_high_pc */ 299 .uleb128 0x1 /* DW_FORM_addr */ 300 .byte 0x0 301 .byte 0x0 302 .uleb128 0x10 /* abbrev code */ 303 .uleb128 0x5 /* DW_TAG_formal_parameter */ 304 .byte 0x0 /* DW_has_children_no */ 305 .uleb128 0x31 /* DW_AT_abstract_origin */ 306 .uleb128 0x13 /* DW_FORM_ref4 */ 307 .uleb128 0x2 /* DW_AT_location */ 308 .uleb128 0xa /* DW_FORM_block1 */ 309 .byte 0x0 310 .byte 0x0 311 .uleb128 0x11 /* abbrev code */ 312 .uleb128 0x2e /* DW_TAG_subprogram */ 313 .byte 0x0 /* DW_has_children_no */ 314 .uleb128 0x3f /* DW_AT_external */ 315 .uleb128 0xc /* DW_FORM_flag */ 316 .uleb128 0x3 /* DW_AT_name */ 317 .uleb128 0xe /* DW_FORM_strp */ 318 .uleb128 0x49 /* DW_AT_type */ 319 .uleb128 0x13 /* DW_FORM_ref4 */ 320 .uleb128 0x11 /* DW_AT_low_pc */ 321 .uleb128 0x1 /* DW_FORM_addr */ 322 .uleb128 0x12 /* DW_AT_high_pc */ 323 .uleb128 0x1 /* DW_FORM_addr */ 324 .byte 0x0 325 .byte 0x0 326 .uleb128 0x12 /* abbrev code */ 327 .uleb128 0x24 /* DW_TAG_base_type */ 328 .byte 0x0 /* DW_has_children_no */ 329 .uleb128 0xb /* DW_AT_byte_size */ 330 .uleb128 0xb /* DW_FORM_data1 */ 331 .uleb128 0x3e /* DW_AT_encoding */ 332 .uleb128 0xb /* DW_FORM_data1 */ 333 .uleb128 0x3 /* DW_AT_name */ 334 .uleb128 0x8 /* DW_FORM_string */ 335 .byte 0x0 336 .byte 0x0 337 .uleb128 0x16 /* abbrev code */ 338 .uleb128 0x34 /* DW_TAG_variable */ 339 .byte 0x0 /* DW_has_children_no */ 340 .uleb128 0x47 /* DW_AT_specification */ 341 .uleb128 0x13 /* DW_FORM_ref4 */ 342 .uleb128 0x2 /* DW_AT_location */ 343 .uleb128 0xa /* DW_FORM_block1 */ 344 .byte 0x0 345 .byte 0x0 346 .byte 0x0 347 .section .debug_str 348.LASF0: 349 .string "_ZN1N1fE" 350.LASF7: 351 .string "this" 352.LASF6: 353 .string "" 354.LASF8: 355 .string "main" 356.LASF1: 357 .string "_ZN1N1cE" 358.LASF5: 359 .string "pr11465.cc" 360.LASF4: 361 .string "GNU C++ 4.4.2" 362 .ident "GCC: (GNU) 4.4.2" 363