This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: criteria.html open issues

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]