summaryrefslogtreecommitdiffstats
path: root/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp')
-rw-r--r--debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp b/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
new file mode 100644
index 00000000000..4c495c9dee3
--- /dev/null
+++ b/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
@@ -0,0 +1,43 @@
+// REQUIRES: system-linux, lldb
+//
+// RUN: %dexter --fail-lt 1.0 -w \
+// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" \
+// RUN: --ldflags="-lstdc++" -- %s
+// Radar 8945514
+
+class SVal {
+public:
+ ~SVal() {}
+ const void* Data;
+ unsigned Kind;
+};
+
+void bar(SVal &v) {}
+class A {
+public:
+ void foo(SVal v) { bar(v); } // DexLabel('foo')
+};
+
+int main() {
+ SVal v;
+ v.Data = 0;
+ v.Kind = 2142;
+ A a;
+ a.foo(v);
+ return 0;
+}
+
+/*
+DexExpectProgramState({
+ 'frames': [
+ {
+ 'location': { 'lineno': 'foo' },
+ 'watches': {
+ 'v.Data == 0': 'true',
+ 'v.Kind': '2142'
+ }
+ }
+ ]
+})
+*/
+
OpenPOWER on IntegriCloud