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 +} _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits