summaryrefslogtreecommitdiffstats
path: root/gcc/invoke.texi
diff options
context:
space:
mode:
authorgavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4>1999-03-16 08:04:00 +0000
committergavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4>1999-03-16 08:04:00 +0000
commit824ab36c58becdd02187fc7404ce98b875a596dd (patch)
treedaec3e61df962dddb93f254864391c683cec34d7 /gcc/invoke.texi
parent23317e356cfea9767204c6578b3c1c069cae9143 (diff)
downloadppe42-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.texi23
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
OpenPOWER on IntegriCloud