From 18922061f53107618decfb7aede96e8c902bc0b8 Mon Sep 17 00:00:00 2001
From: Stan Shebs <shebs@apple.com>
Date: Tue, 21 Nov 2000 03:02:09 +0000
Subject: [PATCH] xm-darwin.h: New file, Darwin host definitions.

        * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
        * config/rs6000/x-darwin: New file, Darwin host fragment.
        * config.gcc (powerpc-*-darwin*): New host.
        * system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
        overridden by a config file.

From-SVN: r37601
---
 gcc/ChangeLog                 | 8 ++++++++
 gcc/config.gcc                | 4 ++++
 gcc/config/rs6000/x-darwin    | 5 +++++
 gcc/config/rs6000/xm-darwin.h | 9 +++++++++
 gcc/system.h                  | 2 ++
 5 files changed, 28 insertions(+)
 create mode 100644 gcc/config/rs6000/x-darwin
 create mode 100644 gcc/config/rs6000/xm-darwin.h

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1feb9606cbca..29361b32903b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2000-11-20  Stan Shebs  <shebs@apple.com>
+
+	* config/rs6000/xm-darwin.h: New file, Darwin host definitions.
+	* config/rs6000/x-darwin: New file, Darwin host fragment.
+	* config.gcc (powerpc-*-darwin*): New host.
+	* system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
+	overridden by a config file.
+
 2000-11-20  Neil Booth  <neilb@earthling.net>
 
 	* cppmacro.c (paste_tokens): Rename from paste_payloads.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 842515d74b57..63eaa8c79827 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2641,6 +2641,10 @@ powerpc-*-beos*)
 	tmake_file=rs6000/t-beos
 	xmake_file=rs6000/x-beos
 	;;
+powerpc-*-darwin*)
+	xm_file="rs6000/xm-rs6000.h rs6000/xm-darwin.h"
+	xmake_file=rs6000/x-darwin
+	;;
 powerpc-*-sysv*)
 	tm_file=rs6000/sysv4.h
 	xm_file="rs6000/xm-sysv4.h"
diff --git a/gcc/config/rs6000/x-darwin b/gcc/config/rs6000/x-darwin
new file mode 100644
index 000000000000..f2b8c94b24a4
--- /dev/null
+++ b/gcc/config/rs6000/x-darwin
@@ -0,0 +1,5 @@
+# The spiffy cpp-precomp chokes on some legitimate constructs in GCC
+# sources; use -traditional-cpp to get to GNU cpp. (This is another
+# peculiarity of Apple's GCC that we hope to get rid of.)
+
+CC = cc -traditional-cpp
diff --git a/gcc/config/rs6000/xm-darwin.h b/gcc/config/rs6000/xm-darwin.h
new file mode 100644
index 000000000000..8d75cf08712e
--- /dev/null
+++ b/gcc/config/rs6000/xm-darwin.h
@@ -0,0 +1,9 @@
+/* Undo the USG definition in xm-rs6000.h, Darwin is a BSD flavor.  */
+
+#undef USG
+
+/* Override the usual setting, since Apple's GCC has lame bugs and
+   can't handle the initializers.  Someday the bugs will be fixed and
+   we can get rid of this silliness.  */
+
+#define HAVE_DESIGNATED_INITIALIZERS 0
diff --git a/gcc/system.h b/gcc/system.h
index f0b7b649f8a4..20531ddb4e58 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -429,8 +429,10 @@ extern void abort PARAMS ((void));
 #endif
 
 /* 1 if we have C99 designated initializers.  */
+#if !defined(HAVE_DESIGNATED_INITIALIZERS)
 #define HAVE_DESIGNATED_INITIALIZERS \
   ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L))
+#endif
 
 /* Define a STRINGIFY macro that's right for ANSI or traditional C.
    Note: if the argument passed to STRINGIFY is itself a macro, eg
-- 
GitLab