summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/cpp/nested-class-other-compilation-unit/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp/nested-class-other-compilation-unit/main.cpp')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lang/cpp/nested-class-other-compilation-unit/main.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/cpp/nested-class-other-compilation-unit/main.cpp b/lldb/packages/Python/lldbsuite/test/lang/cpp/nested-class-other-compilation-unit/main.cpp
new file mode 100644
index 00000000000..8a6e6ff81d2
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/nested-class-other-compilation-unit/main.cpp
@@ -0,0 +1,22 @@
+#include "shared.h"
+
+struct WrapperA {
+ OuterY::Inner<unsigned int> y;
+};
+
+int main() {
+ // WrapperA refers to the Inner and Outer class DIEs from this CU.
+ WrapperA a;
+ // WrapperB refers to the Inner and Outer DIEs from the other.cpp CU.
+ // It is important that WrapperB is only forward-declared in shared.h.
+ WrapperB* b = foo();
+
+ // Evaluating 'b' here will parse other.cpp's DIEs for all
+ // the Inner and Outer classes from shared.h.
+ //
+ // Evaluating 'a' here will find and reuse the already-parsed
+ // versions of the Inner and Outer classes. In the associated test
+ // we make sure that we can still resolve all the types properly
+ // by evaluating 'a.y.oY_inner.oX_inner'.
+ return 0; // break here
+}
OpenPOWER on IntegriCloud