Index: debuginfo-tests/asan-blocks.c =================================================================== --- debuginfo-tests/asan-blocks.c +++ debuginfo-tests/asan-blocks.c @@ -1,5 +1,6 @@ -// RUN: %clang %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=address +// RUN: %clang -fblocks %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=address // RUN: %test_debuginfo %s %t.out +// REQUIRES: system-darwin // REQUIRES: not_asan // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. @@ -9,7 +10,7 @@ }; int f(struct S s, unsigned i) { - // DEBUGGER: break 16 + // DEBUGGER: break 17 // DEBUGGER: r // DEBUGGER: p s // CHECK: a = ([0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7) @@ -19,7 +20,7 @@ int main(int argc, const char **argv) { struct S s = {{0, 1, 2, 3, 4, 5, 6, 7}}; if (f(s, 4) == 4) { - // DEBUGGER: break 26 + // DEBUGGER: break 27 // DEBUGGER: c // DEBUGGER: p s // CHECK: a = ([0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7) @@ -31,7 +32,7 @@ void c() {} void b() { - // DEBUGGER: break 39 + // DEBUGGER: break 40 // DEBUGGER: c // DEBUGGER: p x // CHECK: 42 Index: debuginfo-tests/asan.c =================================================================== --- debuginfo-tests/asan.c +++ debuginfo-tests/asan.c @@ -1,40 +1,31 @@ -// RUN: %clang %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=address +// RUN: %clang -fblocks %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=address // RUN: %test_debuginfo %s %t.out // REQUIRES: not_asan // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. -void b(); +// + struct S { int a[8]; }; int f(struct S s, unsigned i) { - // DEBUGGER: break 16 - // DEBUGGER: r - // DEBUGGER: p s - // CHECK: a = ([0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7) + // DEBUGGER: break 14 return s.a[i]; } int main(int argc, const char **argv) { struct S s = {{0, 1, 2, 3, 4, 5, 6, 7}}; - if (f(s, 4) == 4) { - // DEBUGGER: break 26 - // DEBUGGER: c - // DEBUGGER: p s - // CHECK: a = ([0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7) - b(); - } + if (f(s, 4) == 4) + return f(s, 0); return 0; } -void c() {} - -void b() { - // DEBUGGER: break 39 - // DEBUGGER: c - // DEBUGGER: p x - // CHECK: 42 - __block int x = 42; - c(); -} +// DEBUGGER: r +// DEBUGGER: p s +// CHECK: a = +// DEBUGGER: p s.a[0] +// CHECK: = 0 +// DEBUGGER: p s.a[1] +// CHECK: = 1 +// DEBUGGER: p s.a[7] Index: debuginfo-tests/dbg-arg.c =================================================================== --- debuginfo-tests/dbg-arg.c +++ debuginfo-tests/dbg-arg.c @@ -1,12 +1,12 @@ // This test case checks debug info during register moves for an argument. -// RUN: %clang %target_itanium_abi_host_triple -arch x86_64 -mllvm -fast-isel=false %s -c -o %t.o -g -// RUN: %clang %target_itanium_abi_host_triple -arch x86_64 %t.o -o %t.out +// RUN: %clang %target_itanium_abi_host_triple -m64 -mllvm -fast-isel=false %s -c -o %t.o -g +// RUN: %clang %target_itanium_abi_host_triple -m64 %t.o -o %t.out // RUN: %test_debuginfo %s %t.out // // DEBUGGER: break 26 // DEBUGGER: r // DEBUGGER: print mutex -// CHECK: ={{.*}} 0x0 +// CHECK: ={{.* 0x[0-9A-Fa-f]+}} // // Radar 8412415 Index: debuginfo-tests/safestack.c =================================================================== --- debuginfo-tests/safestack.c +++ debuginfo-tests/safestack.c @@ -26,10 +26,26 @@ // DEBUGGER: r // DEBUGGER: p s -// CHECK: a = ([0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7) +// CHECK: a = +// DEBUGGER: p s.a[0] +// CHECK: = 0 +// DEBUGGER: p s.a[1] +// CHECK: = 1 +// DEBUGGER: p s.a[7] +// CHECK: = 7 // DEBUGGER: c // DEBUGGER: p s -// CHECK: a = ([0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7) +// CHECK: a = +// DEBUGGER: p s.a[0] +// CHECK: = 0 +// DEBUGGER: p s.a[1] +// CHECK: = 1 +// DEBUGGER: p s.a[7] // DEBUGGER: c // DEBUGGER: p s -// CHECK: a = ([0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7) +// CHECK: a = +// DEBUGGER: p s.a[0] +// CHECK: = 0 +// DEBUGGER: p s.a[1] +// CHECK: = 1 +// DEBUGGER: p s.a[7] Index: debuginfo-tests/stack-var.c =================================================================== --- debuginfo-tests/stack-var.c +++ debuginfo-tests/stack-var.c @@ -1,18 +1,18 @@ // RUN: %clang %target_itanium_abi_host_triple %s -O -o %t.out -g // RUN: %test_debuginfo %s %t.out -void __attribute__((noinline)) bar(int *test) {} +void __attribute__((noinline, optnone)) bar(int *test) {} int main() { int test; test = 23; // DEBUGGER: break 12 // DEBUGGER: r // DEBUGGER: p test - // CHECK: 23 + // CHECK: = 23 bar(&test); // DEBUGGER: break 17 // DEBUGGER: c // DEBUGGER: p test - // CHECK: 23 + // CHECK: = 23 return test; }