On 12/02/2011 11:57 AM, Joseph S. Myers wrote:
On Fri, 2 Dec 2011, Joel Sherrill wrote:

On 12/02/2011 10:38 AM, Joseph S. Myers wrote:
On Fri, 2 Dec 2011, Joel Sherrill wrote:

2011-12-02  Joel Sherrill<joel.sherr...@oarcorp.com>

      * config/rs6000/rtems.h: Switch to using global_options_set
      in SUBSUBTARGET_OVERRIDE_OPTIONS.
Is it deliberate that you are removing the first part of each "if"
condition (thus, no longer checking TARGET_HARD_FLOAT before setting
rs6000_float_gprs, no longer checking rs6000_float_gprs before setting
rs6000_spe, etc.)?

I patterned this after what was in other files.
It is done this way everywhere it is referenced.

Should all of them be changed?
Not necessarily.

I described how I think this sort of logic should work in
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49854>.  I think that means
something closer to the other headers than to rtems.h - but I don't think
a semantic change should be mixed with a change that's just supposed to
get things to build again.

OK.  I obviously read too much into the other uses.
I did not intend to change semantics just account for
the change making this not compile.

How does the the new version look?

--
Joel Sherrill, Ph.D.             Director of Research&  Development
joel.sherr...@oarcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985


Index: rtems.h
===================================================================
--- rtems.h     (revision 181924)
+++ rtems.h     (working copy)
@@ -57,15 +57,15 @@
   { "cpp_os_rtems",            CPP_OS_RTEMS_SPEC }
 
 #undef SUBSUBTARGET_OVERRIDE_OPTIONS
-#define SUBSUBTARGET_OVERRIDE_OPTIONS                                  \
-  do {                                                                 \
-    if (TARGET_E500)                                                   \
-      {                                                                        
\
-        if (TARGET_HARD_FLOAT && !rs6000_explicit_options.float_gprs)  \
-          rs6000_float_gprs = 1;                                       \
-        if (rs6000_float_gprs != 0 && !rs6000_explicit_options.spe)    \
-          rs6000_spe = 1;                                              \
-        if (rs6000_spe && !rs6000_explicit_options.spe_abi)            \
-          rs6000_spe_abi = 1;                                          \
-      }                                                                        
\
+#define SUBSUBTARGET_OVERRIDE_OPTIONS                                     \
+  do {                                                                    \
+   if (TARGET_E500)                                                       \
+      {                                                                   \
+        if (TARGET_HARD_FLOAT && !global_options_set.x_rs6000_float_gprs) \
+          rs6000_float_gprs = 1;                                          \
+        if (rs6000_float_gprs != 0 && !global_options_set.x_rs6000_spe)   \
+          rs6000_spe = 1;                                                 \
+        if (rs6000_spe && !global_options_set.x_rs6000_spe_abi)           \
+          rs6000_spe_abi = 1;                                             \
+      }                                                                   \
   } while(0)

Reply via email to