OSDN Git Service

* builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ef6b358..22d5237 100644 (file)
@@ -1,3 +1,162 @@
+2002-07-27  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
+       argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
+       BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
+       floating point unordered comparisons (e.g. __builtin_isgreater)
+       as const, and leave the remaining GCC_BUILTINs unchanged.
+
+       * c-decl.c (builtin_function): No need to explicitly mark
+       BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
+
+2002-07-27  Roger Sayle  <roger@eyesopen.com>
+
+       * Makefile.in: rtlanal.o now depends upon real.h.
+
+       * flags.h [flag_signaling_nans]: New flag.
+       [HONOR_SNANS]: New macro.
+
+       * toplev.c [flag_signaling_nans]: Initialize to false.
+        (f_options): Add processing for "-fsignaling-nans".
+       (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
+       (process_options): flag_signaling_nans implies flag_trapping_math.
+
+       * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
+       when -fsignaling-nans.  First step to implementing WG14's N965.
+
+       * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
+       1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
+       [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
+
+       * simplify-rtx.c (simplify_relational_operation): Conditionalize
+       transforming abs(x) < 0.0 into false on !HONOR_SNANS.
+
+       * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
+       required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
+       UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with 
+       -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans 
+       not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
+
+       * doc/invoke.texi: Document new -fsignaling-nans compiler option.
+
+2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (gengtype-lex.c): Work around a bug in flex.
+       * gengtype-lex.l (YY_USE_PROTOS): Undef.
+       (YY_DECL): Define.
+
+2002-07-27  Roger Sayle  <roger@eyesopen.com>
+
+       * doc/invoke.texi: Document that both -fno-builtin-foo and
+       -fno-builtin are supported by the g++ front-end.
+
+2002-07-27  Stan Shebs  <shebs@apple.com>
+
+       * configure.in: Rename config_gtfiles to target_gtfiles.
+       * configure: Regenerate.
+       * doc/gty.texi: Update reference.
+       * config.gcc (powerpc-*-darwin*): Set target_gtfiles
+       instead of appending to it.
+
+2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
+       vectors are split into two registers.
+       (function_arg): Same.
+
+Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * pa.md (extv): Check predicates before emitting extv_32.
+
+2002-07-27  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
+       (rs6000_traceback): New var.
+       (rs6000_override_options): Set rs6000_traceback.
+       (rs6000_output_function_epilogue): Implement traceback options.
+       * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
+       (rs6000_traceback_name): Declare.
+
+       * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
+       label reference when NO_PROFILE_COUNTERS.
+
+2002-07-26  Jason Merrill  <jason@redhat.com>
+
+       * function.c (assign_parms): Handle frontend-directed pass by
+       invisible reference.
+
+2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
+
+       * doc/cppopts.texi: Update.
+
+2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
+       warnings on assertions.
+
+2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
+       RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
+       RID_COMPL): Remove.
+       * c-parse.in (rid_to_yy): Similarly.
+
+2002-07-26  Jason Merrill  <jason@redhat.com>
+
+       * c-dump.c: Resurrect.
+       * tree-dump.c: Move C-specific stuff to c-dump.c.
+       * c-common.h: Declare c_dump_tree.
+       * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
+       * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
+       (c-dump.o): New rule.
+
+2002-07-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.md: Enable patterns using rlwinm for
+       PowerPC64.  Replace "T" and "S" constraints with "n" when the
+       predicate will do.  Formatting fixes.
+       (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
+       as for extzvsi_internal1.
+
+2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+
+       * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
+       DERIV_END_LABEL_FMT): Remove.
+       (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
+
+2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+
+       * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
+       Remove.
+
+2002-07-25  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
+       local var dwarfp.
+       (output_compiler_stub): Remove unused locals.
+       (output_call): Always initialize line number.
+
+Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
+       * sh.md (truncdiqi2, movqi_media): Likewise.
+
+2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+
+       * gcse.c (obstack_chunk_alloc): Remove.
+       (gcse_alloc): Fix to count allocated bytes.
+       * collect2.c (SYMBOL__MAIN): Remove.
+
+2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+
+       * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
+       HAVE_TARGET_EXECUTABLE_SUFFIX.
+
+Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
+       SIZE, EXPR and OFFSET.
+
 2002-07-25  Richard Henderson  <rth@redhat.com>
 
        * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos