Hi!

As reported by Martin, while David has added OPTION_GLIBC define to aix
and Iain to darwin, all the other non-linux targets now fail because
rs6000.md macro isn't defined.

One possibility is to define this macro in option-defaults.h which on rs6000
targets is included last, then we don't need to define it in aix/darwin
headers and for targets using linux.h or linux64.h it will DTRT too.

Bootstrapped/regtested on powerpc64le-linux, ok for trunk?

The other option is the first 2 hunks + changing the 3
  if (!OPTION_GLIBC)
    FAIL;
cases in rs6000.md to e.g.
#ifdef OPTION_GLIBC
  if (!OPTION_GLIBC)
#endif
    FAIL;
or to:
#ifdef OPTION_GLIBC
  if (!OPTION_GLIBC)
#else
  if (true)
#endif
    FAIL;
(the latter case if Richi wants to push the -Wunreachable-code changes for
GCC 13).

2022-01-31  Jakub Jelinek  <ja...@redhat.com>

        PR target/104298
        * config/rs6000/aix.h (OPTION_GLIBC): Remove.
        * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
        * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
        if not already defined.

--- gcc/config/rs6000/aix.h.jj  2022-01-26 11:57:58.964388591 +0100
+++ gcc/config/rs6000/aix.h     2022-01-31 10:56:07.679463171 +0100
@@ -23,7 +23,6 @@
 #define DEFAULT_ABI ABI_AIX
 #undef  TARGET_AIX
 #define TARGET_AIX 1
-#define OPTION_GLIBC 0
 
 /* Linux64.h wants to redefine TARGET_AIX based on -m64, but it can't be used
    in the #if conditional in options-default.h, so provide another macro.  */
--- gcc/config/rs6000/darwin.h.jj       2022-01-29 11:11:39.213629460 +0100
+++ gcc/config/rs6000/darwin.h  2022-01-31 10:56:36.466058077 +0100
@@ -34,8 +34,6 @@
 #endif
 #endif
 
-#define OPTION_GLIBC 0
-
 /* The object file format is Mach-O.  */
 
 #define TARGET_OBJECT_FORMAT OBJECT_MACHO
--- gcc/config/rs6000/option-defaults.h.jj      2022-01-11 23:11:21.940296477 
+0100
+++ gcc/config/rs6000/option-defaults.h 2022-01-31 10:56:58.615746384 +0100
@@ -62,3 +62,7 @@
   {"cpu_32", "%{" OPT_ARCH32 ":%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
   {"cpu_64", "%{" OPT_ARCH64 ":%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
   {"float", "%{!msoft-float:%{!mhard-float:-m%(VALUE)-float}}" }
+
+#ifndef OPTION_GLIBC
+#define OPTION_GLIBC 0
+#endif

        Jakub

Reply via email to