From: aldyh Date: Fri, 13 May 2005 19:52:39 +0000 (+0000) Subject: * config/rs6000/sysv4.opt (mlittle): Handle. X-Git-Tag: upstream/4.9.2~61223 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b6b5460db3c71b23df415f5d50a2d876cae9601e;p=platform%2Fupstream%2Flinaro-gcc.git * config/rs6000/sysv4.opt (mlittle): Handle. * config/rs6000/rs6000.c (rs6000_handle_option): Set target_flags_explicit when appropriate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99675 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 + + * 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 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)