This is the mail archive of the gcc-patches@gcc.gnu.org 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]
Other format: [Raw text]

Re: Kill traditional mode


On Wed, Feb 27, 2002 at 07:56:33PM +0000, Joseph S. Myers wrote:
> 
> > -@cindex structures
> > -@cindex unions
> > -@item
> > -When compiling functions that return structures or unions, GCC
> > -output code normally uses a method different from that used on most
> > -versions of Unix.  As a result, code compiled with GCC cannot call
> > -a structure-returning function compiled with PCC, and vice versa.
> 
> Make sure this information is duplicated in interface.texi before removing
> it.  (Though we really need updates for the ABI compatibility docs, making
> clear on exactly what systems we are / are not compatible with what other
> compilers under what circumstances, what is relevant to current systems
> and what to old systems.)

It is not only obsolete, but inaccurate, and has been so for years.
The section dates to an era when we apparently thought it was a good
idea to violate the ABI if it meant structure returns went a bit
faster.

Note that -fpcc-struct-return ONLY affects whether or not all
structures are returned in memory.  It has nothing to do with whether
that happens by invisible first argument or by copying to and from a
static buffer.  That's controlled by PCC_STATIC_STRUCT_RETURN.  The
editorializing about how PCC_STATIC_STRUCT_RETURN is not reentrant is
true, but misleading.

> > -@cindex preprocessing tokens
> > -@cindex preprocessing numbers
> > -@item
> > -GCC complains about program fragments such as @samp{0x74ae-0x4000}
> 
> This issue still confuses users (who aren't generally familiar with the
> concept of preprocessing numbers).

I'll put this bit back.

zw


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