This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFDiscussion: Macros used throughout gcc but not defined anywhere
- From: Jim Wilson <wilson at redhat dot com>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: 12 Jun 2002 21:55:13 -0400
- Subject: Re: RFDiscussion: Macros used throughout gcc but not defined anywhere
- References: <20020613001207.GA10917@codesourcery.com>
>ADD_MISSING_EXTERN_C
Defined in fix-header.c inside a comment. It was commented out in 1995
during a fix-header rewrite. The comment says we don't need it anymore
because cpp assumes that standard include files are C files. Since it has
been disabled for 7 years without a problem, it is safe to zap it.
>ALLOCATE_TRAMPOLINE
Was added in 1989 at the same time as a bunch of other TRAMPOLINE macros.
Looks like it was added for completeness, i.e. if we are going to macroize
something, we may as well macroize all parts of it. This macro was apparently
never used, but all of the other macros added at the same time are being used.
In theory, this could be used to make trampolines work on machines that can't
execute code on the stack, but it isn't clear if anyone will ever try to use
it.
>ALMOST_STDC
If you grep a uberbaum tree, this one is pretty obvious. It is a frequently
used idiom in bfd in particular, but also in other parts of binutils and in
parts of gdb. It is defined in include/mpw/mpw.h. It was added in 1994 to
support building tools on mpw. This probably ended up in gcc from a careless
copy of binutils code into gcc. The gcc reference is useless and should be
eliminated. The bfd/gdb references, well, they are probably useless too,
but that is not our problem.
>ANSI_PROTOTYPES
Defined in include/ansidecl.h. This is included in {,h,t}config.h which
are created by configure. You would have to have a build tree, or grep
configure for header files, in order to automatically notice this.
>ARM_EXTENDED_IEEE_FORMAT
It was added by Richard Earnshaw in 1996 to support ARM long double format.
The intent was that someday long double support would enabled in the ARM
port. Unfortunately, that day hasn't arrived yet. We probably should add
a ifdefed/commented out definition in config/arm/arm.h. Right next to the
commented out LONG_DOUBLE_TYPE_SIZE macro definition.
>ARM_WINCE
Used to be defined in config/arm/arm-wince-pe.h which you deleted May 24.
It can be deleted, but we should consult with the ARM maintainer first in
case this macro use might be useful again in the future. Since this is an
ifndef, we delete the #ifndef and its comment, but keep all the code that it
surrounds.
Jim