Skip to content

Commit bc28b25

Browse files
committed
cppcheck-opensource#6048 syntax error in enum - value set to member of template class. Add test case, issue got fixed before
1 parent 9197e70 commit bc28b25

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

test/testsimplifytypedef.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ class TestSimplifyTypedef : public TestFixture {
142142
TEST_CASE(simplifyTypedef109); // ticket #1823 - rvalue reference
143143
TEST_CASE(simplifyTypedef110); // ticket #6268
144144
TEST_CASE(simplifyTypedef111); // ticket #6345
145+
TEST_CASE(simplifyTypedef112); // ticket #6048
145146

146147
TEST_CASE(simplifyTypedefFunction1);
147148
TEST_CASE(simplifyTypedefFunction2); // ticket #1685
@@ -2408,6 +2409,25 @@ class TestSimplifyTypedef : public TestFixture {
24082409

24092410
}
24102411

2412+
void simplifyTypedef112() { // ticket #6048
2413+
const char code[] = "template<\n"
2414+
"typename DataType,\n"
2415+
"typename SpaceType,\n"
2416+
"typename TrafoConfig>\n"
2417+
"class AsmTraits1 {\n"
2418+
" typedef typename SpaceType::TrafoType TrafoType;\n"
2419+
" typedef typename TrafoType::ShapeType ShapeType;\n"
2420+
" typedef typename TrafoType::template Evaluator<ShapeType, DataType>::Type TrafoEvaluator;\n"
2421+
" enum {\n"
2422+
" domain_dim = TrafoEvaluator::domain_dim,\n"
2423+
" };\n"
2424+
"};";
2425+
2426+
const char expected[] = "template < typename DataType , typename SpaceType , typename TrafoConfig > class AsmTraits1 { } ;";
2427+
ASSERT_EQUALS(expected, tok(code));
2428+
ASSERT_EQUALS("", errout.str());
2429+
}
2430+
24112431
void simplifyTypedefFunction1() {
24122432
{
24132433
const char code[] = "typedef void (*my_func)();\n"

0 commit comments

Comments
 (0)