diff options
Diffstat (limited to 'debuginfo-tests/llgdb-tests/nested-struct.cpp')
-rw-r--r-- | debuginfo-tests/llgdb-tests/nested-struct.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/debuginfo-tests/llgdb-tests/nested-struct.cpp b/debuginfo-tests/llgdb-tests/nested-struct.cpp new file mode 100644 index 00000000000..7533e6a8151 --- /dev/null +++ b/debuginfo-tests/llgdb-tests/nested-struct.cpp @@ -0,0 +1,21 @@ +// RUN: %clangxx %target_itanium_abi_host_triple -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 +// CHECK: int (void) + +int foo() { + struct Local { + static int my_number() { + return 42; + } + }; + + int i = 0; + i = Local::my_number(); + return i + 1; +} |