summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2016-05-16 20:55:10 +0000
committerSean Callanan <scallanan@apple.com>2016-05-16 20:55:10 +0000
commitda255efa2a2400444fc976eb232a024f427c9197 (patch)
tree0fd83c215de67bf283eb5be3aaa2c4aa41ef8b51 /lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp
parent74cb718ea963f05b23d895de1b6a8474b8cb6a79 (diff)
downloadbcm5719-llvm-da255efa2a2400444fc976eb232a024f427c9197.tar.gz
bcm5719-llvm-da255efa2a2400444fc976eb232a024f427c9197.zip
Test diamond virtual inheritance in top-level expressions.
llvm-svn: 269698
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp')
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp46
1 files changed, 45 insertions, 1 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp b/lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp
index dfe76a47c26..ce2ea3bbb13 100644
--- a/lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp
+++ b/lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp
@@ -55,9 +55,53 @@ public:
// --
+class DiamondA
+{
+private:
+ struct {
+ int m_i;
+ };
+public:
+ DiamondA(int i) : m_i(i) { }
+ int accessor() { return m_i; }
+};
+
+// --
+
+class DiamondB : public virtual DiamondA
+{
+public:
+ DiamondB(int i) : DiamondA(i) { }
+};
+
+// --
+
+class DiamondC : public virtual DiamondA
+{
+public:
+ DiamondC(int i) : DiamondA(i) { }
+};
+
+// --
+
+class DiamondD : public DiamondB, public DiamondC
+{
+public:
+ DiamondD(int i) : DiamondA(i), DiamondB(i), DiamondC(i) { }
+};
+
+// --
+
int doTest()
{
- return m.memberResult() + MyClass::staticResult() + m.externResult() + MyEnum::myEnumThree + myEnumOne + AnotherClass().complicatedFunction();
+ int a = m.memberResult();
+ a += MyClass::staticResult();
+ a += m.externResult();
+ a += MyEnum::myEnumThree;
+ a += myEnumOne;
+ a += AnotherClass().complicatedFunction();
+ a += DiamondD(3).accessor();
+ return a;
}
// --
OpenPOWER on IntegriCloud