aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-06-13 15:55:10 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-06-13 15:55:10 +0000
commitdd3fbd933dabd20c31e293b0e0cd0714fc9a56ce (patch)
treec8790d76ab98342fcb1cfd5627124ac0178bae4d /gcc
parent0d0f605c7216d03116aea77a93975d41e4a35cd1 (diff)
downloadgcc-dd3fbd933dabd20c31e293b0e0cd0714fc9a56ce.zip
gcc-dd3fbd933dabd20c31e293b0e0cd0714fc9a56ce.tar.gz
gcc-dd3fbd933dabd20c31e293b0e0cd0714fc9a56ce.tar.bz2
s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro. * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro. (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove. (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64. From-SVN: r54586
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/s390/linux.h30
-rw-r--r--gcc/config/s390/s390.h11
3 files changed, 34 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2910d4c..2fffb42 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
+ * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
+ (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
+ (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
+
2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
* tree-inline.c (expand_call_inline): Don' mess with _DECL
@@ -293,8 +300,6 @@ Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
-2002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
-
* config/s390/s390.c (emit_prologue): gen_store_multiple
returns an insn now, not a pattern.
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 8e411b8..5088465 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -50,19 +50,23 @@ Boston, MA 02111-1307, USA. */
/* Target specific preprocessor settings. */
-#define CPP_PREDEFINES \
- "-Dunix -Asystem(unix) -D__gnu_linux__ -Dlinux -Asystem(linux) -D__ELF__ \
- -Acpu(s390) -Amachine(s390) -D__s390__"
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define_std ("linux"); \
+ builtin_define_std ("unix"); \
+ builtin_assert ("system=linux"); \
+ builtin_assert ("system=unix"); \
+ builtin_define ("__ELF__"); \
+ builtin_define ("__gnu_linux__"); \
+ if (flag_pic) \
+ { \
+ builtin_define ("__PIC__"); \
+ builtin_define ("__pic__"); \
+ } \
+ } \
+ while (0)
-#define CPP_ARCH31_SPEC ""
-#define CPP_ARCH64_SPEC "-D__s390x__"
-
-#undef CPP_SPEC
-#ifdef DEFAULT_TARGET_64BIT
-#define CPP_SPEC "%{!m31:%(cpp_arch64)}"
-#else
-#define CPP_SPEC "%{m64:%(cpp_arch64)}"
-#endif
/* Target specific compiler settings. */
@@ -118,8 +122,6 @@ Boston, MA 02111-1307, USA. */
is an initializer with a subgrouping for each command option. */
#define EXTRA_SPECS \
- { "cpp_arch31", CPP_ARCH31_SPEC }, \
- { "cpp_arch64", CPP_ARCH64_SPEC }, \
{ "link_arch31", LINK_ARCH31_SPEC }, \
{ "link_arch64", LINK_ARCH64_SPEC }, \
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 2e342ea..676a57d 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -77,6 +77,17 @@ extern int target_flags;
been parsed. */
#define OVERRIDE_OPTIONS override_options ()
+/* Target CPU builtins. */
+#define TARGET_CPU_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_assert ("cpu=s390"); \
+ builtin_assert ("machine=s390"); \
+ builtin_define ("__s390__"); \
+ if (TARGET_64BIT) \
+ builtin_define ("__s390x__"); \
+ } \
+ while (0)
/* Defines for real.c. */
#define IEEE_FLOAT 1