MIPS SIZE_TYPE and PTRDIFF_TYPE revamp

Alexandre Oliva aoliva@redhat.com
Tue Mar 12 17:39:00 GMT 2002


On Mar 12, 2002, cgd@broadcom.com wrote:

> /home/cgd/proj/gcc-testing/combined/libstdc++-v3/libsupc++/new:79: `operator 
>    new' takes type `size_t' (`unsigned int') as first parameter

> because, due to the MEABI -mips64 spec handling, __SIZE_TYPE__ is
> 'unsigned long int' and __PTRDIFF_TYPE__ is 'long int'.

> should have an additional term:

>           || (mips_abi == ABI_MEABI && TARGET_64BIT)

> in the obvious place (with the comment updated to match).

> I'm trying a build w/ the diff below.  If it goes well i'll send in
> the patch w/ a change log and a request for approval.

> Especially since i know _nothing_ about the MEABI, any thoughts you
> might have about this would be appreciated.  I just made this change
> based on the cpp specs you've provided.  8-)

I'm afraid my knowledge about meabi doesn't go beyond yours :-(, but
your reasoning looks perfectly reasonable.  However, I wonder which
part of the implementation was wrong: the original size spec for
meabi, that I hope I haven't changed, or the default width of a long.
It indeed makes a lot more sense to expect longs to have a different
width for the cases that use them in size types, instead of plain
ints.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer



More information about the Gcc-patches mailing list