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: Further baby steps toward standalone cpplib


"Zack Weinberg" <zack@codesourcery.com> writes:
> "Joseph S. Myers" <jsm@polyomino.org.uk> writes:
> > (Is the 64-bit wchar_t for those MIPS targets actually correct for
> > the ABI being implemented?  If so, what were the ABI designers
> > thinking?)
> 
> I can't say this with 100% certainty because of the twisty maze that
> is config/mips/*.h, but it appears to be a "feature" specific to irix
> 5.x, and to be more or less an accident -- the underlying type of wchar_t
> is "int", and there exists an -m switch that makes int 64 bits wide.

I suppose you're talking about this stuff in iris5.h:

#define WCHAR_TYPE     "int"
#define WCHAR_TYPE_SIZE        INT_TYPE_SIZE
#define MAX_WCHAR_TYPE_SIZE    64
[...]
#define TARGET_OS_CPP_BUILTINS()                        \
     [...]                                              \
     if (!TARGET_INT64)                                 \
        builtin_define ("_MIPS_SZINT=32");              \
     else                                               \
        builtin_define ("_MIPS_SZINT=64");              \

...which gives the impression that -mint64 does something useful.
But could -mint64 really be of any use on an o32 target?  Any system
interface that used ints, longs, size_ts, etc. would be off limits.

It looks like the _MIPS_SZINT=64 handling has been in iris5.h since at
least October 93.  Oh well...

Richard


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