From da255efa2a2400444fc976eb232a024f427c9197 Mon Sep 17 00:00:00 2001 From: Sean Callanan Date: Mon, 16 May 2016 20:55:10 +0000 Subject: Test diamond virtual inheritance in top-level expressions. llvm-svn: 269698 --- .../test/expression_command/top-level/test.cpp | 46 +++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp') 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; } // -- -- cgit v1.2.3