aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2005-05-13 19:52:39 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2005-05-13 19:52:39 +0000
commitc2dba4ab4059335b9efb8f3da7e1887c347ff210 (patch)
tree66f18ff36acc6deeb1d28c0128a4a9e5605f8515 /gcc
parent326a31e9513774c3088ed46f4d7b2ee54dd18c5b (diff)
downloadgcc-c2dba4ab4059335b9efb8f3da7e1887c347ff210.zip
gcc-c2dba4ab4059335b9efb8f3da7e1887c347ff210.tar.gz
gcc-c2dba4ab4059335b9efb8f3da7e1887c347ff210.tar.bz2
sysv4.opt (mlittle): Handle.
* config/rs6000/sysv4.opt (mlittle): Handle. * config/rs6000/rs6000.c (rs6000_handle_option): Set target_flags_explicit when appropriate. From-SVN: r99675
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c48
-rw-r--r--gcc/config/rs6000/sysv4.opt7
3 files changed, 49 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2c4c492..dd923ac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2005-05-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/sysv4.opt (mlittle): Handle.
+
+ * config/rs6000/rs6000.c (rs6000_handle_option): Set
+ target_flags_explicit when appropriate.
+
2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
PR middle-end/20714:
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index dcf9afe..5ea21a0 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1553,18 +1553,25 @@ rs6000_handle_option (size_t code, const char *arg, int value)
case OPT_mno_power:
target_flags &= ~(MASK_POWER | MASK_POWER2
| MASK_MULTIPLE | MASK_STRING);
+ target_flags_explicit |= (MASK_POWER | MASK_POWER2
+ | MASK_MULTIPLE | MASK_STRING);
break;
case OPT_mno_powerpc:
target_flags &= ~(MASK_POWERPC | MASK_PPC_GPOPT
| MASK_PPC_GFXOPT | MASK_POWERPC64);
+ target_flags_explicit |= (MASK_POWERPC | MASK_PPC_GPOPT
+ | MASK_PPC_GFXOPT | MASK_POWERPC64);
break;
case OPT_mfull_toc:
target_flags &= ~(MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC
| MASK_NO_SUM_IN_TOC);
+ target_flags_explicit |= (MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC
+ | MASK_NO_SUM_IN_TOC);
#ifdef TARGET_USES_SYSV4_OPT
/* Note, V.4 no longer uses a normal TOC, so make -mfull-toc, be
just the same as -mminimal-toc. */
target_flags |= MASK_MINIMAL_TOC;
+ target_flags_explicit |= MASK_MINIMAL_TOC;
#endif
break;
@@ -1572,6 +1579,7 @@ rs6000_handle_option (size_t code, const char *arg, int value)
case OPT_mtoc:
/* Make -mtoc behave like -mminimal-toc. */
target_flags |= MASK_MINIMAL_TOC;
+ target_flags_explicit |= MASK_MINIMAL_TOC;
break;
#endif
@@ -1581,6 +1589,8 @@ rs6000_handle_option (size_t code, const char *arg, int value)
case OPT_m64:
#endif
target_flags |= MASK_POWERPC64 | MASK_POWERPC | MASK_PPC_GFXOPT;
+ target_flags_explicit |= MASK_POWERPC64 | MASK_POWERPC
+ | MASK_PPC_GFXOPT;
break;
#ifdef TARGET_USES_AIX64_OPT
@@ -1589,6 +1599,7 @@ rs6000_handle_option (size_t code, const char *arg, int value)
case OPT_m32:
#endif
target_flags &= ~MASK_POWERPC64;
+ target_flags_explicit |= MASK_POWERPC64;
break;
case OPT_minsert_sched_nops_:
@@ -1598,25 +1609,34 @@ rs6000_handle_option (size_t code, const char *arg, int value)
case OPT_mminimal_toc:
if (value == 1)
{
- target_flags &= ~MASK_NO_FP_IN_TOC;
- target_flags &= ~MASK_NO_SUM_IN_TOC;
+ target_flags &= ~(MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC);
+ target_flags_explicit |= (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC);
}
break;
case OPT_mpower:
if (value == 1)
- target_flags |= (MASK_MULTIPLE | MASK_STRING);
+ {
+ target_flags |= (MASK_MULTIPLE | MASK_STRING);
+ target_flags_explicit |= (MASK_MULTIPLE | MASK_STRING);
+ }
break;
case OPT_mpower2:
if (value == 1)
- target_flags |= (MASK_POWER | MASK_MULTIPLE | MASK_STRING);
+ {
+ target_flags |= (MASK_POWER | MASK_MULTIPLE | MASK_STRING);
+ target_flags_explicit |= (MASK_POWER | MASK_MULTIPLE | MASK_STRING);
+ }
break;
case OPT_mpowerpc_gpopt:
case OPT_mpowerpc_gfxopt:
if (value == 1)
- target_flags |= MASK_POWERPC;
+ {
+ target_flags |= MASK_POWERPC;
+ target_flags_explicit |= MASK_POWERPC;
+ }
break;
#if TARGET_ALTIVEC_VRSAVE != 0
@@ -1657,15 +1677,25 @@ rs6000_handle_option (size_t code, const char *arg, int value)
case OPT_mrelocatable:
if (value == 1)
- target_flags |= MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC;
+ {
+ target_flags |= MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC;
+ target_flags_explicit |= MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC;
+ }
break;
case OPT_mrelocatable_lib:
if (value == 1)
- target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC
- | MASK_NO_FP_IN_TOC;
+ {
+ target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC
+ | MASK_NO_FP_IN_TOC;
+ target_flags_explicit |= MASK_RELOCATABLE | MASK_MINIMAL_TOC
+ | MASK_NO_FP_IN_TOC;
+ }
else
- target_flags &= ~MASK_RELOCATABLE;
+ {
+ target_flags &= ~MASK_RELOCATABLE;
+ target_flags_explicit |= MASK_RELOCATABLE;
+ }
break;
#endif
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
index 29dc62d..d826c55 100644
--- a/gcc/config/rs6000/sysv4.opt
+++ b/gcc/config/rs6000/sysv4.opt
@@ -53,10 +53,9 @@ mlittle-endian
Target Report RejectNegative Mask(LITTLE_ENDIAN)
Produce little endian code
-; FIXME: Need a way to specify an alias.
-;mlittle
-;Target Report RejectNegative Mask(LITTLE_ENDIAN)
-;Produce little endian code
+mlittle
+Target Report RejectNegative Mask(LITTLE_ENDIAN) MaskExists
+Produce little endian code
mbig-endian
Target Report RejectNegative InverseMask(LITTLE_ENDIAN)