53 lines · c
1// RUN: %clang %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=safe-stack2// RUN: %test_debuginfo %s %t.out3// UNSUPPORTED: system-darwin4// REQUIRES: !asan, compiler-rt5// Zorg configures the ASAN stage2 bots to not build the6// safestack compiler-rt. Only run this test on7// non-asanified configurations.8// XFAIL: !system-darwin && gdb-clang-incompatibility9struct S {10 int a[8];11};12 13int f(struct S s, unsigned i);14 15int main(int argc, const char **argv) {16 struct S s = {{0, 1, 2, 3, 4, 5, 6, 7}};17 // DEBUGGER: break 1718 f(s, 4);19 // DEBUGGER: break 1920 return 0;21}22 23int f(struct S s, unsigned i) {24 // DEBUGGER: break 2425 return s.a[i];26}27 28// DEBUGGER: r29// DEBUGGER: p s30// CHECK: a =31// DEBUGGER: p s.a[0]32// CHECK: = 033// DEBUGGER: p s.a[1]34// CHECK: = 135// DEBUGGER: p s.a[7]36// CHECK: = 737// DEBUGGER: c38// DEBUGGER: p s39// CHECK: a =40// DEBUGGER: p s.a[0]41// CHECK: = 042// DEBUGGER: p s.a[1]43// CHECK: = 144// DEBUGGER: p s.a[7]45// DEBUGGER: c46// DEBUGGER: p s47// CHECK: a =48// DEBUGGER: p s.a[0]49// CHECK: = 050// DEBUGGER: p s.a[1]51// CHECK: = 152// DEBUGGER: p s.a[7]53