aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2005-01-24 12:08:06 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2005-01-24 12:08:06 +0000
commit2429f3d4c0e35378d86094f44e1b94e2f505d5c9 (patch)
tree98b96bb43700e6dba182c75528daf9332651826e /gcc
parentdeeec1d8a85b6a2d6a2b05153ccb18df0a6df905 (diff)
downloadgcc-2429f3d4c0e35378d86094f44e1b94e2f505d5c9.zip
gcc-2429f3d4c0e35378d86094f44e1b94e2f505d5c9.tar.gz
gcc-2429f3d4c0e35378d86094f44e1b94e2f505d5c9.tar.bz2
re PR bootstrap/18058 (Bootstrap fails with non-GCC compilers)
PR bootstrap/18058 * genconditions.c (write_header, write_conditions): Elide file if not GCC >= 3.0.1. From-SVN: r94155
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/genconditions.c19
2 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 423b043..d38a09c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-24 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR bootstrap/18058
+ * genconditions.c (write_header, write_conditions): Elide file if
+ not GCC >= 3.0.1.
+
2005-01-24 Kazu Hirata <kazu@cs.umass.edu>
* c-opts.c, expmed.c, gengtype.c, tree-complex.c,
diff --git a/gcc/genconditions.c b/gcc/genconditions.c
index 3f05706..b9ef6ab 100644
--- a/gcc/genconditions.c
+++ b/gcc/genconditions.c
@@ -1,5 +1,5 @@
/* Process machine description and calculate constant conditions.
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GCC.
@@ -86,6 +86,9 @@ write_header (void)
puts ("\
#include \"system.h\"\n\
+#if GCC_VERSION < 3001\n\
+#include \"dummy-conditions.c\"\n\
+#else\n\
#include \"coretypes.h\"\n\
#include \"tm.h\"\n\
#include \"rtl.h\"\n\
@@ -122,14 +125,10 @@ extern rtx operands[];\n");
puts ("\
/* If we don't have __builtin_constant_p, or it's not acceptable in\n\
- array initializers, fall back to assuming that all conditions\n\
- potentially vary at run time. It works in 3.0.1 and later; 3.0\n\
- only when not optimizing. */\n\
-#if (GCC_VERSION >= 3001) || ((GCC_VERSION == 3000) && !__OPTIMIZE__)\n\
-# define MAYBE_EVAL(expr) (__builtin_constant_p(expr) ? (int) (expr) : -1)\n\
-#else\n\
-# define MAYBE_EVAL(expr) -1\n\
-#endif\n");
+ array initializers, fall back (by using dummy-conditions.c above)\n\
+ to assuming that all conditions potentially vary at run time. It\n\
+ works in 3.0.1 and later; 3.0 only when not optimizing. */\n\
+#define MAYBE_EVAL(expr) (__builtin_constant_p(expr) ? (int) (expr) : -1)\n");
}
/* Write out one entry in the conditions table, using the data pointed
@@ -176,7 +175,7 @@ const struct c_test insn_conditions[] = {");
printf ("const size_t n_insn_conditions = %lu;\n",
(unsigned long) htab_elements (condition_table));
- puts ("const int insn_elision_unavailable = 0;");
+ puts ("const int insn_elision_unavailable = 0;\n#endif");
}
int