Skip to content

Commit

Permalink
[ASTImporter] Regression test to ensure that we handling importing of…
Browse files Browse the repository at this point in the history
… 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

llvm-svn: 358462
  • Loading branch information
shafik committed Apr 15, 2019
1 parent 8eeb56d commit e4b19c9
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 0 deletions.
@@ -0,0 +1,5 @@
LEVEL = ../../make

CXX_SOURCES := main.cpp

include $(LEVEL)/Makefile.rules
@@ -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'])
@@ -0,0 +1,9 @@
typedef enum {
A=0,
} flow_e;

int main() {
flow_e f;

return 0; // break here
}

0 comments on commit e4b19c9

Please sign in to comment.