11364750dSJames Henderson // RUN: %clangxx %target_itanium_abi_host_triple -O0 -g %s -c -o %t.o 21364750dSJames Henderson // RUN: %test_debuginfo %s %t.o 3*5257efdcSOCHyams // XFAIL: !system-darwin && gdb-clang-incompatibility 41364750dSJames Henderson // Radar 9440721 51364750dSJames Henderson // If debug info for my_number() is emitted outside function foo's scope 61364750dSJames Henderson // then a debugger may not be able to handle it. At least one version of 71364750dSJames Henderson // gdb crashes in such cases. 81364750dSJames Henderson 91364750dSJames Henderson // DEBUGGER: ptype foo 101364750dSJames Henderson // CHECK: int (void) 111364750dSJames Henderson foo()121364750dSJames Hendersonint foo() { 131364750dSJames Henderson struct Local { 141364750dSJames Henderson static int my_number() { 151364750dSJames Henderson return 42; 161364750dSJames Henderson } 171364750dSJames Henderson }; 181364750dSJames Henderson 191364750dSJames Henderson int i = 0; 201364750dSJames Henderson i = Local::my_number(); 211364750dSJames Henderson return i + 1; 221364750dSJames Henderson } 23