brintos

brintos / llvm-project-archived public Read only

0
0
Text · 675 B · b318a92 Raw
33 lines · cpp
1// This is a regression test that checks whether lldb can inspect the variables2// in this program without triggering an ASan exception.3 4__attribute__((noinline, optnone)) int use(int x) { return x; }5 6volatile int sink;7 8struct S1 {9  int f1;10  int *f2;11};12 13struct S2 {14  char a = 0;15  char b = 0;16  int pad = 0;17  S2(int x) {18    a = x & 0xff;19    b = x & 0xff00;20  }21};22 23int main() {24  S1 v1;25  v1.f1 = sink;26  v1.f2 = nullptr;27  sink++; //% self.expect("frame variable v1", substrs=["S1"])28  S2 v2(v1.f1);29  sink += use(v2.a); //% self.expect("frame variable v2", substrs=["S2"])30  sink += use(v2.pad); //% self.expect("frame variable v2", substrs=["S2"])31  return 0;32}33