1094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// RUN: %clangxx %s -g -fexceptions %extra-clang-opts -o %t 2094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// RUN: %Test_jit_debuginfo %s %t 3094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: set verbose on 4094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: b __jit_debug_register_code 5094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: run 6094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: info sources 7094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// CHECK: test_info_sources.cpp 8094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: c 9094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea 10094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea 11094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleastatic int function_with_a_segfault() { 12094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea int* bla = 0; 13094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea *bla = 5; 14094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea return 0; 15094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea} 16094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea 17094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleastatic int some_function() { 18094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea return function_with_a_segfault(); 19094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea} 20094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea 21094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleastatic int foo() { 22094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea return some_function(); 23094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea} 24094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea 25094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleastatic int bar() { 26094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea return foo(); 27094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea} 28094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea 29094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleaint main() { 30094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea return bar(); 31094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea} 32