criteria.html open issues
Joseph S. Myers
jsm28@cam.ac.uk
Mon May 28 05:58:00 GMT 2001
On Mon, 28 May 2001, Tim Hollebeek wrote:
> Some people use -E -traditional, which IIRC works differently in some cases.
The traditional cpp is of use for imake and any other cases of people
preprocessing non-C code. However, the ability to compile with
-traditional (rather than just preprocess) complicates the compiler with
code to support (incompletely) a poorly defined language dialect that has
been obsoleted by a language standard for over a decade (and to a large
extent by widely distributed ANSI C drafts for some time before that).
An example of complications from -traditional: I've mentioned that I'd
like the separate cpp0 executable to go away and become a mode of cc1, so
that macros can be predefined by cc1 according to its internal state
rather than just from specs - for example, to guarantee that the values in
<limits.h> always agree with the compiler's internal notion of types.
I've since realised that -traditional complicates this; if <limits.h>
relies on values such as __INT_MAX__ always being predefined by cc1, then
when compiling with -traditional it would be necessary to get the
predefined macros from cc1, remove __STDC ones, run tradcpp, then run cc1
again. Thus, I'd prefer tradcpp to be strictly a preprocessor for non-C
code, not something used for compiling C.
--
Joseph S. Myers
jsm28@cam.ac.uk
More information about the Gcc
mailing list