2011-05-17 08:20:50 +08:00
|
|
|
// RUN: %clangxx -O0 -g %s -c -o %t.o
|
|
|
|
// RUN: %test_debuginfo %s %t.o
|
|
|
|
// Radar 9440721
|
|
|
|
// If debug info for my_number() is emitted outside function foo's scope
|
|
|
|
// then a debugger may not be able to handle it. At least one version of
|
|
|
|
// gdb crashes in such cases.
|
|
|
|
|
|
|
|
// DEBUGGER: ptype foo
|
2013-09-07 02:10:44 +08:00
|
|
|
// CHECK: int (void)
|
2011-05-17 08:20:50 +08:00
|
|
|
|
|
|
|
int foo() {
|
|
|
|
struct Local {
|
|
|
|
static int my_number() {
|
|
|
|
return 42;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
int i = 0;
|
|
|
|
i = Local::my_number();
|
|
|
|
return i + 1;
|
|
|
|
}
|