OSDN Git Service

PR c/17301
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f3a66c2..f7cfba9 100644 (file)
+2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/17301
+       * builtins.c (expand_builtin_va_start): Check for too few
+       arguments to va_start.
+
+2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/17189
+       * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
+       fields a pedwarn.  Pedwarn here for unnamed structs/unions if
+       pedantic.
+       * c-parse.in (component_decl): Don't pedwarn here for unnamed
+       fields.
+
+2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/17906
+       * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
+       copy non-gimple reg arguments.
+
+2004-10-09  Roger Sayle  <roger@eyesopen.com>
+
+       PR rtl-optimization/17853
+       * simplify-rtx.c (simplify_relational_operation): Correct comment.
+       Reorganize handling of comparison operations with floating point
+       results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
+       Likewise, introduce support for comparison operations with vector
+       result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
+
+       * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
+       * doc/tm.texi: Likewise.
+
+2004-10-09  Steven Bosscher  <stevenb@suse.de>
+
+       * regs.h (struct reg_info_def): Remove the last_node_uid and
+       changes_mode fields.
+       (REGNO_LAST_NOTE_UID): Don't define.
+       * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
+       * regmove.c (copy_src_to_dest): Likewise.
+
+2004-10-09  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/17894
+       * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
+       relational comparison operator op needs to be swapped/reversed when
+       C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
+
+2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/17902
+       * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
+       instead of bsi_start.
+       (value_replacement): Likewise.
+       (abs_replacement): Likewise
+
+2004-10-09  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
+       (expand_gimple_cond_expr, expand_gimple_tailcall,
+       expand_gimple_basic_block): Use it to dump RTL for each stmt.
+       (tree_expand_cfg): Announce full RTL function dump.
+       * tree-optimize.c (execute_one_pass): Use normal RTL printing,
+       not the graph version.
+       * tree-pretty-print.c (dump_generic_node): Allow empty statements
+       in the arms of a COND_EXPR for lowered nodes.
+
+2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
+       atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
+       strtoufix16, strtoufix32, strtoufix64): Declare.
+
+2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-lex.c (interpret_float): Give a pedwarn rather than a warning
+       for an out-of-range floating point constant.
+       * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
+       warning if the target format does not support infinities.
+
+2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * emit-rtl.c (last_label_num, base_label_num): Remove.
+       (max_label_num): Always return label_num.
+       (set_new_last_label_num, restore_emit_status): Remove.
+       (init_emit): Don't initialize last_label_num.
+       * function.c (pop_function_context_from): Don't call
+       restore_emit_status.
+       * function.h: Remove the prototype for restore_emit_status.
+       * rtl.h: Remove the prototype for set_new_last_label_num.
+
+2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (expand_decl_init): Remove.
+       * tree.h: Remove the corresponding prototype.
+
+2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * integrate.c (try_constants, subst_constants, mark_stores):
+       Remove.
+       * integrate.h: Remove the prototype for try_constants.
+
+2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
+       (convert_for_assignment): Handle ic_argpass_nonproto.  Add
+       comments about its relevance to errors.
+       (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
+
+2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/16999
+       * c-ppoutput.c (cb_ident): Don't quote string as it is already
+       quoted.
+
+2004-10-08  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
+       reference_node_pool.
+
+2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c: Fix a comment typo.
+
+2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_register_info): Don't save fprs for 
+       -msoft-float.
+       (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
+
+2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
+       (TARGET_DEFAULT): Use symbolic values.
+       * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
+       (TARGET_DEFAULT): Use symbolic values.
+       * config/s390/s390.c (s390_backchain_string): Initialize to
+       TARGET_DEFAULT_BACKCHAIN.
+
+2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_mempcpy): Move tree handling code to
+       fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
+       code.
+       (expand_builtin_strcat): Accept a type parameter.
+       (fold_builtin_mempcpy): Accept a type and endp parameter.
+
+       * builtins.c (expand_builtin_strncpy): Delete duplicate code.
+       Accept an `exp' instead of an `arglist'.
+
+2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
+       reverting my 2004-09-07 patch to use build_int_cst.
+
+2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/17245
+       * config/sparc/sparc.c (input_operand): Remove redundant code
+       for handling LO_SUM.
+       (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
+       <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
+       Otherwise only accept it for TFmode if quad move insns are available.
+
+2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
+       common cases will be caught earlier than others.
+
+2004-10-08  Michael Matz  <matz@suse.de>
+
+       * loop-doloop.c (doloop_optimize): Extend count.
+
+2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
+       (prefetch): Convert to expander.
+
+2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
+       first argument of CALL.
+       (tls_local_dynamic): Likewise.
+
+2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (enum impl_conv): New.
+       (convert_for_assignment): Use it.  Take tree for function called
+       instead of its name.  Handle ObjC selectors for diagnostics at
+       start of function.  Select diagnostic text within the function
+       using full sentences for diagnsotics.  Use %qE to name functions
+       in diagnostics.
+       (convert_arguments, build_modify_expr,
+       c_convert_parm_for_inlining, digest_init, c_finish_return): Update
+       callers to convert_for_assignment.
+       (warn_for_assignment): Remove.
+
+2004-10-08  Nick Clifton  <nickc@redhat.com>
+
+       * config/sh/symbian.c (symbian_possibly_export_base_class):
+       Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
+       TYPE_CONTAINS_VPTR_P.
+
+2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+       * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
+       fixed registers form all_used_regs. Update call_really_used_regs.
+       (CALL_REALLY_USED_REGISTERS): Define.
+       * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
+       with call_really_used_regs.
+
+2004-10-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
+       for -profile as well as -p and -pg.
+
+2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * libgcc2.c (__moddi3): Cast &w to UDWtype*.
+
+2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (tree_block_forwards_to): Remove.
+       * tree-flow.h: Remove the corresponding prototype.
+
+2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
+       for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
+
+2004-10-07  Geoffrey Keating  <geoffk@apple.com>
+
+       Radar 3813796
+       * config/rs6000/rs6000.c (rs6000_generate_compare): When
+       flag_trapping_math is in effect, don't generate subtract
+       instructions.
+
+2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
+       * config/s390/s390.c (s390_narrow_logical_operator): New function.
+       (s390_extra_constraint_str): Add 'A' constraints.
+       (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
+       * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
+       (CONSTRAINT_LEN): Likewise.
+       * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
+       ("*andsi3_zarch", "*andsi3_esa"): Likewise.
+       ("*andhi3_zarch", "*andhi3_esa"): Likewise.
+       ("*iordi3"): Add OI alternative and splitter.
+       ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
+       ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
+       ("*xordi3"): Add XI alternative and splitter.
+       ("*xorsi3", "*xorhi3"): Likewise.
+
+2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_function_rodata_section): New function.
+       (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
+
+2004-10-07  Devang Patel  <dpatel@apple.com>
+
+       * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
+       UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
+       UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
+       UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
+       UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
+       UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI, 
+       UNSPEC_VCONDU_V16QI): New constant defines.
+       (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
+       vconduv16qi): New patterns.
+       * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
+       * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
+       (get_vec_cmp_insn): Same.
+       (get_vsel_insn): Same.
+       (rs6000_emit_vector_compare): Same.
+       (rs6000_emit_vector_select): Same.
+       (INSN_NOT_AVAILABLE): New.
+       
+2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/17749
+       * tree-tailcall.c (find_tail_calls): Check that parameter is
+       a gimple_reg.
+
+2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/ia64/ia64.c: Fix a comment typo.
+
+2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (*-*-solaris2*): Fix marker for URL.
+
+2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/17115
+       * tree-inline.c (expand_call_inline): Do not warn for functions
+       marked with attribute noinline.
+
+2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/17862
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Set
+       current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
+
+       * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
+       of 0 as 4th argument to pass_by_reference.
+       Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
+
+2004-10-06  Eric Christopher  <echristo@redhat.com>
+
+       * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
+       attribute.
+
+2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/17770
+       * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
+
+2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR rtl-optimization/17791
+       * loop-doloop.c (doloop_modify): Take number of iterations as
+       argument.
+       (doloop_optimize): Extend or shorten the number of iterations
+       when changing mode of counter register.
+       * loop-iv.c (lowpart_subreg): Export.
+       * rtl.h (lowpart_subreg): Declare.
+
+2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/17806
+       * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
+       * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
+       flags moved to split_edge.
+
+2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/17835
+       * expmed.c (expand_sdiv_pow2): Force a stack adjustment
+       before tentatively building the conditional move sequence.
+
+2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/16815
+       * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
+       check.
+       * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
+       function_arg_padding.
+
+2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR bootstrap/17857
+       * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
+
+2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * hooks.c (hook_int_void_1, hook_void_int): Remove.
+       * hooks.h: Remove the corresponding prototypes.
+
+2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/17849
+       * tree-nested.c (walk_stmt_info): Add changed field.
+       (convert_nonlocal_reference): Set changed to when we
+       change a decl to unnested decl.
+       <case ADDR_EXPR>: Instead of checking if the immediate part
+       of the ADDR_EXPR changed, check the field changed.
+       Use recompute_tree_invarant_for_addr_expr instead of unsetting
+       TREE_INVARIANT.
+       (convert_local_reference):  Set changed to when we
+       change a decl to unnested decl.
+       <case ADDR_EXPR>: Instead of checking if the immediate part
+       of the ADDR_EXPR changed, check the field changed.
+       Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
+
+2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
+       * dwarf2out.c (dwarf2out_init): Remove references to
+       DWARF2_GENERATE_TEXT_SECTION_LABEL.
+       * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
+       * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
+
+2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (convert_arguments): Take expression for called
+       function rather than its name.  Handle ObjC selectors directly
+       rather than relying on warn_for_assignment to do so.  Call warning
+       directly rather than warn_for_assignment.  Use %qE in diagnostics.
+       Say "argument" rather than "arg" in diagnostics.
+       (build_function_call): Update call to convert_arguments.
+
+2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR debug/17787
+       * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
+       ENUMs specially instead of just saying we do.
+
+2004-10-06  Eric Christopher  <echristo@redhat.com>
+
+       * dwarf2.h: Sync with include/elf/dwarf2.h
+
 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
 
        * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
-       and TREE_VEC nodes. 
+       and TREE_VEC nodes.
 
 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
 
        * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
        to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
-       
+
 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
 
        * lambda-code.c (compute_nest_using_fourier_motzkin): New
        * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
        * tree-flow.h: Add prototype.
        * lambda-code.c (invariant_in_loop_and_outer_loops): Use
-       expr_invariant_in_loop. 
+       expr_invariant_in_loop.
 
 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
 
 
 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
 
-       * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
-       * cfgloop.c (initialize_loops_parallel_p): New.
-       (flow_loops_find): Initialize the parallel_p field to true for all 
-       the loops.
-       * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
-       (estimate_numbers_of_iterations_loop): Infers the loop bounds from 
-       the size of the data accessed in the loop.
-       (struct nb_iter_bound): Moved... 
-       * cfgloop.h (struct nb_iter_bound): ... here.
-       (estimated_nb_iterations, parallel_p): New fields in struct loop.
-       (record_estimate): Declare extern here.
-       * tree-chrec.c: Fix comments.
-       (nb_vars_in_chrec): New function.
-       * tree-chrec.h (nb_vars_in_chrec): Declared here.
-       * tree-data-ref.c: Don't include lambda.h, that is already included 
-       in tree-data-ref.h.
-       (tree_fold_divides_p): Don't check for integer_onep.
-       (tree_fold_bezout): Removed.
-       (gcd): New static duplicated function.
-       (int_divides_p, dump_subscript): New.
-       (dump_data_dependence_relation): Use dump_subscript.
-       (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations, 
-       estimate_niter_from_size_of_data): New.
-       (analyze_array_indexes, analyze_array): Call 
-       estimate_niter_from_size_of_data during the detection of array 
-       references.  Pass in a pointer to the statement that contains the 
-       array reference.
-       (all_chrecs_equal_p): New.
-       (compute_distance_vector): Renamed compute_subscript_distance.
-       Deal with multivariate conflict functions.
-       (initialize_data_dependence_relation): Initialize DDR_AFFINE_P, 
-       DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
-       (non_affine_dependence_relation): New.
-       (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, 
-       analyze_siv_subscript, analyze_miv_subscript, 
-       analyze_overlapping_iterations, subscript_dependence_tester): 
-       Initialize and return last_conflicts function.
-       (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
-       compute_overlap_steps_for_affine_1_2): New.
-       (analyze_siv_subscript_affine_cst): Removed.
-       (analyze_subscript_affine_affine): Disprove dependences based on the 
-       iteration domains.  Solve the univariate dependence case as before, 
-       but use lambda_matrix_right_hermite instead of tree_fold_bezout.
-       Implement the multivariate case of 2 versus 1 variables.
-       (undetermined_conflicts_p, no_conflicts_p): New.        
-       (build_classic_dist_vector, build_classic_dir_vector): Implement some 
-       unhandled cases.
-       (find_data_references_in_loop): Compute and initialize 
-       loop->estimated_nb_iterations and loop->parallel_p.
-       (analyze_all_data_dependences): Modify the debug dump order.
-       * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
-       subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
-       (SUB_LAST_CONFLICT, subscript->last_conflict, 
-       data_dependence_relation->affine_p, data_dependence_relation->size_vect,
-       DDR_AFFINE_P, DDR_SIZE_VECT): New.
-       (find_data_references_in_loop, initialize_data_dependence_relation,
-       dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
-       
-
-2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
-
        * tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
        the predicate cannot be computed, don't initialize the result to
        false.