Preprocessor directive & whitespace

Norman Diamond diamond at csl.sony.co.jp
Wed Oct 11 18:03:24 AEST 1989


Consider the following fragment of code:

  x = y + z;  /* comment
  more comment */  #define a b

Is this a legal #define?  I think no, because the comment is replaced
by a single space, so the "#" is preceded by more than whitespace --
it is preceded by "x = y + z;" on the same line.

If my processor encounters and obeys such an illegal #define, is it
required to produce a warning message, or may it obey silently?

-- 
Norman Diamond, Sony Corp. (diamond%ws.sony.junet at uunet.uu.net seems to work)
  The above opinions are inherited by your machine's init process (pid 1),
  after being disowned and orphaned.  However, if you see this at Waterloo or
  Anterior, then their administrators must have approved of these opinions.



More information about the Comp.std.c mailing list