Currently, if the argument to _Pragma is not a parenthesised string literal, the bad token will be consumed, as well as the ')', if present. If additional bad tokens are passed to the _Pragma, this results in extra error messages which may distract from the true problem. For example:
temp.c:1:1: error: _Pragma takes a parenthesized string literal _Pragma(unroll 1) ^ temp.c:1:16: error: expected identifier or '(' _Pragma(unroll 1) ^ 2 errors generated. }
The proposed patch causes all tokens to be consumed until the closing ')' or a new line, whichever is reached first.