Move "extern" to the beginning of a declaration like "static" and "const"
This commit is contained in:
parent
f89205064a
commit
d5bc3285b9
|
@ -5709,16 +5709,16 @@ void Tokenizer::simplifyStdType()
|
|||
|
||||
void Tokenizer::simplifyStaticConst()
|
||||
{
|
||||
// This function will simplify the token list so that the qualifiers "static"
|
||||
// This function will simplify the token list so that the qualifiers "extern", "static"
|
||||
// and "const" appear in the reverse order to what is in the array below.
|
||||
const std::string qualifiers[] = {"const", "static"};
|
||||
const std::string qualifiers[] = {"const", "static", "extern"};
|
||||
|
||||
// Move 'const' before all other qualifiers and types and then
|
||||
// move 'static' before all other qualifiers and types.
|
||||
// move 'static' before all other qualifiers and types, ...
|
||||
for (size_t i = 0; i < sizeof(qualifiers)/sizeof(qualifiers[0]); i++) {
|
||||
for (Token *tok = list.front(); tok; tok = tok->next()) {
|
||||
|
||||
// Keep searching for an instance of "static" or "const"
|
||||
// Keep searching for a qualifier
|
||||
if (!tok->next() || tok->next()->str() != qualifiers[i])
|
||||
continue;
|
||||
|
||||
|
|
|
@ -8329,6 +8329,10 @@ private:
|
|||
"+ i13 + i14 + i15 + i16 + i17 + i18 ;\n"
|
||||
"}";
|
||||
ASSERT_EQUALS(expected2, tokenizeAndStringify(code2, true));
|
||||
|
||||
const char code3[] = "const unsigned long extern int i;";
|
||||
const char expected3[] = "extern const unsigned long i ;";
|
||||
ASSERT_EQUALS(expected3, tokenizeAndStringify(code3, true));
|
||||
}
|
||||
|
||||
void simplifyDeprecated() {
|
||||
|
|
Loading…
Reference in New Issue