This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: criteria.html open issues
- To: Tim Hollebeek <tim at hollebeek dot com>
- Subject: Re: criteria.html open issues
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- Date: Mon, 28 May 2001 13:57:58 +0100 (BST)
- cc: <gcc at gcc dot gnu dot org>
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