1*fc440f27SSigurur sgeirsson# RUN: llvm-mc --triple=x86_64-pc-linux --filetype=obj %s -o %t 2*fc440f27SSigurur sgeirsson# RUN: %lldb -o "target variable ug U::s" -b %t | FileCheck %s 3*fc440f27SSigurur sgeirsson 4*fc440f27SSigurur sgeirsson# CHECK: (lldb) target variable ug 5*fc440f27SSigurur sgeirsson# CHECK: (U) ug = (m = 14159265) 6*fc440f27SSigurur sgeirsson# CHECK: (int) U::s = 65295141 7*fc440f27SSigurur sgeirsson 8*fc440f27SSigurur sgeirsson# This tests that a static member in a class declared in the anonymous namespace 9*fc440f27SSigurur sgeirsson# does not appear as a field of the class. There is a difference between the 10*fc440f27SSigurur sgeirsson# debug info generated by gcc and clang, where clang flags the static member 11*fc440f27SSigurur sgeirsson# with DW_AT_external, but gcc does not. 12*fc440f27SSigurur sgeirsson# 13*fc440f27SSigurur sgeirsson# Roughly corresponds to this source code: 14*fc440f27SSigurur sgeirsson# 15*fc440f27SSigurur sgeirsson# namespace { 16*fc440f27SSigurur sgeirsson# struct U { 17*fc440f27SSigurur sgeirsson# static int s; 18*fc440f27SSigurur sgeirsson# int m = 14159265; 19*fc440f27SSigurur sgeirsson# }; 20*fc440f27SSigurur sgeirsson# int U::s = 65295141; 21*fc440f27SSigurur sgeirsson# } 22*fc440f27SSigurur sgeirsson# 23*fc440f27SSigurur sgeirsson# U ug; 24*fc440f27SSigurur sgeirsson 25*fc440f27SSigurur sgeirsson .file "test.cpp" 26*fc440f27SSigurur sgeirsson .data 27*fc440f27SSigurur sgeirsson .quad 0 28*fc440f27SSigurur sgeirssonug: 29*fc440f27SSigurur sgeirsson .long 14159265 30*fc440f27SSigurur sgeirsson.Lug_s: 31*fc440f27SSigurur sgeirsson .long 65295141 32*fc440f27SSigurur sgeirsson 33*fc440f27SSigurur sgeirsson .section .debug_info,"",@progbits 34*fc440f27SSigurur sgeirsson.Ldebug_info0: 35*fc440f27SSigurur sgeirsson .long .Lcu_end-.Lcu_begin 36*fc440f27SSigurur sgeirsson.Lcu_begin: 37*fc440f27SSigurur sgeirsson .value 0x4 38*fc440f27SSigurur sgeirsson .long .Ldebug_abbrev0 39*fc440f27SSigurur sgeirsson .byte 0x8 40*fc440f27SSigurur sgeirsson .uleb128 0x1 41*fc440f27SSigurur sgeirsson .asciz "GCC DWARF reduced by hand" 42*fc440f27SSigurur sgeirsson .byte 0x4 43*fc440f27SSigurur sgeirsson .asciz "test.cpp" 44*fc440f27SSigurur sgeirsson .uleb128 0x2 45*fc440f27SSigurur sgeirsson.LU: 46*fc440f27SSigurur sgeirsson .uleb128 0x3 47*fc440f27SSigurur sgeirsson .string "U" 48*fc440f27SSigurur sgeirsson .byte 0x4 49*fc440f27SSigurur sgeirsson.LU_s: 50*fc440f27SSigurur sgeirsson .uleb128 0x4 51*fc440f27SSigurur sgeirsson .string "s" 52*fc440f27SSigurur sgeirsson .long .Lint-.Ldebug_info0 53*fc440f27SSigurur sgeirsson .uleb128 0x5 54*fc440f27SSigurur sgeirsson .string "m" 55*fc440f27SSigurur sgeirsson .long .Lint-.Ldebug_info0 56*fc440f27SSigurur sgeirsson .byte 0 57*fc440f27SSigurur sgeirsson .byte 0 58*fc440f27SSigurur sgeirsson .byte 0 59*fc440f27SSigurur sgeirsson .uleb128 0x6 60*fc440f27SSigurur sgeirsson .long 0x2d 61*fc440f27SSigurur sgeirsson.Lint: 62*fc440f27SSigurur sgeirsson .uleb128 0x7 63*fc440f27SSigurur sgeirsson .byte 0x4 64*fc440f27SSigurur sgeirsson .byte 0x5 65*fc440f27SSigurur sgeirsson .string "int" 66*fc440f27SSigurur sgeirsson .uleb128 0x9 67*fc440f27SSigurur sgeirsson .string "ug" 68*fc440f27SSigurur sgeirsson .long .LU-.Ldebug_info0 69*fc440f27SSigurur sgeirsson .uleb128 0x9 70*fc440f27SSigurur sgeirsson .byte 0x3 71*fc440f27SSigurur sgeirsson .quad ug 72*fc440f27SSigurur sgeirsson .uleb128 0xa 73*fc440f27SSigurur sgeirsson .long .LU_s-.Ldebug_info0 74*fc440f27SSigurur sgeirsson .uleb128 0x9 75*fc440f27SSigurur sgeirsson .byte 0x3 76*fc440f27SSigurur sgeirsson .quad .Lug_s 77*fc440f27SSigurur sgeirsson .byte 0 78*fc440f27SSigurur sgeirsson.Lcu_end: 79*fc440f27SSigurur sgeirsson .section .debug_abbrev,"",@progbits 80*fc440f27SSigurur sgeirsson.Ldebug_abbrev0: 81*fc440f27SSigurur sgeirsson .uleb128 0x1 82*fc440f27SSigurur sgeirsson .uleb128 0x11 83*fc440f27SSigurur sgeirsson .byte 0x1 84*fc440f27SSigurur sgeirsson .uleb128 0x25 85*fc440f27SSigurur sgeirsson .uleb128 0x8 86*fc440f27SSigurur sgeirsson .uleb128 0x13 87*fc440f27SSigurur sgeirsson .uleb128 0xb 88*fc440f27SSigurur sgeirsson .uleb128 0x3 89*fc440f27SSigurur sgeirsson .uleb128 0x8 90*fc440f27SSigurur sgeirsson .byte 0 91*fc440f27SSigurur sgeirsson .byte 0 92*fc440f27SSigurur sgeirsson .uleb128 0x2 93*fc440f27SSigurur sgeirsson .uleb128 0x39 94*fc440f27SSigurur sgeirsson .byte 0x1 95*fc440f27SSigurur sgeirsson .byte 0 96*fc440f27SSigurur sgeirsson .byte 0 97*fc440f27SSigurur sgeirsson .uleb128 0x3 98*fc440f27SSigurur sgeirsson .uleb128 0x13 99*fc440f27SSigurur sgeirsson .byte 0x1 100*fc440f27SSigurur sgeirsson .uleb128 0x3 101*fc440f27SSigurur sgeirsson .uleb128 0x8 102*fc440f27SSigurur sgeirsson .uleb128 0xb 103*fc440f27SSigurur sgeirsson .uleb128 0xb 104*fc440f27SSigurur sgeirsson .byte 0 105*fc440f27SSigurur sgeirsson .byte 0 106*fc440f27SSigurur sgeirsson .uleb128 0x4 107*fc440f27SSigurur sgeirsson .uleb128 0xd 108*fc440f27SSigurur sgeirsson .byte 0 109*fc440f27SSigurur sgeirsson .uleb128 0x3 110*fc440f27SSigurur sgeirsson .uleb128 0x8 111*fc440f27SSigurur sgeirsson .uleb128 0x49 112*fc440f27SSigurur sgeirsson .uleb128 0x13 113*fc440f27SSigurur sgeirsson .uleb128 0x3c 114*fc440f27SSigurur sgeirsson .uleb128 0x19 115*fc440f27SSigurur sgeirsson .byte 0 116*fc440f27SSigurur sgeirsson .byte 0 117*fc440f27SSigurur sgeirsson .uleb128 0x5 118*fc440f27SSigurur sgeirsson .uleb128 0xd 119*fc440f27SSigurur sgeirsson .byte 0 120*fc440f27SSigurur sgeirsson .uleb128 0x3 121*fc440f27SSigurur sgeirsson .uleb128 0x8 122*fc440f27SSigurur sgeirsson .uleb128 0x49 123*fc440f27SSigurur sgeirsson .uleb128 0x13 124*fc440f27SSigurur sgeirsson .uleb128 0x38 125*fc440f27SSigurur sgeirsson .uleb128 0xb 126*fc440f27SSigurur sgeirsson .byte 0 127*fc440f27SSigurur sgeirsson .byte 0 128*fc440f27SSigurur sgeirsson .uleb128 0x6 129*fc440f27SSigurur sgeirsson .uleb128 0x3a 130*fc440f27SSigurur sgeirsson .byte 0 131*fc440f27SSigurur sgeirsson .uleb128 0x18 132*fc440f27SSigurur sgeirsson .uleb128 0x13 133*fc440f27SSigurur sgeirsson .byte 0 134*fc440f27SSigurur sgeirsson .byte 0 135*fc440f27SSigurur sgeirsson .uleb128 0x7 136*fc440f27SSigurur sgeirsson .uleb128 0x24 137*fc440f27SSigurur sgeirsson .byte 0 138*fc440f27SSigurur sgeirsson .uleb128 0xb 139*fc440f27SSigurur sgeirsson .uleb128 0xb 140*fc440f27SSigurur sgeirsson .uleb128 0x3e 141*fc440f27SSigurur sgeirsson .uleb128 0xb 142*fc440f27SSigurur sgeirsson .uleb128 0x3 143*fc440f27SSigurur sgeirsson .uleb128 0x8 144*fc440f27SSigurur sgeirsson .byte 0 145*fc440f27SSigurur sgeirsson .byte 0 146*fc440f27SSigurur sgeirsson .uleb128 0x8 147*fc440f27SSigurur sgeirsson .uleb128 0x26 148*fc440f27SSigurur sgeirsson .byte 0 149*fc440f27SSigurur sgeirsson .uleb128 0x49 150*fc440f27SSigurur sgeirsson .uleb128 0x13 151*fc440f27SSigurur sgeirsson .byte 0 152*fc440f27SSigurur sgeirsson .byte 0 153*fc440f27SSigurur sgeirsson .uleb128 0x9 154*fc440f27SSigurur sgeirsson .uleb128 0x34 155*fc440f27SSigurur sgeirsson .byte 0 156*fc440f27SSigurur sgeirsson .uleb128 0x3 157*fc440f27SSigurur sgeirsson .uleb128 0x8 158*fc440f27SSigurur sgeirsson .uleb128 0x49 159*fc440f27SSigurur sgeirsson .uleb128 0x13 160*fc440f27SSigurur sgeirsson .uleb128 0x2 161*fc440f27SSigurur sgeirsson .uleb128 0x18 162*fc440f27SSigurur sgeirsson .byte 0 163*fc440f27SSigurur sgeirsson .byte 0 164*fc440f27SSigurur sgeirsson .uleb128 0xa 165*fc440f27SSigurur sgeirsson .uleb128 0x34 166*fc440f27SSigurur sgeirsson .byte 0 167*fc440f27SSigurur sgeirsson .uleb128 0x47 168*fc440f27SSigurur sgeirsson .uleb128 0x13 169*fc440f27SSigurur sgeirsson .uleb128 0x2 170*fc440f27SSigurur sgeirsson .uleb128 0x18 171*fc440f27SSigurur sgeirsson .byte 0 172*fc440f27SSigurur sgeirsson .byte 0 173*fc440f27SSigurur sgeirsson .byte 0 174