This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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