+2003-09-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/11357
+ * c-pretty-print.c (pp_c_floating_constant): Append
+ type-annotation to floating constants.
+
+2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
+ Define _ABIO32.
+ Use it for _MIPS_SIM.
+ * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
+
+ * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
+ Moved ...
+ * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
+ updating comment.
+ Fixes PR target/10190.
+
+2003-09-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
+ to shared libraries.
+
+2003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11646
+ * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
+ EDGE_ABNORMAL flag for EH edges.
+ * toplev.c (rest_of_handle_cse): Delete unreachable blocks
+ if dead edges were purged.
+
+2003-09-16 Bernardo Innocenti <bernie@develer.com>
+
+ * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
+ * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
+ * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
+ * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
+
+2003-09-16 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cfgcleanup.c (label_is_jump_target_p): Correct use of table
+ returned by tablejump_p.
+
+2003-09-16 Joel Brobecker <brobecker@gnat.com>
+
+ * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
+
+2003-09-16 Roger Sayle <roger@eyesopen.com>
+
+ PR bootstrap/12269
+ * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
+ argument to be VOIDmode, taking the mode of the comparison from
+ the operands. Only call simplify_relational_operation if we
+ know the mode of the comparison. Honor FLOAT_STORE_FLAG_VALUE
+ if comparison has a floating point result. Ensure that the
+ result is always of the specified mode.
+ (simplify_replace_rtx): Simplify call to simplify_gen_relational.
+ (simplify_unary_operation): Ensure the correct mode and cmp_mode
+ are always passed to simplify_gen_relational. Simplify NOT of
+ comparison operator in any mode, not just BImode.
+ (simplify_ternary_operation): Correct tests on the return value
+ of simplify_relational_operation to use const_true_rtx, not
+ const1_rtx. Abort if it ever returns a non-constant result.
+
+ * cfgloopanal.c (count_strange_loop_iterations): Use the function
+ simplify_relational_operation, not simplify_gen_relational, if
+ we're only interested in constant comparisons and will ignore
+ non-constant results.
+
+2003-09-16 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (tree_swap_operands_p): New function to determine
+ the prefered ordering of operands.
+ (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
+ operands to commutative, comparison or ternary operators. Replace
+ uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
+ transformation of A ? B : C into !A ? C : B.
+
+2003-09-16 Jakub Jelinek <jakub@redhat.com>
+
+ * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+
+2003-09-16 Jason Merrill <jason@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * c-common.c (handle_warn_unused_result_attribute): New function.
+ (c_common_attribute_table): Add warn_unused_result.
+ (c_expand_expr): Issue warning when result of inlined function
+ with warn_unused_result attribute is ignored.
+ * calls.c (expand_call): Issue warning when result of function
+ with warn_unused_result attribute is ignored.
+ * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
+ * expr.c (expr_wfl_stack): Define.
+ (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
+ pass const0_rtx as target. Chain locations into expr_wfl_stack.
+ * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
+ bit if inlined function has warn_unused_result attribute.
+ * input.h (expr_wfl_stack): Declare.
+ * doc/extend.texi: Document warn_unused_result attribute.
+
+2003-09-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
+
+2003-09-15 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
+ ATTRIBUTE_UNUSED.
+ (call_insn_operand): For PIC, don't allow a direct call to a
+ function in a different section than the current one.
+
+2003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * doc/invoke.texi (Warning Options): Add missing hyphen before
+ "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
+ Move "-Wold-style-definition" to the C-only section.
+ Fix the ordering of the warning options.
+
+2003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+ Jeff Law <law@redhat.com>
+
+ * gcse.c (remove_reachable_equiv_notes): New.
+ replace_store_insn): Call it. Update antic list.
+ (store_killed_in_insn): Take REG_EQUAL notes into account.
+ (build_store_vectors, delete_store): Add parameter to
+ replace_store_insn call.
+
+2003-09-15 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
+ SYMBOL_REF_LOCAL_P.
+
2003-09-15 Kazu Hirata <kazu@cs.umass.edu>
* expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
* combine.c (force_to_mode): Set fuller_mask based only on mask,
not op_mode.
-Thu Sep 11 01:21:05 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-11 Jan Hubicka <jh@suse.cz>
* c-objc-common.c (c_cannot_inline_tree_fn): Warn
on why function is not inlinable; do not check
(tree_expr_nonnegative_p): Likewise.
* real.h (dconst3, dconst10, dconstthird): New.
-Tue Sep 9 22:18:48 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-09 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_finalize_function): Fix handling of extern
inline functions.
* builtins.c (fold_builtin_cabs): Protect the complex argument
against multiple evaluation when optimizing cabs* into sqrt*.
-Tue Sep 9 15:36:28 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-09 Jan Hubicka <jh@suse.cz>
* varasm.c (notice_global_symbol): Properly deal with weak symbols.
New.
* doc/extend.texi: Document new builtins.
-Tue Sep 9 02:18:06 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-09 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
finalization.
* c-pretty-print.c (pp_c_left_brace): Now a function
(pp_c_right_brace): Likewise.
-Sun Sep 7 14:50:03 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-07 Jan Hubicka <jh@suse.cz>
* cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
* expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
multiplication to implement division by constant integer.
-Fri Sep 5 07:35:16 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-05 Jan Hubicka <jh@suse.cz>
* opts.c (decode_options): Enable unit-at-a-time at -O2.
* params.def (max-inline-insns-single): Set to 500
(*divdf3): New pattern.
(*divsf3): Ditto.
-Thu Sep 4 10:43:24 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-04 Jan Hubicka <jh@suse.cz>
* toplev.c (wrapup_global_declarations): Fix final pass in
unit-at-atime mode.
* config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
-Wed Sep 3 16:55:25 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-09-03 Jan Hubicka <jh@suse.cz>
* Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
* c-decl.c (finish_function): Kill arguments, always use cgraph path.
(finish_struct): If not removing type from incomplete
list, update prev.
-Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-08-20 Jan Hubicka <jh@suse.cz>
PR target/11369
* i386.c (ix86_expand_carry_flag_compare): Validate operand.
* fold-const.c (fold): Fold some comparisons of bit operations.
-Thu Jul 31 19:49:53 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-31 Jan Hubicka <jh@suse.cz>
* cgraph.c (create_edge): Fix typo.
* i386.c (pic_symbolic_operand): Reorder tests.
(all insns and expanders): Write output control string as brace block
where appropriate. Remove \-escapes for doublequote characters.
-Thu Jul 31 01:04:19 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-31 Jan Hubicka <jh@suse.cz>
* gcse.c (insert_store): Fix typo in previous patch.
* config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
symbolically.
-Wed Jul 30 19:12:10 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-30 Jan Hubicka <jh@suse.cz>
* gcse.c (insert_store): Ignore fake edges.
* configure: Regenerate.
-Tue Jul 29 19:24:49 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-29 Jan Hubicka <jh@suse.cz>
PR C++/11131
* tree-inline.c (expand_call_inline): Always call inlinable_function_p
-Wdeclaration-after-statement.
(Warning Options): Ditto.
-Mon Jul 28 20:13:06 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-28 Jan Hubicka <jh@suse.cz>
* i386.md (memory attribute) Avoid accessing uninitialized memory
for ishift1 type instructions.
* config/i386/i386.md (*movsi_or): Likewise.
(*movdi_or_rex6): Likewise.
-Tue Jul 22 00:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-22 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
* cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
to skip the addr_vec.
-Fri Jul 18 15:22:28 2003 Alexandre Oliva <aoliva@redhat.com>
+2003-07-18 Alexandre Oliva <aoliva@redhat.com>
* combine.c (combinable_i3pat): Don't forbid occurrences of
i2dest or i1dest in inner_dest if inner_dest is a mem.
-Fri Jul 18 17:05:57 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-18 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_remove_node): Clear the hash table slot.
* objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
(get_object_reference): Likewise.
-Mon Jul 14 23:14:28 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-14 Jan Hubicka <jh@suse.cz>
* cfglayout.c (locator_file): Break out from ....
(insn_file): ... here.
* ra.h: Likewise.
* protoize.c: Likewise.
-Sat Jul 12 06:09:38 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-12 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
warning.
-Sat Jul 12 03:06:01 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-12 Jan Hubicka <jh@suse.cz>
Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* cgraph.c (cgraph_max_uid): New global variable.
* (movsf): Likewise.
* (movdi): Likewise.
* (movdf): Likewise.
- Wed May 24 13:16:09 2000 Alexandre Oliva <aoliva@cygnus.com>
+ 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
* config/mn10300/mn10300.c (fp_regs_to_save): New function.
(can_use_return_insn, initial_offset): Add fp_regs_to_save.
(expand_prologue, expand_epilogue): Save and restore FP regs.
* doc/install.texi (Configuration): Document the valgrind option
to --enable-checking.
-Wed Jul 9 16:16:30 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-09 Jan Hubicka <jh@suse.cz>
* objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
* config/i386/i386.md: Remove an old comment about
NOTICE_UPDATE_CC.
-Wed Jul 9 03:00:10 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-09 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_node_name): New function.
(dump_cgraph): Use it.
Use attr `special' macros in all calls to make_internal_attr.
* genautomata.c: Likewise.
-Wed Jul 9 02:25:39 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-09 Jan Hubicka <jh@suse.cz>
* c-common.c (c_estimate_num_insns_1): New static function.
(c_estimate_num_insns): New global function.
* config/m68k/m68k.md (movxf): Add reload_in_progress guard. Add
comment about confused support for XFmode constants.
-Mon Jul 7 02:03:56 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-07 Jan Hubicka <jh@suse.cz>
* cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
* cppcharset.c: Use the correct return type for the fallback iconv
macro.
-Sat Jul 5 16:18:53 CEST 2003 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
Blame to Jan Hubicka <jh@suse.cz>
* cfglayout.c (record_effective_endpoints): Split insns before
SPARC_INT_ARG_MAX to determine where to split unnamed
complex FP arguments.
-Thu Jul 3 20:36:47 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-03 Jan Hubicka <jh@suse.cz>
* basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
* cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
(exception_receiver): Explicitly set $28.
(hazard_nop): New pattern.
-Wed Jul 2 08:12:36 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-02 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
before calling tree_inlinable_function_p.
* config/mips/iris6.h: Move explicit includes ...
* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
-Wed Jul 2 02:16:48 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-02 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
(cgraph_varpool_node): Add next_needed; remove aux.
* cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
-Wed Jul 2 02:12:51 CEST 2003 Jan Hubicka <jh@suse.cz>
+2003-07-02 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_finalize_function): Set finalized.
(cgraph_finalize_function): Do not examine inlinablility.