diff options
author | Joseph Myers <joseph@codesourcery.com> | 2005-01-24 12:08:06 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2005-01-24 12:08:06 +0000 |
commit | 2429f3d4c0e35378d86094f44e1b94e2f505d5c9 (patch) | |
tree | 98b96bb43700e6dba182c75528daf9332651826e /gcc | |
parent | deeec1d8a85b6a2d6a2b05153ccb18df0a6df905 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/genconditions.c | 19 |
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 |