1*9a154427SAlex Yermolovich# Test object to verify that dwarfdump does not go into infinite recursion due 2*9a154427SAlex Yermolovich# to trying to print fully resolved name. 3*9a154427SAlex Yermolovich# RUN: llvm-mc -triple x86_64-unknown-linux %s -filetype=obj -o %t.o 4*9a154427SAlex Yermolovich# RUN: llvm-dwarfdump --debug-info=0x62 %t.o | FileCheck %s 5*9a154427SAlex Yermolovich 6*9a154427SAlex Yermolovich# CHECK: DW_TAG_formal_parameter 7*9a154427SAlex Yermolovich# CHECK-NEXT: DW_AT_type 8*9a154427SAlex Yermolovich# CHECK-SAME: "t2 *" 9*9a154427SAlex Yermolovich 10*9a154427SAlex Yermolovich# gcc -g -gdwarf-4 -std=gnu++17 -c -gz=none -S reproSmall.cpp -o reproSmall.s 11*9a154427SAlex Yermolovich# struct t1; 12*9a154427SAlex Yermolovich# void f1() { 13*9a154427SAlex Yermolovich# using t2 = t1; 14*9a154427SAlex Yermolovich# void (t2::* __fn)(); 15*9a154427SAlex Yermolovich# } 16*9a154427SAlex Yermolovich 17*9a154427SAlex Yermolovich.section .debug_info,"",@progbits 18*9a154427SAlex Yermolovich.Ldebug_info0: 19*9a154427SAlex Yermolovich .long 0x88 20*9a154427SAlex Yermolovich .value 0x4 21*9a154427SAlex Yermolovich .long .Ldebug_abbrev0 22*9a154427SAlex Yermolovich .byte 0x8 23*9a154427SAlex Yermolovich .uleb128 0x1 24*9a154427SAlex Yermolovich .long .LASF0 25*9a154427SAlex Yermolovich .byte 0x4 26*9a154427SAlex Yermolovich .long .LASF1 27*9a154427SAlex Yermolovich .long .LASF2 28*9a154427SAlex Yermolovich .quad 0 29*9a154427SAlex Yermolovich .quad 0 30*9a154427SAlex Yermolovich .long .Ldebug_line0 31*9a154427SAlex Yermolovich .uleb128 0x2 32*9a154427SAlex Yermolovich .string "f1" 33*9a154427SAlex Yermolovich .byte 0x1 34*9a154427SAlex Yermolovich .byte 0x3 35*9a154427SAlex Yermolovich .byte 0x6 36*9a154427SAlex Yermolovich .long .LASF3 37*9a154427SAlex Yermolovich .quad 0 38*9a154427SAlex Yermolovich .quad 0 39*9a154427SAlex Yermolovich .uleb128 0x1 40*9a154427SAlex Yermolovich .byte 0x9c 41*9a154427SAlex Yermolovich .long 0x87 42*9a154427SAlex Yermolovich .uleb128 0x3 43*9a154427SAlex Yermolovich .string "t2" 44*9a154427SAlex Yermolovich .byte 0x1 45*9a154427SAlex Yermolovich .byte 0x4 46*9a154427SAlex Yermolovich .byte 0x9 47*9a154427SAlex Yermolovich .long 0x87 48*9a154427SAlex Yermolovich .uleb128 0x4 49*9a154427SAlex Yermolovich .long 0x62 50*9a154427SAlex Yermolovich .long 0x6e 51*9a154427SAlex Yermolovich .uleb128 0x5 52*9a154427SAlex Yermolovich .long 0x67 53*9a154427SAlex Yermolovich .uleb128 0x6 54*9a154427SAlex Yermolovich .byte 0x8 55*9a154427SAlex Yermolovich .long 0x4e 56*9a154427SAlex Yermolovich .byte 0 57*9a154427SAlex Yermolovich .uleb128 0x7 58*9a154427SAlex Yermolovich .long 0x87 59*9a154427SAlex Yermolovich .long 0x59 60*9a154427SAlex Yermolovich .uleb128 0x8 61*9a154427SAlex Yermolovich .long .LASF4 62*9a154427SAlex Yermolovich .byte 0x1 63*9a154427SAlex Yermolovich .byte 0x5 64*9a154427SAlex Yermolovich .byte 0xf 65*9a154427SAlex Yermolovich .long 0x6e 66*9a154427SAlex Yermolovich .uleb128 0x2 67*9a154427SAlex Yermolovich .byte 0x91 68*9a154427SAlex Yermolovich .sleb128 -32 69*9a154427SAlex Yermolovich .byte 0 70*9a154427SAlex Yermolovich .uleb128 0x9 71*9a154427SAlex Yermolovich .string "t1" 72*9a154427SAlex Yermolovich .byte 0 73*9a154427SAlex Yermolovich .section .debug_abbrev,"",@progbits 74*9a154427SAlex Yermolovich.Ldebug_abbrev0: 75*9a154427SAlex Yermolovich .uleb128 0x1 76*9a154427SAlex Yermolovich .uleb128 0x11 77*9a154427SAlex Yermolovich .byte 0x1 78*9a154427SAlex Yermolovich .uleb128 0x25 79*9a154427SAlex Yermolovich .uleb128 0xe 80*9a154427SAlex Yermolovich .uleb128 0x13 81*9a154427SAlex Yermolovich .uleb128 0xb 82*9a154427SAlex Yermolovich .uleb128 0x3 83*9a154427SAlex Yermolovich .uleb128 0xe 84*9a154427SAlex Yermolovich .uleb128 0x1b 85*9a154427SAlex Yermolovich .uleb128 0xe 86*9a154427SAlex Yermolovich .uleb128 0x11 87*9a154427SAlex Yermolovich .uleb128 0x1 88*9a154427SAlex Yermolovich .uleb128 0x12 89*9a154427SAlex Yermolovich .uleb128 0x7 90*9a154427SAlex Yermolovich .uleb128 0x10 91*9a154427SAlex Yermolovich .uleb128 0x17 92*9a154427SAlex Yermolovich .byte 0 93*9a154427SAlex Yermolovich .byte 0 94*9a154427SAlex Yermolovich .uleb128 0x2 95*9a154427SAlex Yermolovich .uleb128 0x2e 96*9a154427SAlex Yermolovich .byte 0x1 97*9a154427SAlex Yermolovich .uleb128 0x3f 98*9a154427SAlex Yermolovich .uleb128 0x19 99*9a154427SAlex Yermolovich .uleb128 0x3 100*9a154427SAlex Yermolovich .uleb128 0x8 101*9a154427SAlex Yermolovich .uleb128 0x3a 102*9a154427SAlex Yermolovich .uleb128 0xb 103*9a154427SAlex Yermolovich .uleb128 0x3b 104*9a154427SAlex Yermolovich .uleb128 0xb 105*9a154427SAlex Yermolovich .uleb128 0x39 106*9a154427SAlex Yermolovich .uleb128 0xb 107*9a154427SAlex Yermolovich .uleb128 0x6e 108*9a154427SAlex Yermolovich .uleb128 0xe 109*9a154427SAlex Yermolovich .uleb128 0x11 110*9a154427SAlex Yermolovich .uleb128 0x1 111*9a154427SAlex Yermolovich .uleb128 0x12 112*9a154427SAlex Yermolovich .uleb128 0x7 113*9a154427SAlex Yermolovich .uleb128 0x40 114*9a154427SAlex Yermolovich .uleb128 0x18 115*9a154427SAlex Yermolovich .uleb128 0x2117 116*9a154427SAlex Yermolovich .uleb128 0x19 117*9a154427SAlex Yermolovich .uleb128 0x1 118*9a154427SAlex Yermolovich .uleb128 0x13 119*9a154427SAlex Yermolovich .byte 0 120*9a154427SAlex Yermolovich .byte 0 121*9a154427SAlex Yermolovich .uleb128 0x3 122*9a154427SAlex Yermolovich .uleb128 0x16 123*9a154427SAlex Yermolovich .byte 0 124*9a154427SAlex Yermolovich .uleb128 0x3 125*9a154427SAlex Yermolovich .uleb128 0x8 126*9a154427SAlex Yermolovich .uleb128 0x3a 127*9a154427SAlex Yermolovich .uleb128 0xb 128*9a154427SAlex Yermolovich .uleb128 0x3b 129*9a154427SAlex Yermolovich .uleb128 0xb 130*9a154427SAlex Yermolovich .uleb128 0x39 131*9a154427SAlex Yermolovich .uleb128 0xb 132*9a154427SAlex Yermolovich .uleb128 0x49 133*9a154427SAlex Yermolovich .uleb128 0x13 134*9a154427SAlex Yermolovich .byte 0 135*9a154427SAlex Yermolovich .byte 0 136*9a154427SAlex Yermolovich .uleb128 0x4 137*9a154427SAlex Yermolovich .uleb128 0x15 138*9a154427SAlex Yermolovich .byte 0x1 139*9a154427SAlex Yermolovich .uleb128 0x64 140*9a154427SAlex Yermolovich .uleb128 0x13 141*9a154427SAlex Yermolovich .uleb128 0x1 142*9a154427SAlex Yermolovich .uleb128 0x13 143*9a154427SAlex Yermolovich .byte 0 144*9a154427SAlex Yermolovich .byte 0 145*9a154427SAlex Yermolovich .uleb128 0x5 146*9a154427SAlex Yermolovich .uleb128 0x5 147*9a154427SAlex Yermolovich .byte 0 148*9a154427SAlex Yermolovich .uleb128 0x49 149*9a154427SAlex Yermolovich .uleb128 0x13 150*9a154427SAlex Yermolovich .uleb128 0x34 151*9a154427SAlex Yermolovich .uleb128 0x19 152*9a154427SAlex Yermolovich .byte 0 153*9a154427SAlex Yermolovich .byte 0 154*9a154427SAlex Yermolovich .uleb128 0x6 155*9a154427SAlex Yermolovich .uleb128 0xf 156*9a154427SAlex Yermolovich .byte 0 157*9a154427SAlex Yermolovich .uleb128 0xb 158*9a154427SAlex Yermolovich .uleb128 0xb 159*9a154427SAlex Yermolovich .uleb128 0x49 160*9a154427SAlex Yermolovich .uleb128 0x13 161*9a154427SAlex Yermolovich .byte 0 162*9a154427SAlex Yermolovich .byte 0 163*9a154427SAlex Yermolovich .uleb128 0x7 164*9a154427SAlex Yermolovich .uleb128 0x1f 165*9a154427SAlex Yermolovich .byte 0 166*9a154427SAlex Yermolovich .uleb128 0x1d 167*9a154427SAlex Yermolovich .uleb128 0x13 168*9a154427SAlex Yermolovich .uleb128 0x49 169*9a154427SAlex Yermolovich .uleb128 0x13 170*9a154427SAlex Yermolovich .byte 0 171*9a154427SAlex Yermolovich .byte 0 172*9a154427SAlex Yermolovich .uleb128 0x8 173*9a154427SAlex Yermolovich .uleb128 0x34 174*9a154427SAlex Yermolovich .byte 0 175*9a154427SAlex Yermolovich .uleb128 0x3 176*9a154427SAlex Yermolovich .uleb128 0xe 177*9a154427SAlex Yermolovich .uleb128 0x3a 178*9a154427SAlex Yermolovich .uleb128 0xb 179*9a154427SAlex Yermolovich .uleb128 0x3b 180*9a154427SAlex Yermolovich .uleb128 0xb 181*9a154427SAlex Yermolovich .uleb128 0x39 182*9a154427SAlex Yermolovich .uleb128 0xb 183*9a154427SAlex Yermolovich .uleb128 0x49 184*9a154427SAlex Yermolovich .uleb128 0x13 185*9a154427SAlex Yermolovich .uleb128 0x2 186*9a154427SAlex Yermolovich .uleb128 0x18 187*9a154427SAlex Yermolovich .byte 0 188*9a154427SAlex Yermolovich .byte 0 189*9a154427SAlex Yermolovich .uleb128 0x9 190*9a154427SAlex Yermolovich .uleb128 0x13 191*9a154427SAlex Yermolovich .byte 0 192*9a154427SAlex Yermolovich .uleb128 0x3 193*9a154427SAlex Yermolovich .uleb128 0x8 194*9a154427SAlex Yermolovich .uleb128 0x3c 195*9a154427SAlex Yermolovich .uleb128 0x19 196*9a154427SAlex Yermolovich .byte 0 197*9a154427SAlex Yermolovich .byte 0 198*9a154427SAlex Yermolovich .byte 0 199*9a154427SAlex Yermolovich .section .debug_aranges,"",@progbits 200*9a154427SAlex Yermolovich .long 0x2c 201*9a154427SAlex Yermolovich .value 0x2 202*9a154427SAlex Yermolovich .long .Ldebug_info0 203*9a154427SAlex Yermolovich .byte 0x8 204*9a154427SAlex Yermolovich .byte 0 205*9a154427SAlex Yermolovich .value 0 206*9a154427SAlex Yermolovich .value 0 207*9a154427SAlex Yermolovich .quad 0 208*9a154427SAlex Yermolovich .quad 0 209*9a154427SAlex Yermolovich .quad 0 210*9a154427SAlex Yermolovich .quad 0 211*9a154427SAlex Yermolovich .section .debug_line,"",@progbits 212*9a154427SAlex Yermolovich.Ldebug_line0: 213*9a154427SAlex Yermolovich .section .debug_str,"MS",@progbits,1 214*9a154427SAlex Yermolovich.LASF0: 215*9a154427SAlex Yermolovich .string "GNU C++17 11.x -mtune=generic -march=x86-64 -g -gdwarf-4 -gz=none -std=gnu++17" 216*9a154427SAlex Yermolovich.LASF4: 217*9a154427SAlex Yermolovich .string "__fn" 218*9a154427SAlex Yermolovich.LASF2: 219*9a154427SAlex Yermolovich .string "." 220*9a154427SAlex Yermolovich.LASF1: 221*9a154427SAlex Yermolovich .string "reproSmall.cpp" 222*9a154427SAlex Yermolovich.LASF3: 223*9a154427SAlex Yermolovich .string "_Z2f1v" 224*9a154427SAlex Yermolovich .ident "GCC: (GNU) 11.x" 225