Files
clang-p2996/cross-project-tests/debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
Shubham Sandeep Rastogi e6cc7b723f [Dexter] Fix test failures on greendragon (#66299)
The issue with these test failures is that the dSYM was not being found
by lldb, which is why setting breakpoints was failing and lldb quit
without performing any steps. This change copies the dSYM to the same
temp directory that the executable is copied to.
2023-09-14 09:28:47 -07:00

35 lines
840 B
C

// REQUIRES: lldb
// UNSUPPORTED: system-windows
// RUN: %clang -std=gnu11 -O2 -glldb %s -o %t
// RUN: %dexter --fail-lt 1.0 -w --debugger lldb --binary %t -- %s
//// Check that we give good locations to a variable ('local') which is escaped
//// down some control paths and not others. This example is handled well currently.
int g;
__attribute__((__noinline__))
void leak(int *ptr) {
g = *ptr;
*ptr = 2;
}
__attribute__((__noinline__))
int fun(int cond) {
int local = 0; // DexLabel('s1')
if (cond)
leak(&local);
else
local = 1;
return local; // DexLabel('s2')
}
int main() {
int a = fun(1);
int b = fun(0);
return a + b;
}
//// fun(1) fun(0)
// DexExpectWatchValue('local', '0', '0', on_line=ref('s1'))
// DexExpectWatchValue('local', '2', '1', on_line=ref('s2'))