[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Eh, what? on build.



"Henry B. Hotz" <hotz@jpl.nasa.gov> writes:

> My first reaction was "how did this *ever* compile with the missing
> quotes?"

`Traditional' preprocessors.

> My second reaction was "how did the compiler ever notice
> the problem given the #if 0//#endif block?"  This looks like a
> compiler bug, really.

No.  Look up `preprocessing tokens' in the C89 standard (at least).
The contents of #if blocks aren't outside the normal lexical rules.

With gcc 3.2 you'd have got `warning: multi-line string literals are
deprecated', and presumably its NEWS says they would be errors in the
next release.  Using `--traditional-cpp' in CPPFLAGS for configure
probably does what you expect, though it _might_ break something in
headers.