Fixed #8818 (AST broken: restrict)
This commit is contained in:
parent
614a252704
commit
e7d61f399a
|
@ -9084,17 +9084,15 @@ void Tokenizer::simplifyKeyword()
|
|||
tok->deleteThis();
|
||||
}
|
||||
|
||||
|
||||
if (mSettings->standards.c >= Standards::C99) {
|
||||
if (isC() && mSettings->standards.c >= Standards::C99) {
|
||||
while (tok->str() == "restrict") {
|
||||
tok->deleteThis();
|
||||
}
|
||||
|
||||
// simplify static keyword:
|
||||
// void foo( int [ static 5 ] ); ==> void foo( int [ 5 ] );
|
||||
if (Token::Match(tok, "[ static %num%")) {
|
||||
tok->deleteNext();
|
||||
}
|
||||
}
|
||||
// simplify static keyword:
|
||||
// void foo( int [ static 5 ] ); ==> void foo( int [ 5 ] );
|
||||
if (Token::Match(tok, "[ static %num%")) {
|
||||
tok->deleteNext();
|
||||
}
|
||||
|
||||
if (mSettings->standards.c >= Standards::C11) {
|
||||
|
|
|
@ -3280,6 +3280,7 @@ private:
|
|||
ASSERT_EQUALS("int * p ;", tok("int * restrict p;", "test.c"));
|
||||
ASSERT_EQUALS("int * * p ;", tok("int * restrict * p;", "test.c"));
|
||||
ASSERT_EQUALS("void foo ( float * a , float * b ) ;", tok("void foo(float * restrict a, float * restrict b);", "test.c"));
|
||||
ASSERT_EQUALS("void foo ( int restrict ) ;", tok("void foo(int restrict);"));
|
||||
ASSERT_EQUALS("int * p ;", tok("typedef int * __restrict__ rint; rint p;", "test.c"));
|
||||
|
||||
// don't remove struct members:
|
||||
|
|
Loading…
Reference in New Issue