Fixed #1313 (unnamed enums not simplified properly)
This commit is contained in:
parent
989e8393e4
commit
8be8c266ac
|
@ -4667,7 +4667,8 @@ void Tokenizer::simplifyEnum()
|
||||||
++classLevel;
|
++classLevel;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if (Token::Match(tok, "enum %type% {"))
|
else if (Token::Match(tok, "enum {") ||
|
||||||
|
Token::Match(tok, "enum %type% {"))
|
||||||
{
|
{
|
||||||
Token * tok1;
|
Token * tok1;
|
||||||
Token * end;
|
Token * end;
|
||||||
|
|
|
@ -176,6 +176,7 @@ private:
|
||||||
|
|
||||||
TEST_CASE(enum1);
|
TEST_CASE(enum1);
|
||||||
TEST_CASE(enum2);
|
TEST_CASE(enum2);
|
||||||
|
TEST_CASE(enum3);
|
||||||
|
|
||||||
// remove "std::" on some standard functions
|
// remove "std::" on some standard functions
|
||||||
TEST_CASE(removestd);
|
TEST_CASE(removestd);
|
||||||
|
@ -3138,6 +3139,14 @@ private:
|
||||||
ASSERT_EQUALS(expected, tok(code, false));
|
ASSERT_EQUALS(expected, tok(code, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void enum3()
|
||||||
|
{
|
||||||
|
const char code[] = "enum { a, }; int array[a];";
|
||||||
|
const char expected[] = "enum { a = 0 , } ; int array [ 0 ] ;";
|
||||||
|
|
||||||
|
ASSERT_EQUALS(expected, tok(code, false));
|
||||||
|
}
|
||||||
|
|
||||||
void removestd()
|
void removestd()
|
||||||
{
|
{
|
||||||
ASSERT_EQUALS("; strcpy ( a , b ) ;", tok("; std::strcpy(a,b);"));
|
ASSERT_EQUALS("; strcpy ( a , b ) ;", tok("; std::strcpy(a,b);"));
|
||||||
|
|
Loading…
Reference in New Issue