Source line limit, was Re: "Broken" compilers
    David Adrien Tanguay 
    datanguay at watmath.waterloo.edu
       
    Wed May  2 21:49:47 AEST 1990
    
    
  
In article <1640 at tkou02.enet.dec.com> diamond at tkou02.enet.dec.com (diamond at tkovoa) writes:
>A logical source line means *both* before and after macro expansion.  The
>limit applies until phase 7.  (I also have a letter from Tom Plum, though
>not a formal ANSI ruling, that the limit applies after macro expansion.)
>Norman Diamond, Nihon DEC     diamond at tkou02.enet.dec.com
I think this is an incorrect interpretation. The "logical source line" is
only mentioned in phase 2, and phase 3 talks about decomposing the input
into tokens. Also, note that one of the other translation limits includes
509 characters in a string literal, after concatenation. It would be
impossible to construct such a literal with a 509 character limit on the
logical source line, if the logical source line definition includes
phase 6 (adjacent string concatenation). (You need 2 extra characters for
the quotes.)
You can probably weasel out of the contradiction (e.g., the compiler
recognises a special case, thus passing both limits at once, but in all
other cases only accepts 10 characters lines :-(), but I think it shows
that the intention is that the logical source line limit does not
extend to phase 6. What is your argument for extending it beyond
phase 2?
David Tanguay
    
    
More information about the Comp.std.c
mailing list