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)