Comments and pragma lines

Mark Hall markhall at pyramid.pyramid.com
Tue Nov 29 10:31:18 AEST 1988


Consider the following source:

#pragma rotate lid counterclockwise    /* store pointers in
					* Best Foods 
					* Mayonaise Jars.
					*/

Is it legal to start the comment on the pragma line?  From what I read*
in the standard, it is illegal.  Fine.  For such cases, I'd like to see the 
message:

error: <file>.c: line 1, cannot open comment on #pragma line

But if the two characters `/*' can occur legally in a
#pragma line, then I don't see how the compiler can flag the error.
For example, *if* the following is legal:

#pragma ascii sunbakedchar &^%$/*()!

then of course the compiler can't know in general that ``/*'' in the
pragma line is the ``open comment'' token.  The consequence of this is
that, for the original source above, the compiler will give some other
complaint like:

error: <file>.c: line 2, lhs of `*' operator must be l-value.
error: <file>.c: line 2, undeclared id `Best'

or worse, it could give some really dreadful message way down in the
source listing that was actually due to the /* in the #pragma.  (you
know how hard it is to find those smoking open-comment/close-comment
mismatch errors).

So, the question is:  can /* occur legally on the #pragma line?

_______________________ 
*did I say `read'?  I meant, ``someone walked by my office with
 the standard in hand and I saw an open page''.



More information about the Comp.std.c mailing list