// RUN: %clangxx -arch x86_64 %target_itanium_abi_host_triple -O1 -g %s -o %t.out -fsanitize=address // RUN: %test_debuginfo %s %t.out // REQUIRES: !asan // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. // UNSUPPORTED: apple-lldb-pre-1000 #include struct A { int a; A(int a) : a(a) {} }; using log_t = std::deque; static void __attribute__((noinline, optnone)) escape(log_t &log) { static volatile log_t *sink; sink = &log; } int main() { log_t log; log.push_back(1234); log.push_back(56789); escape(log); // DEBUGGER: break 25 while (!log.empty()) { auto record = log.front(); log.pop_front(); escape(log); // DEBUGGER: break 30 } } // DEBUGGER: r // (at line 25) // DEBUGGER: p log // CHECK: 1234 // CHECK: 56789 // DEBUGGER: c // (at line 30) // DEBUGGER: p log // CHECK: 56789