1 // RUN: %clang %s -g -fexceptions %extra-clang-opts -o %t 2 // RUN: %Test_jit_debuginfo %s %t 3 4 // If debug info for my_number() is emitted outside function foo's scope 5 // then a debugger may not be able to handle it. At least one version of 6 // gdb crashes in such cases. 7 8 // DEBUGGER: set breakpoint pending on 9 // DEBUGGER: b nested-struct.cpp:28 10 // DEBUGGER: run 11 // DEBUGGER: ptype foo 12 // CHECK: type = int (void) 13 14 int foo() { 15 struct Local { 16 static int my_number() { 17 return 42; 18 } 19 }; 20 21 int i = 0; 22 i = Local::my_number(); 23 return i + 1; 24 } 25 26 int main() { 27 foo(); 28 return 0; 29 } 30