We can use the TARGET_* defines here.  There isn't any reason to use
the underlying variable and masks.  (The only reason I'm aware of to
use them is when a target config file redefines some TARGET_* macro,
say to 0 or 1, but you need to report an error in override_options if
a user selects a command line option that attempts to change the
value.)  Also, TARGET_RELOCATABLE implies TARGET_MINIMAL_TOC, so there
is no need to test TARGET_RELOCATABLE.

Bootstrapped and regression tested powerpc64le-linux and
powerpc64-linux.  OK to apply?

        * config/rs6000/sysv4.h (TARGET_TOC): Simplify.

diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index a4009c3..46d2b4b 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -40,10 +40,8 @@
 #undef ASM_DEFAULT_SPEC
 #define        ASM_DEFAULT_SPEC "-mppc"
 
-#define        TARGET_TOC              ((rs6000_isa_flags & OPTION_MASK_64BIT) 
\
-                                || ((rs6000_isa_flags                  \
-                                     & (OPTION_MASK_RELOCATABLE        \
-                                        | OPTION_MASK_MINIMAL_TOC))    \
+#define        TARGET_TOC              (TARGET_64BIT                           
\
+                                || (TARGET_MINIMAL_TOC                 \
                                     && flag_pic > 1)                   \
                                 || DEFAULT_ABI != ABI_V4)
 

-- 
Alan Modra
Australia Development Lab, IBM

Reply via email to