translation phases

Garry Wiegand garry at ithaca.uucp
Tue Feb 26 10:54:40 AEST 1991


bhoughto at pima.intel.com (Blair P. Houghton) writes:
>Line splicing (the deletion of the sequence {backslash,newline}
>from the translation unit; thus reducing the unit's "length" by
>two characters) occurs before anything else other than trigraph
>replacement and translation of funny newline markers into
>real newline characters.  Strings don't even exist at this
>point; just lots of characters, a few of them to be deleted.

Was this a late addition to the standard? I tried:

    \
    \
    \
    z() {}

on all the compilers I could get to quickly. DEC (Ultrix and VMS),
HP, SG, Sun, and the Sony all complained. Gcc passed it. (Gcc is
also the only one that so far is brave enough to define __STDC__.)

I changed this to:

    z\
    z\
    z\
    z() {}

which made the VMS compiler smile upon it (making a global symbol
named ZZZZ - I checked :-) and didn't change the others. 

Interesting. Not useful, but interesting.

Garry Wiegand    ---    Ithaca Software, Alameda, California
...!uunet!ithaca!garry, garry%ithaca.uucp at uunet.uu.net



More information about the Comp.std.c mailing list