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
foo()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
main()26 int main() {
27 foo();
28 return 0;
29 }
30