This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Results from Intel4s C++ ABI Testsuite
- From: Magnus Fromreide <magfr at lysator dot liu dot se>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: Joe Buck <Joe dot Buck at synopsys dot com>,Richard Henderson <rth at redhat dot com>,Nathan Sidwell <nathan at codesourcery dot com>,Andreas Jaeger <aj at suse dot de>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>,Goodman Joe <joe dot goodman at intel dot com>
- Date: Thu, 11 Jul 2002 09:37:33 +0200 (MEST)
- Subject: Re: Results from Intel4s C++ ABI Testsuite
On Wed, 10 Jul 2002, Mark Mitchell wrote:
> > It seems that for true C++ binary compatibility all implementers must
> > agree on the type of size_t. Was this overlooked?
>
> Sort of.
>
> As Richard says, this is pretty much a property of the OS. If "int" and
> "long" are the same, you can interchange the two for binary compatibility
> purposes, but you'll never make your header files work right.
>
> And, of course, since "size_t" is just a typedef we can't mangle it
> specially, even if we wanted to.
>
> It is true that if my OS uses "long" and yours uses "int" -- but they
> are the same in all other ways -- then I can't mix and match C++ shared
> objects from our two systems. I can still mix and match C++ shared
> objects from any one of those systems, even if I used different
> compilers to build them.
For me it sounds as if this would be a nice thing to put in a platform ABI
specification then. Is it in the IA-64 ABI spec that we are mostly using
for ix86 as well?