Regression test to ensure that we handling importing of std::vector of enums correctly

Summary:
https://reviews.llvm.org/D59845 added a fix for the IsStructuralMatch(...) specialization for EnumDecl this test should pass once this fix is committed.

Differential Revision: https://reviews.llvm.org/D59847

llvm-svn: 357188
This commit is contained in:
Shafik Yaghmour 2019-03-28 17:22:13 +00:00
parent ba2ea93ad1
commit 0f71a25e98
3 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,5 @@
LEVEL = ../../make
CXX_SOURCES := main.cpp
include $(LEVEL)/Makefile.rules

View File

@ -0,0 +1,28 @@
"""
Test Expression Parser regression test to ensure that we handle enums
correctly, in this case specifically std::vector of enums.
"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestVectorOfEnums(TestBase):
mydir = TestBase.compute_mydir(__file__)
def test_vector_of_enums(self):
self.build()
lldbutil.run_to_source_breakpoint(self, '// break here',
lldb.SBFileSpec("main.cpp", False))
self.expect("expr v", substrs=[
'size=3',
'[0] = a',
'[1] = b',
'[2] = c',
'}'
])

View File

@ -0,0 +1,14 @@
#include <vector>
enum E {
a,
b,
c,
d
} ;
int main() {
std::vector<E> v = {E::a, E::b, E::c};
return v.size(); // break here
}