------- Comment #6 from tromey at gcc dot gnu dot org 2007-08-19 18:54 ------- What does a plain "_Pragma" mean? Currently we try to give an error for this. However, it is not clear that this is actually erroneous. The copy of the standard that I am reading only mentions:
A unary operator expression of the form: _Pragma ( string-literal ) ... but a plain _Pragma does not have that form. I'm not even sure that _Pragma(something-other-than-string-literal) should be recognized (but I'm new to C standardese...) Perhaps I have the wrong version of the standard or perhaps there is some more recent development of which I'm unaware. Anyway if we assume that a plain _Pragma is not an error then the first patch here is close to the correct one -- it just returns the plain _Pragma to the FE as an identifier. If all forms other than the full form are unrecognized then I think this first patch is correct. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30786