1094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// RUN: %clangxx %s -O0 -g -fexceptions %extra-clang-opts -o %t
2094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// RUN: %Test_jit_debuginfo %s %t
3094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// XFAIL: host-bcc
4094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: set breakpoint pending on
5094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: break aggregate-indirect-arg.cpp:22
6094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: r
7094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// DEBUGGER: p v
8094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// CHECK: $1 = (SVal &)
9094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// CHECK:  Data = 0x0,
10094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// CHECK:  Kind = 2142
11094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
12094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleaclass SVal {
13094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleapublic:
14094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  ~SVal() {}
15094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  const void* Data;
16094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  unsigned Kind;
17094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea};
18094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
19094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleavoid bar(SVal &v) {}
20094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleaclass A {
21094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleapublic:
22094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  void foo(SVal v) { bar(v); }
23094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea};
24094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
25094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleaint main() {
26094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  SVal v;
27094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  v.Data = 0;
28094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  v.Kind = 2142;
29094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  A a;
30094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  a.foo(v);
31094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea  return 0;
32094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea}
33