[Lldb-commits] [lldb] r358462 - [ASTImporter] Regression test to ensure that we handling importing of anonymous enums correctly
Shafik Yaghmour via lldb-commits
lldb-commits at lists.llvm.org
Mon Apr 15 16:05:46 PDT 2019
Author: shafik
Date: Mon Apr 15 16:05:45 2019
New Revision: 358462
URL: http://llvm.org/viewvc/llvm-project?rev=358462&view=rev
Log:
[ASTImporter] Regression test to ensure that we handling importing of anonymous enums correctly
Summary:
https://reviews.llvm.org/D51633 added error handling in the ASTImporter.cpp which uncovered an underlying bug in which we used the wrong name when handling naming conflicts. This could cause a segmentation fault when attempting to cast an int to an enum during expression parsing.
This test should pass once https://reviews.llvm.org/D59665 is committed.
Differential Revision: https://reviews.llvm.org/D59667
Added:
lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/
lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/Makefile
lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/TestCastIntToAnonymousEnum.py
lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/main.cpp
Added: lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/Makefile?rev=358462&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/Makefile (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/Makefile Mon Apr 15 16:05:45 2019
@@ -0,0 +1,5 @@
+LEVEL = ../../make
+
+CXX_SOURCES := main.cpp
+
+include $(LEVEL)/Makefile.rules
Added: lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/TestCastIntToAnonymousEnum.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/TestCastIntToAnonymousEnum.py?rev=358462&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/TestCastIntToAnonymousEnum.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/TestCastIntToAnonymousEnum.py Mon Apr 15 16:05:45 2019
@@ -0,0 +1,22 @@
+"""
+Test Expression Parser regression text to ensure that we handle anonymous
+enums importing correctly.
+"""
+
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+class TestCastIntToAnonymousEnum(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def test_cast_int_to_anonymous_enum(self):
+ self.build()
+
+ lldbutil.run_to_source_breakpoint(self, '// break here',
+ lldb.SBFileSpec("main.cpp", False))
+
+ self.expect("expr (flow_e)0", substrs=['(flow_e) $0 = A'])
Added: lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/main.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/main.cpp?rev=358462&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/main.cpp (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/expression_command/cast_int_to_anonymous_enum/main.cpp Mon Apr 15 16:05:45 2019
@@ -0,0 +1,9 @@
+typedef enum {
+ A=0,
+} flow_e;
+
+int main() {
+ flow_e f;
+
+ return 0; // break here
+}
More information about the lldb-commits
mailing list