Devang Patel | cef3760 | 2011-05-17 00:20:50 +0000 | [diff] [blame] | 1 | // RUN: %clangxx -O0 -g %s -c -o %t.o |
| 2 | // RUN: %test_debuginfo %s %t.o |
| 3 | // Radar 9440721 |
| 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: ptype foo |
Adrian Prantl | 888e023e | 2013-09-06 18:10:44 +0000 | [diff] [blame^] | 9 | // CHECK: int (void) |
Devang Patel | cef3760 | 2011-05-17 00:20:50 +0000 | [diff] [blame] | 10 | |
| 11 | int foo() { |
| 12 | struct Local { |
| 13 | static int my_number() { |
| 14 | return 42; |
| 15 | } |
| 16 | }; |
| 17 | |
| 18 | int i = 0; |
| 19 | i = Local::my_number(); |
| 20 | return i + 1; |
| 21 | } |