diff options
author | gavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-03-16 08:04:00 +0000 |
---|---|---|
committer | gavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-03-16 08:04:00 +0000 |
commit | 824ab36c58becdd02187fc7404ce98b875a596dd (patch) | |
tree | daec3e61df962dddb93f254864391c683cec34d7 /gcc/invoke.texi | |
parent | 23317e356cfea9767204c6578b3c1c069cae9143 (diff) | |
download | ppe42-gcc-824ab36c58becdd02187fc7404ce98b875a596dd.tar.gz ppe42-gcc-824ab36c58becdd02187fc7404ce98b875a596dd.zip |
* invoke.texi: Add -mlong32 documentation.
* config/mips/mips.h (mips_explicit_type_size_string): New.
(TARGET_SWITCHES): Add 'long32'.
(TARGET_OPTIONS): Add 'explicit-type-size'.
(CC1_SPECS): Set -mexplicit-type-size.
(LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
* config/mips/abi64.h (LONG_MAX_SPEC): Same. Add 'mabi=32'.
* config/mips/mips.c (mips_explicit_type_size_string): New.
(override_options): Use it.
* config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
Pointer size now depends on both size longs and size of GP
registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25799 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/invoke.texi')
-rw-r--r-- | gcc/invoke.texi | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/gcc/invoke.texi b/gcc/invoke.texi index d05ef377126..5ea74bfed4d 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -322,7 +322,7 @@ in the following sections. -mabicalls -mcpu=@var{cpu type} -membedded-data -membedded-pic -mfp32 -mfp64 -mgas -mgp32 -mgp64 -mgpopt -mhalf-pic -mhard-float -mint64 -mips1 --mips2 -mips3 -mips4 -mlong64 -mlong-calls -mmemcpy +-mips2 -mips3 -mips4 -mlong64 -mlong32 -mlong-calls -mmemcpy -mmips-as -mmips-tfile -mno-abicalls -mno-embedded-data -mno-embedded-pic -mno-gpopt -mno-long-calls @@ -4788,14 +4788,25 @@ Assume that 32 64-bit general purpose registers are available. This is the default when the @samp{-mips3} option is used. @item -mint64 -Force int and long types to be 64 bits wide. See @samp{-mlong64} for an -explanation of the width of pointers. +Force int and long types to be 64 bits wide. See @samp{-mlong32} for an +explanation of the default, and the width of pointers. @item -mlong64 -Force long types to be 64 bits wide. +Force long types to be 64 bits wide. See @samp{-mlong32} for an +explanation of the default, and the width of pointers. -The width of pointer types is the smaller of the width of longs -or the width of general purpose registers. +@item -mlong32 +Force long, int, and pointer types to be 32 bits wide. + +If none of @samp{-mlong32}, @samp{-mlong64}, or @samp{-mint64} are set, +the size of ints, longs, and pointers depends on the ABI and ISA choosen. +For @samp{-mabi=32}, and @samp{-mabi=n32}, ints and longs are 32 bits +wide. For @samp{-mabi=64}, ints are 32 bits, and longs are 64 bits wide. +For @samp{-mabi=eabi} and either @samp{-mips1} or @samp{-mips2}, ints +and longs are 32 bits wide. For @samp{-mabi=eabi} and higher ISAs, ints +are 32 bits, and longs are 64 bits wide. The width of pointer types is +the smaller of the width of longs or the width of general purpose +registers (which in turn depends on the ISA). @itemx -mabi=32 @itemx -mabi=n32 |