gcc 4.3 warnings

Matthew Saltzman mjs at clemson.edu
Wed Aug 6 11:55:56 UTC 2008


On Tue, 2008-08-05 at 19:49 -0700, Skunk Worx wrote:
> $ gcc foo.c
> foo.c:1:16: warning: missing terminating " character
> 
> $ cat foo.c
> #define DQUOTE "
> main() {}
> 
> A few people at work have mentioned it seems unusual for a preprocessor 
> to complain about simple macros this way.
> 
> What do others think of this?

A macro definition has to consist of a sequence of tokens.  A string
constant (sequence of characters enclosed in double quotes) is a token,
but the double quote by itself is not.

If you are trying to construct strings containing macro defs, look at
the stringize operator (#) and token merge operator (##)in the
preprocessor documentation.

> 
> TIA,
> John
> 
> 
-- 
                Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs




More information about the fedora-list mailing list