pr11465.S revision 1.1
1/* Copyright 2010-2014 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 .byte 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 + 1 /* DW_AT_high_pc */ 121diec9: .uleb128 0x10 /* DW_TAG_subprogram */ 122 .4byte die9f-d /* DW_AT_abstract_origin */ 123 .byte 2f-1f /* DW_AT_location */ 1241: 125 .byte 0x50 /* DW_OP_reg0 */ 1262: 127died1: .uleb128 0x10 /* DW_TAG_formal_parameter */ 128 .4byte diea9-d /* DW_AT_abstract_origin */ 129 .byte 2f-1f /* DW_AT_location */ 1301: 131 .byte 0x51 /* DW_OP_reg1 */ 1322: 133 .byte 0x0 134dieda: .uleb128 0x11 /* DW_TAG_subprogram */ 135 .byte 0x1 /* DW_AT_external */ 136 .4byte .LASF8 /* DW_AT_name */ 137 .4byte dief2-d /* DW_AT_type */ 138 .4byte _ZN1N1cE /* DW_AT_low_pc */ 139 .4byte _ZN1N1cE + 1 /* DW_AT_high_pc */ 140dief2: .uleb128 0x12 /* DW_TAG_base_type */ 141 .byte 0x4 /* DW_AT_byte_size */ 142 .byte 0x5 /* DW_AT_encoding */ 143 .string "int" /* DW_AT_name */ 144die149: .uleb128 0x16 /* DW_TAG_variable */ 145 .4byte die4e-d /* DW_AT_specification */ 146 .byte 0x5 /* DW_AT_location */ 147 .byte 0x3 148 .4byte _ZN1N1cE 149 .byte 0x0 150.Ldebug_info_end: 151 .section .debug_abbrev 152.Ldebug_abbrev0: 153 .uleb128 0x1 /* abbrev code*/ 154 .uleb128 0x11 /* DW_TAG_compile_unit */ 155 .byte 0x1 /* DW_children_yes */ 156 .uleb128 0x25 /* DW_AT_producer*/ 157 .uleb128 0xe /* DW_FORM_strp */ 158 .uleb128 0x13 /* DW_AT_language */ 159 .uleb128 0xb /* DW_FORM_data1 */ 160 .uleb128 0x3 /* DW_AT_name */ 161 .uleb128 0xe /* DW_FORM_strp */ 162 .uleb128 0x1b /* DW_AT_comp_dir */ 163 .uleb128 0xe /* DW_FORM_strp */ 164 .uleb128 0x11 /* DW_AT_low_pc */ 165 .uleb128 0x1 /* DW_FORM_addr */ 166 .uleb128 0x12 /* DW_AT_high_pc */ 167 .uleb128 0x1 /* DW_FORM_addr */ 168 .uleb128 0x52 /* DW_AT_entry_pc */ 169 .uleb128 0x1 /* DW_FORM_addr */ 170 .byte 0x0 171 .byte 0x0 172 .uleb128 0x2 /* abbrev code */ 173 .uleb128 0x39 /* DW_TAG_namespace */ 174 .byte 0x1 /* DW_children_yes */ 175 .uleb128 0x3 /* DW_AT_name */ 176 .uleb128 0x8 /* DW_FORM_string */ 177 .byte 0x0 178 .byte 0x0 179 .uleb128 0x3 /* abbrev code */ 180 .uleb128 0x2 /* DW_TAG_class_type */ 181 .byte 0x0 /* DW_has_children_no */ 182 .uleb128 0x3 /* DW_AT_name */ 183 .uleb128 0x8 /* DW_FORM_string */ 184 .uleb128 0x3c /* DW_AT_declaration */ 185 .uleb128 0xc /* DW_FORM_flag */ 186 .byte 0x0 187 .byte 0x0 188 .uleb128 0x4 /* abbrev code */ 189 .uleb128 0x16 /* DW_TAG_typedef */ 190 .byte 0x0 /* DW_has_children_no */ 191 .uleb128 0x3 /* DW_AT_name */ 192 .uleb128 0x8 /* DW_FORM_string */ 193 .uleb128 0x49 /* DW_AT_type */ 194 .uleb128 0x13 /* DW_FORM_ref4 */ 195 .byte 0x0 196 .byte 0x0 197 .uleb128 0x5 /* abbrev code */ 198 .uleb128 0x34 /* DW_TAG_variable */ 199 .byte 0x0 /* DW_has_children_no */ 200 .uleb128 0x3 /* DW_AT_name */ 201 .uleb128 0x8 /* DW_FORM_string */ 202 .uleb128 0x2007 /* DW_AT_MIPS_linkage_name */ 203 .uleb128 0xe /* DW_FORM_strp */ 204 .uleb128 0x49 /* DW_AT_TYPE */ 205 .uleb128 0x13 /* DW_FORM_ref4 */ 206 .uleb128 0x3f /* DW_AT_external */ 207 .uleb128 0xc /* DW_FORM_flag */ 208 .uleb128 0x3c /* DW_AT_declaration */ 209 .uleb128 0xc /* DW_FORM_flag */ 210 .byte 0x0 211 .byte 0x0 212 .uleb128 0x6 /* abbrev code */ 213 .uleb128 0x2 /* DW_TAG_class_type */ 214 .byte 0x1 /* DW_has_children_yes */ 215 .uleb128 0x47 /* DW_AT_specification */ 216 .uleb128 0x13 /* DW_FORM_ref4 */ 217 .uleb128 0xb /* DW_AT_byte_size */ 218 .uleb128 0xb /* DW_FORM_data1 */ 219 .byte 0x0 220 .byte 0x0 221 .uleb128 0x7 /* abbrev code */ 222 .uleb128 0x2e /* DW_TAG_subprogra */ 223 .byte 0x1 /* DW_has_children_yes */ 224 .uleb128 0x3f /* DW_AT_external */ 225 .uleb128 0xc /* DW_FORM_flag */ 226 .uleb128 0x3 /* DW_AT_name */ 227 .uleb128 0x8 /* DW_FORM_string */ 228 .uleb128 0x3c /* DW_AT_declaration */ 229 .uleb128 0xc /* DW_FORM_flag */ 230 .byte 0x0 231 .byte 0x0 232 .uleb128 0x8 /* abbrev code */ 233 .uleb128 0x5 /* DW_TAG_formal_parameter */ 234 .byte 0x0 /* DW_has_children_no */ 235 .uleb128 0x49 /* DW_AT_type */ 236 .uleb128 0x13 /* DW_FORM_ref4 */ 237 .uleb128 0x34 /* DW_AT_artificial */ 238 .uleb128 0xc /* DW_FORM_flag */ 239 .byte 0x0 240 .byte 0x0 241 .uleb128 0x9 /* abbrev code */ 242 .uleb128 0x5 /* DW_TAG_formal_parameter */ 243 .byte 0x0 /* DW_has_children_no */ 244 .uleb128 0x49 /* DW_AT_type */ 245 .uleb128 0x13 /* DW_FORM_ref4 */ 246 .byte 0x0 247 .byte 0x0 248 .uleb128 0xa /* abbrev code */ 249 .uleb128 0xf /* DW_TAG_pointer_type */ 250 .byte 0x0 /* DW_has_children_no */ 251 .uleb128 0xb /* DW_AT_byte_size */ 252 .uleb128 0xb /* DW_FORM_data1 */ 253 .uleb128 0x49 /* DW_AT_type */ 254 .uleb128 0x13 /* DW_FORM_ref4 */ 255 .byte 0x0 256 .byte 0x0 257 .uleb128 0xb /* abbrev code */ 258 .uleb128 0x15 /* DW_TAG_subroutine_type */ 259 .byte 0x1 /* DW_has_children_yes */ 260 .byte 0x0 261 .byte 0x0 262 .uleb128 0xc /* abbrev code */ 263 .uleb128 0x2e /* DW_TAG_subprogram */ 264 .byte 0x1 /* DW_has_children_yes */ 265 .uleb128 0x47 /* DW_AT_specification */ 266 .uleb128 0x13 /* DW_FORM_ref4 */ 267 .uleb128 0x20 /* DW_AT_inline */ 268 .uleb128 0xb /* DW_FORM_data1 */ 269 .byte 0x0 270 .byte 0x0 271 .uleb128 0xd /* abbrev code */ 272 .uleb128 0x5 /* DW_TAG_formal_parameter */ 273 .byte 0x0 /* DW_has_children_no */ 274 .uleb128 0x3 /* DW_AT_name */ 275 .uleb128 0xe /* DW_FORM_strp */ 276 .uleb128 0x49 /* DW_AT_type */ 277 .uleb128 0x13 /* DW_FORM_ref4 */ 278 .uleb128 0x34 /* DW_AT_artificial */ 279 .uleb128 0xc /* DW_FORM_flag */ 280 .byte 0x0 281 .byte 0x0 282 .uleb128 0xe /* abbrev code */ 283 .uleb128 0x26 /* DW_TAG_const_type */ 284 .byte 0x0 /* DW_has_children_no */ 285 .uleb128 0x49 /* DW_AT_type */ 286 .uleb128 0x13 /* DW_FORM_ref4 */ 287 .byte 0x0 288 .byte 0x0 289 .uleb128 0xf /* abbrev code */ 290 .uleb128 0x2e /* DW_TAG_subprogram */ 291 .byte 0x1 /* DW_has_children_yes */ 292 .uleb128 0x31 /* DW_AT_abstract_origin */ 293 .uleb128 0x13 /* DW_FORM_ref4 */ 294 .uleb128 0x11 /* DW_AT_low_pc */ 295 .uleb128 0x1 /* DW_FORM_addr */ 296 .uleb128 0x12 /* DW_AT_high_pc */ 297 .uleb128 0x1 /* DW_FORM_addr */ 298 .byte 0x0 299 .byte 0x0 300 .uleb128 0x10 /* abbrev code */ 301 .uleb128 0x5 /* DW_TAG_formal_parameter */ 302 .byte 0x0 /* DW_has_children_no */ 303 .uleb128 0x31 /* DW_AT_abstract_origin */ 304 .uleb128 0x13 /* DW_FORM_ref4 */ 305 .uleb128 0x2 /* DW_AT_location */ 306 .uleb128 0xa /* DW_FORM_block1 */ 307 .byte 0x0 308 .byte 0x0 309 .uleb128 0x11 /* abbrev code */ 310 .uleb128 0x2e /* DW_TAG_subprogram */ 311 .byte 0x0 /* DW_has_children_no */ 312 .uleb128 0x3f /* DW_AT_external */ 313 .uleb128 0xc /* DW_FORM_flag */ 314 .uleb128 0x3 /* DW_AT_name */ 315 .uleb128 0xe /* DW_FORM_strp */ 316 .uleb128 0x49 /* DW_AT_type */ 317 .uleb128 0x13 /* DW_FORM_ref4 */ 318 .uleb128 0x11 /* DW_AT_low_pc */ 319 .uleb128 0x1 /* DW_FORM_addr */ 320 .uleb128 0x12 /* DW_AT_high_pc */ 321 .uleb128 0x1 /* DW_FORM_addr */ 322 .byte 0x0 323 .byte 0x0 324 .uleb128 0x12 /* abbrev code */ 325 .uleb128 0x24 /* DW_TAG_base_type */ 326 .byte 0x0 /* DW_has_children_no */ 327 .uleb128 0xb /* DW_AT_byte_size */ 328 .uleb128 0xb /* DW_FORM_data1 */ 329 .uleb128 0x3e /* DW_AT_encoding */ 330 .uleb128 0xb /* DW_FORM_data1 */ 331 .uleb128 0x3 /* DW_AT_name */ 332 .uleb128 0x8 /* DW_FORM_string */ 333 .byte 0x0 334 .byte 0x0 335 .uleb128 0x16 /* abbrev code */ 336 .uleb128 0x34 /* DW_TAG_variable */ 337 .byte 0x0 /* DW_has_children_no */ 338 .uleb128 0x47 /* DW_AT_specification */ 339 .uleb128 0x13 /* DW_FORM_ref4 */ 340 .uleb128 0x2 /* DW_AT_location */ 341 .uleb128 0xa /* DW_FORM_block1 */ 342 .byte 0x0 343 .byte 0x0 344 .byte 0x0 345 .section .debug_str 346.LASF0: 347 .string "_ZN1N1fE" 348.LASF7: 349 .string "this" 350.LASF6: 351 .string "" 352.LASF8: 353 .string "main" 354.LASF1: 355 .string "_ZN1N1cE" 356.LASF5: 357 .string "pr11465.cc" 358.LASF4: 359 .string "GNU C++ 4.4.2" 360 .ident "GCC: (GNU) 4.4.2" 361