xref: /llvm-project/cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp (revision e6cc7b723f244f52663b6d67a5d94597109da1ef)
11364750dSJames Henderson // REQUIRES: lldb
21364750dSJames Henderson // UNSUPPORTED: system-windows
31364750dSJames Henderson //
4*45a40c16SStephen Tozer // RUN: %clang -std=gnu++11 -O0 -g -lstdc++ %s -o %t
51364750dSJames Henderson // RUN: %dexter --fail-lt 1.0 -w \
6*45a40c16SStephen Tozer // RUN:     --binary %t --debugger 'lldb' -- %s
71364750dSJames Henderson // Radar 8945514
81364750dSJames Henderson 
91364750dSJames Henderson class SVal {
101364750dSJames Henderson public:
~SVal()111364750dSJames Henderson   ~SVal() {}
121364750dSJames Henderson   const void* Data;
131364750dSJames Henderson   unsigned Kind;
141364750dSJames Henderson };
151364750dSJames Henderson 
bar(SVal & v)161364750dSJames Henderson void bar(SVal &v) {}
171364750dSJames Henderson class A {
181364750dSJames Henderson public:
foo(SVal v)191364750dSJames Henderson   void foo(SVal v) { bar(v); } // DexLabel('foo')
201364750dSJames Henderson };
211364750dSJames Henderson 
main()221364750dSJames Henderson int main() {
231364750dSJames Henderson   SVal v;
241364750dSJames Henderson   v.Data = 0;
251364750dSJames Henderson   v.Kind = 2142;
261364750dSJames Henderson   A a;
271364750dSJames Henderson   a.foo(v);
281364750dSJames Henderson   return 0;
291364750dSJames Henderson }
301364750dSJames Henderson 
311364750dSJames Henderson /*
321364750dSJames Henderson DexExpectProgramState({
331364750dSJames Henderson   'frames': [
341364750dSJames Henderson     {
351364750dSJames Henderson       'location': { 'lineno': ref('foo') },
361364750dSJames Henderson       'watches': {
371364750dSJames Henderson         'v.Data == 0': 'true',
381364750dSJames Henderson         'v.Kind': '2142'
391364750dSJames Henderson       }
401364750dSJames Henderson     }
411364750dSJames Henderson   ]
421364750dSJames Henderson })
431364750dSJames Henderson */
441364750dSJames Henderson 
45