This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: thoughts on martin's proposed patch for GCC and UTF-8
Richard Stallman <rms@gnu.org> writes:
|> For reference, here are the draft C9x pragmas and what they do.
|>
|> These arithmetic parameters should not be done with #pragma, not with
|> any kind of #-command. That is because macro expansions cannot
|> produce a #-command.
That's why C9x has the Pragma operator.
6.10.9 Pragma operator
Semantics
[#1] A unary operator expression of the form:
_Pragma ( string-literal )
is processed as follows: The string literal is destringized
by deleting the L prefix, if present, deleting the leading
and trailing double-quotes, replacing each escape sequence
\" by a double-quote, and replacing each escape sequence \\
by a single backslash. The resulting sequence of characters
is processed through translation phase 3 to produce
preprocessing tokens that are executed as if they were the
pp-tokens in a pragma directive. The original four
preprocessing tokens in the unary operator expression are
removed.
--
Andreas Schwab "And now for something
schwab@issan.cs.uni-dortmund.de completely different"
schwab@gnu.org