diff options
author | Sean Callanan <scallanan@apple.com> | 2016-05-16 20:55:10 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2016-05-16 20:55:10 +0000 |
commit | da255efa2a2400444fc976eb232a024f427c9197 (patch) | |
tree | 0fd83c215de67bf283eb5be3aaa2c4aa41ef8b51 /lldb/packages/Python/lldbsuite/test/expression_command/top-level/test.cpp | |
parent | 74cb718ea963f05b23d895de1b6a8474b8cb6a79 (diff) | |
download | bcm5719-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.cpp | 46 |
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; } // -- |