summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2015-11-19 22:28:58 +0000
committerEnrico Granata <egranata@apple.com>2015-11-19 22:28:58 +0000
commit46252398f012414616052a4d5a15a87cb0fbf6f7 (patch)
tree890f5762d5f0d23ab6b7edd891f5745a3926db3a /lldb/packages/Python/lldbsuite/test/lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py
parent379cc5e71b2b6deb1e88240994761358741d2c9f (diff)
downloadbcm5719-llvm-46252398f012414616052a4d5a15a87cb0fbf6f7.tar.gz
bcm5719-llvm-46252398f012414616052a4d5a15a87cb0fbf6f7.zip
Fix up LLDB for a change in the way clang represents anonymous unions such that the 'frame variable' command can still find the members of such union as if they were top-level variables in the current scope
llvm-svn: 253613
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py b/lldb/packages/Python/lldbsuite/test/lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py
new file mode 100644
index 00000000000..396a637041c
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py
@@ -0,0 +1,27 @@
+"""
+Tests that frame variable looks into anonymous unions
+"""
+import lldb
+from lldbsuite.test.lldbtest import *
+import lldbsuite.test.lldbutil as lldbutil
+
+class FrameVariableAnonymousUnionsTestCase(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def test_with_run_command(self):
+ """Tests that frame variable looks into anonymous unions"""
+ self.build()
+ self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
+
+ line = line_number('main.cpp', '// break here')
+ lldbutil.run_break_set_by_file_and_line (self, "main.cpp", line, num_expected_locations=-1, loc_exact=False)
+
+ self.runCmd("process launch", RUN_SUCCEEDED)
+
+ self.expect('frame variable -f x i', substrs=['ffffff41'])
+ self.expect('frame variable c', substrs=["'A"])
+
+ self.expect('frame variable x', matching=False, substrs=['3'])
+ self.expect('frame variable y', matching=False, substrs=["'B'"])
+ self.expect('frame variable z', matching=False, substrs=['14'])
OpenPOWER on IntegriCloud