summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorshebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>2000-11-21 03:02:09 +0000
committershebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>2000-11-21 03:02:09 +0000
commit17ac16a1a5d5a6e2ef77aa2168cc0ce139ebf93c (patch)
tree80e209a711b33794aa660c7b9b5446df2cea567f /gcc
parentc687985bc21b85dfa1bb85c86719c99ed62670e7 (diff)
downloadgcc-17ac16a1a5d5a6e2ef77aa2168cc0ce139ebf93c.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37601 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config.gcc4
-rw-r--r--gcc/config/rs6000/x-darwin5
-rw-r--r--gcc/config/rs6000/xm-darwin.h9
-rw-r--r--gcc/system.h2
5 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1feb9606cbc..29361b32903 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 842515d74b5..63eaa8c7982 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 00000000000..f2b8c94b24a
--- /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 00000000000..8d75cf08712
--- /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 f0b7b649f8a..20531ddb4e5 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