// This regression test checks byval arguments' debug info. // Radar 8367011 // RUN: %llvmgcc -S -O0 -g %s -o - | \ // RUN: llc --disable-fp-elim -o %t.s -O0 -relocation-model=pic // RUN: %compile_c %t.s -o %t.o // RUN: %link %t.o -o %t.exe // RUN: echo {break get\nrun\np missing_arg.b} > %t.in // RUN: gdb -q -batch -n -x %t.in %t.exe | tee %t.out | \ // RUN: grep {1 = 4242} // XTARGET: x86_64-apple-darwin class EVT { public: int a; int b; int c; }; class VAL { public: int x; int y; }; void foo(EVT e); EVT bar(); void get(int *i, unsigned dl, VAL v, VAL *p, unsigned n, EVT missing_arg) { //CHECK: .ascii "missing_arg" EVT e = bar(); if (dl == n) foo(missing_arg); } EVT bar() { EVT e; return e; } void foo(EVT e) {} int main(){ VAL v; EVT ma; ma.a = 1; ma.b = 4242; ma.c = 3; int i = 42; get (&i, 1, v, &v, 2, ma); return 0; }