From 6a4d4e8a858aa2290092d5a7200ec797daf3ae1b Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Tue, 5 Jan 2010 17:14:30 +0000 Subject: re PR bootstrap/41771 (Bootstrap with Sun Studio 12.1 fails) gcc: PR bootstrap/41771 * flags.h: Don't include real.h. (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): Move ... * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here. * dominance.c: Update copyright. * gimple.c (walk_gimple_op): Remove inline. * tree-ssa-reassoc.c: Include real.h. * Makefile.in (FLAGS_H): Remove $(REAL_H). (tree-ssa-reassoc.o): Depend on $(REAL_H). include: PR bootstrap/41771 * ansidecl.h: Fix inline test for C99 and Sun Studio cc. From-SVN: r155654 --- gcc/ChangeLog | 14 ++++++++++++++ gcc/Makefile.in | 8 ++++---- gcc/dominance.c | 2 +- gcc/flags.h | 29 +---------------------------- gcc/gimple.c | 4 ++-- gcc/real.h | 28 +++++++++++++++++++++++++++- gcc/tree-ssa-reassoc.c | 3 ++- include/ChangeLog | 5 +++++ include/ansidecl.h | 4 ++-- 9 files changed, 58 insertions(+), 39 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b62bd1a..dbeeb8c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2010-01-05 Rainer Orth + + PR bootstrap/41771 + * flags.h: Don't include real.h. + (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS, + HONOR_SIGN_DEPENDENT_ROUNDING): Move ... + * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, + HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here. + * dominance.c: Update copyright. + * gimple.c (walk_gimple_op): Remove inline. + * tree-ssa-reassoc.c: Include real.h. + * Makefile.in (FLAGS_H): Remove $(REAL_H). + (tree-ssa-reassoc.o): Depend on $(REAL_H). + 2010-01-05 Nick Clifton * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 98228a8..9e41f2a 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3,7 +3,7 @@ # Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, # 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, -# 2008, 2009 Free Software Foundation, Inc. +# 2008, 2009, 2010 Free Software Foundation, Inc. #This file is part of GCC. @@ -875,7 +875,7 @@ DEMANGLE_H = $(srcdir)/../include/demangle.h RECOG_H = recog.h ALIAS_H = alias.h coretypes.h EMIT_RTL_H = emit-rtl.h -FLAGS_H = flags.h coretypes.h options.h $(REAL_H) +FLAGS_H = flags.h coretypes.h options.h FUNCTION_H = function.h $(TREE_H) $(HASHTAB_H) vecprim.h EXPR_H = expr.h insn-config.h $(FUNCTION_H) $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H) OPTABS_H = optabs.h insn-codes.h @@ -2501,8 +2501,8 @@ tree-ssa-alias.o : tree-ssa-alias.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \ tree-ssa-reassoc.o : tree-ssa-reassoc.c $(TREE_FLOW_H) $(CONFIG_H) \ $(SYSTEM_H) $(TREE_H) $(GGC_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) \ $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_PASS_H) $(FLAGS_H) \ - tree-iterator.h $(BASIC_BLOCK_H) $(GIMPLE_H) $(TREE_INLINE_H) vec.h \ - langhooks.h alloc-pool.h pointer-set.h $(CFGLOOP_H) + tree-iterator.h $(REAL_H) $(BASIC_BLOCK_H) $(GIMPLE_H) $(TREE_INLINE_H) \ + vec.h langhooks.h alloc-pool.h pointer-set.h $(CFGLOOP_H) tree-optimize.o : tree-optimize.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \ $(RTL_H) $(TREE_H) $(TM_P_H) hard-reg-set.h $(EXPR_H) $(GGC_H) output.h \ $(DIAGNOSTIC_H) $(BASIC_BLOCK_H) $(FLAGS_H) $(TIMEVAR_H) $(TM_H) \ diff --git a/gcc/dominance.c b/gcc/dominance.c index 245b2de..6dd58a8 100644 --- a/gcc/dominance.c +++ b/gcc/dominance.c @@ -1,5 +1,5 @@ /* Calculate (post)dominators in slightly super-linear time. - Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008 Free + Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Michael Matz (matz@ifh.de). diff --git a/gcc/flags.h b/gcc/flags.h index 519aa92..d1634bd 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -1,6 +1,6 @@ /* Compilation switch flag definitions for GCC. Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009 + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. @@ -24,7 +24,6 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "options.h" -#include "real.h" enum debug_info_type { @@ -334,32 +333,6 @@ extern enum stack_check_type flag_stack_check; instrumentation. */ extern bool flag_instrument_functions_exclude_p (tree fndecl); -/* True if the given mode has a NaN representation and the treatment of - NaN operands is important. Certain optimizations, such as folding - x * 0 into 0, are not correct for NaN operands, and are normally - disabled for modes with NaNs. The user can ask for them to be - done anyway using the -funsafe-math-optimizations switch. */ -#define HONOR_NANS(MODE) \ - (MODE_HAS_NANS (MODE) && !flag_finite_math_only) - -/* Like HONOR_NANs, but true if we honor signaling NaNs (or sNaNs). */ -#define HONOR_SNANS(MODE) (flag_signaling_nans && HONOR_NANS (MODE)) - -/* As for HONOR_NANS, but true if the mode can represent infinity and - the treatment of infinite values is important. */ -#define HONOR_INFINITIES(MODE) \ - (MODE_HAS_INFINITIES (MODE) && !flag_finite_math_only) - -/* Like HONOR_NANS, but true if the given mode distinguishes between - positive and negative zero, and the sign of zero is important. */ -#define HONOR_SIGNED_ZEROS(MODE) \ - (MODE_HAS_SIGNED_ZEROS (MODE) && flag_signed_zeros) - -/* Like HONOR_NANS, but true if given mode supports sign-dependent rounding, - and the rounding mode is important. */ -#define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \ - (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && flag_rounding_math) - /* True if overflow wraps around for the given integral type. That is, TYPE_MAX + 1 == TYPE_MIN. */ #define TYPE_OVERFLOW_WRAPS(TYPE) \ diff --git a/gcc/gimple.c b/gcc/gimple.c index 02d8cc4..3ee15b5 100644 --- a/gcc/gimple.c +++ b/gcc/gimple.c @@ -1,6 +1,6 @@ /* Gimple IR support functions. - Copyright 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Aldy Hernandez This file is part of GCC. @@ -1297,7 +1297,7 @@ walk_gimple_asm (gimple stmt, walk_tree_fn callback_op, The return value is that returned by the last call to walk_tree, or NULL_TREE if no CALLBACK_OP is specified. */ -inline tree +tree walk_gimple_op (gimple stmt, walk_tree_fn callback_op, struct walk_stmt_info *wi) { diff --git a/gcc/real.h b/gcc/real.h index e6fa0d2..980bf96 100644 --- a/gcc/real.h +++ b/gcc/real.h @@ -1,6 +1,7 @@ /* Definitions of floating-point access for GNU compiler. Copyright (C) 1989, 1991, 1994, 1996, 1997, 1998, 1999, - 2000, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. + 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. This file is part of GCC. @@ -199,6 +200,31 @@ extern const struct real_format * (FLOAT_MODE_P (MODE) \ && FLOAT_MODE_FORMAT (MODE)->has_sign_dependent_rounding) +/* True if the given mode has a NaN representation and the treatment of + NaN operands is important. Certain optimizations, such as folding + x * 0 into 0, are not correct for NaN operands, and are normally + disabled for modes with NaNs. The user can ask for them to be + done anyway using the -funsafe-math-optimizations switch. */ +#define HONOR_NANS(MODE) \ + (MODE_HAS_NANS (MODE) && !flag_finite_math_only) + +/* Like HONOR_NANs, but true if we honor signaling NaNs (or sNaNs). */ +#define HONOR_SNANS(MODE) (flag_signaling_nans && HONOR_NANS (MODE)) + +/* As for HONOR_NANS, but true if the mode can represent infinity and + the treatment of infinite values is important. */ +#define HONOR_INFINITIES(MODE) \ + (MODE_HAS_INFINITIES (MODE) && !flag_finite_math_only) + +/* Like HONOR_NANS, but true if the given mode distinguishes between + positive and negative zero, and the sign of zero is important. */ +#define HONOR_SIGNED_ZEROS(MODE) \ + (MODE_HAS_SIGNED_ZEROS (MODE) && flag_signed_zeros) + +/* Like HONOR_NANS, but true if given mode supports sign-dependent rounding, + and the rounding mode is important. */ +#define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \ + (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && flag_rounding_math) /* Declare functions in real.c. */ diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index 5fd5967..f428008 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -1,5 +1,5 @@ /* Reassociation for trees. - Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Daniel Berlin This file is part of GCC. @@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-dump.h" #include "timevar.h" #include "tree-iterator.h" +#include "real.h" #include "tree-pass.h" #include "alloc-pool.h" #include "vec.h" diff --git a/include/ChangeLog b/include/ChangeLog index 69ebb83..59fbbda 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2010-01-05 Rainer Orth + + PR bootstrap/41771 + * ansidecl.h: Fix inline test for C99 and Sun Studio cc. + 2009-12-29 Joel Brobecker * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNAT_descriptive_type. diff --git a/include/ansidecl.h b/include/ansidecl.h index 86b0944..8b76647 100644 --- a/include/ansidecl.h +++ b/include/ansidecl.h @@ -1,6 +1,6 @@ /* ANSI and traditional C compatability macros Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007, 2009 + 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -178,7 +178,7 @@ So instead we use the macro below and test it against specific values. */ /* inline requires special treatment; it's in C99, and GCC >=2.7 supports it too, but it's not in C89. */ #undef inline -#if __STDC_VERSION__ > 199901L || defined(__cplusplus) +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__)) /* it's a keyword */ #else # if GCC_VERSION >= 2007 -- cgit v1.1