Kaveh R. Ghazi [Fri, 15 May 2009 18:12:44 +0000 (18:12 +0000)]
install.texi: Document MPC requirements, flags etc.
* doc/install.texi: Document MPC requirements, flags etc.
From-SVN: r147592
Kaveh R. Ghazi [Fri, 15 May 2009 18:08:10 +0000 (18:08 +0000)]
builtins.c (do_mpc_arg1, [...]): New.
* builtins.c (do_mpc_arg1, fold_builtin_ccos): New.
(fold_builtin_cexp): Ensure we get a complex REAL_TYPE.
Evaluate constant arguments.
(fold_builtin_carg): Ensure we get a complex REAL_TYPE.
(fold_builtin_1): Likewise, also evaluate constant arguments.
Remove superfluous break.
(do_mpc_ckconv): New.
* real.h: Include mpc.h.
* toplev.c (print_version): Output MPC version info if available.
From-SVN: r147591
Sandra Loosemore [Fri, 15 May 2009 17:28:47 +0000 (13:28 -0400)]
fold-const.c (fold_convert_const_real_from_real): Check for overflow.
2009-05-15 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* fold-const.c (fold_convert_const_real_from_real): Check for
overflow.
From-SVN: r147589
H.J. Lu [Fri, 15 May 2009 17:12:00 +0000 (17:12 +0000)]
i386.c (ix86_reorg): Call optimize_function_for_speed_p only once.
2009-05-15 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_reorg): Call optimize_function_for_speed_p
only once.
From-SVN: r147588
Jan Hubicka [Fri, 15 May 2009 17:11:00 +0000 (19:11 +0200)]
invoke.texi (max-early-inliner-iterations): New flag.
* doc/invoke.texi (max-early-inliner-iterations): New flag.
* ipa-inline.c (enum inlining_mode): New INLINE_SIZE_NORECURSIVE.
(try_inline): Fix return value.
(cgraph_decide_inlining_incrementally): Honor new value.
(cgraph_early_inlining): Handle indirect inlining.
* params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): New.
* testsuite/gcc.dg/tree-ssa/inline-3.c: New testcase
From-SVN: r147587
Jan Hubicka [Fri, 15 May 2009 17:09:13 +0000 (19:09 +0200)]
cgraph.h (struct cgraph_node): Add finalized_by_frotnend flag.
2009-05-15 Jan Hubicka <jh@suse.cz>
* cgraph.h (struct cgraph_node): Add finalized_by_frotnend flag.
* cgraphunit.c (cgraph_finalize_function): Set it.
(cgraph_expand_function): Use it.
From-SVN: r147586
Jan Hubicka [Fri, 15 May 2009 17:02:28 +0000 (19:02 +0200)]
align-main-1.c (check): Mark noinline.
* gcc.target/i386/align-main-1.c (check): Mark noinline.
* gcc.target/i386/align-main-2.c (check): Mark noinline.
* gcc.dg/ipa/ipa-4.c: Disable early inlining.
* gcc.dg/vect/vect-iv-10.c (main1): Mark noinline.
* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c (main1): Mark noinline.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c (main1): Mark noinline.
* gcc.dg/vect/pr31699.c (foo): Mark noinline.
* gcc.dg/vect/pr18400.c (main1): Mark noinline.
From-SVN: r147585
Jan Hubicka [Fri, 15 May 2009 16:43:38 +0000 (18:43 +0200)]
sibcall-6.c: Add no-ipa-cp argument and mark the function to be optimized by sibcall noinline.
* sibcall-6.c: Add no-ipa-cp argument and mark the function to be
optimized by sibcall noinline.
From-SVN: r147584
Jan Hubicka [Fri, 15 May 2009 16:05:50 +0000 (18:05 +0200)]
sibcall-1.c (track): Mark noinline.
* sibcall-1.c (track): Mark noinline.
* sibcall-2.c (track): Mark noinline.
* sibcall-3.c (track): Mark noinline.
* sibcall-4.c (track): Mark noinline.
From-SVN: r147583
Jan Hubicka [Fri, 15 May 2009 15:23:06 +0000 (17:23 +0200)]
flatten-2.c: Disable early inlining; add comment.
* flatten-2.c: Disable early inlining; add comment.
* flatten-3.c: New test based on flatten-2.c.
From-SVN: r147582
Joseph Myers [Fri, 15 May 2009 14:28:42 +0000 (15:28 +0100)]
inclhack.def (glibc_tgmath): Correct bypass.
* inclhack.def (glibc_tgmath): Correct bypass.
* fixincl.x: Regenerate.
From-SVN: r147580
Sandra Loosemore [Fri, 15 May 2009 14:22:58 +0000 (10:22 -0400)]
real.c (encode_ieee_half): Define.
2009-05-15 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* real.c (encode_ieee_half): Define.
(decode_ieee_half): Define.
(ieee_half_format): Define.
(arm_half_format): Define.
* real.h (ieee_half_format): Declare.
(arm_half_format): Declare.
From-SVN: r147579
Sandra Loosemore [Fri, 15 May 2009 14:20:55 +0000 (10:20 -0400)]
optabs.c (prepare_float_lib_cmp): Test that the comparison...
2009-05-15 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* optabs.c (prepare_float_lib_cmp): Test that the comparison,
swapped, and reversed optabs exist before trying to use them.
From-SVN: r147578
Paul Brook [Fri, 15 May 2009 14:19:19 +0000 (14:19 +0000)]
arm.c (neon_vector_mem_operand): Handle element/structure loads.
2009-05-15 Paul Brook <paul@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/arm/arm.c (neon_vector_mem_operand): Handle element/structure
loads. Allow PRE_DEC.
(output_move_neon): Handle PRE_DEC.
(arm_print_operand): Add 'A' for neon structure loads.
* config/arm/arm-protos.h (neon_vector_mem_operand): Update prototype.
* config/arm/neon.md (neon_mov): Update comment.
* config/arm/constraints.md (Un, Us): Update neon_vector_mem_operand
calls.
(Um): New constraint.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r147577
Jan Hubicka [Fri, 15 May 2009 13:22:49 +0000 (15:22 +0200)]
Revert the following patch until testsuite fallout is fixed:
* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
* cgraph.h (struct inline_summary): New filed self_wize,
size_inlining_benefit, self_time and time_inlining_benefit.
(struct cgraph_global_info): Replace insns by time ans size fields.
* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
(ipcp_update_callgraph): Do not touch function bodies.
* ipa-inline.c: Include except.h
MAX_TIME: New constant.
(overall_insns): Remove
(overall_size, max_benefit): New static variables.
(cgraph_estimate_time_after_inlining): New function.
(cgraph_estimate_size_after_inlining): Rewrite using benefits.
(cgraph_clone_inlined_nodes): Update size.
(cgraph_mark_inline_edge): Update size.
(cgraph_estimate_growth): Use size info.
(cgraph_check_inline_limits): Check size.
(cgraph_default_inline_p): Likewise.
(cgraph_edge_badness): Compute badness based on benefit and size cost.
(cgraph_decide_recursive_inlining): Check size.
(cgraph_decide_inlining_of_small_function): Update size; dump sizes and times.
(cgraph_decide_inlining): Likewise.
(cgraph_decide_inlining_incrementally): Likewise; honor PARAM_EARLY_INLINING_INSNS.
(likely_eliminated_by_inlining_p): New predicate.
(estimate_function_body_sizes): New function.
(compute_inline_parameters): Use it.
* except.c (must_not_throw_labels): New function.
* except.h (must_not_throw_labels): Declare.
* tree-inline.c (init_inline_once): Kill inlining_weigths
* tree-ssa-structalias.c: Avoid uninitialized warning.
* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
(PARAM_INLINE_CALL_COST): Remove.
(PARAM_EARLY_INLINING_INSNS): New.
From-SVN: r147575
Richard Guenther [Fri, 15 May 2009 13:16:12 +0000 (13:16 +0000)]
tree-ssa-pre.c (eliminate): Use TODO_update_ssa_only_virtuals, not TODO_update_ssa.
2009-05-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (eliminate): Use TODO_update_ssa_only_virtuals,
not TODO_update_ssa.
From-SVN: r147574
Richard Guenther [Fri, 15 May 2009 13:09:53 +0000 (13:09 +0000)]
re PR tree-optimization/39999 (gcc 4.4.0 compiles in infinite loop)
2009-05-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39999
* gimple.h (gimple_expr_type): Use the expression type looking
through useless conversions.
* tree-ssa-sccvn.c (vn_nary_op_lookup_stmt): Use gimple_expr_type.
(vn_nary_op_insert_stmt): Likewise.
(simplify_binary_expression): Likewise.
* gcc.c-torture/compile/pr39999.c: New testcase.
From-SVN: r147573
Richard Guenther [Fri, 15 May 2009 12:26:48 +0000 (12:26 +0000)]
common.opt (-ftree-forwprop, [...]): New options, enabled by default.
2009-05-15 Richard Guenther <rguenther@suse.de>
* common.opt (-ftree-forwprop, -ftree-phiprop, -ftree-pta):
New options, enabled by default.
* doc/invoke.texi (-ftree-forwprop, -ftree-phiprop, -ftree-pta):
Document.
* tree-ssa-forwprop.c (gate_forwprop): Use flag_tree_forwprop.
* tree-ssa-phiprop.c (gate_phiprop): Use flag_tree_phiprop.
* tree-ssa-structalias.c (gate_tree_pta): New function.
(pass_build_alias): Use it.
From-SVN: r147571
Joseph Myers [Fri, 15 May 2009 12:13:02 +0000 (13:13 +0100)]
tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also recurse on an invariant address if a conversion from a pointer type to a...
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also
recurse on an invariant address if a conversion from a pointer
type to a wider integer type is involved.
testsuite:
* gcc.c-torture/compile/ptr-conv-1.c: New test.
From-SVN: r147570
Paolo Carlini [Fri, 15 May 2009 10:02:38 +0000 (10:02 +0000)]
num_xbound_fun.cc: Minor tweaks.
2009-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/26_numerics/random/discrete_distribution/cons/
num_xbound_fun.cc: Minor tweaks.
* testsuite/26_numerics/random/piecewise_constant_distribution/
cons/initlist_fun.cc: Likewise
* testsuite/26_numerics/random/piecewise_constant_distribution/
cons/num_xbound_fun.cc: Likewise
* testsuite/26_numerics/random/piecewise_linear_distribution/
cons/initlist_fun.cc: Likewise
* testsuite/26_numerics/random/piecewise_linear_distribution/
cons/num_xbound_fun.cc: Likewise
From-SVN: r147567
Jan Hubicka [Fri, 15 May 2009 09:53:18 +0000 (11:53 +0200)]
cgraph.c (dump_cgraph_node): Dump size/time/benefit.
* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
* cgraph.h (struct inline_summary): New filed self_wize,
size_inlining_benefit, self_time and time_inlining_benefit.
(struct cgraph_global_info): Replace insns by time ans size fields.
* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
(ipcp_update_callgraph): Do not touch function bodies.
* ipa-inline.c: Include except.h
MAX_TIME: New constant.
(overall_insns): Remove
(overall_size, max_benefit): New static variables.
(cgraph_estimate_time_after_inlining): New function.
(cgraph_estimate_size_after_inlining): Rewrite using benefits.
(cgraph_clone_inlined_nodes): Update size.
(cgraph_mark_inline_edge): Update size.
(cgraph_estimate_growth): Use size info.
(cgraph_check_inline_limits): Check size.
(cgraph_default_inline_p): Likewise.
(cgraph_edge_badness): Compute badness based on benefit and size cost.
(cgraph_decide_recursive_inlining): Check size.
(cgraph_decide_inlining_of_small_function): Update size; dump sizes and times.
(cgraph_decide_inlining): Likewise.
(cgraph_decide_inlining_incrementally): Likewise; honor PARAM_EARLY_INLINING_INSNS.
(likely_eliminated_by_inlining_p): New predicate.
(estimate_function_body_sizes): New function.
(compute_inline_parameters): Use it.
* except.c (must_not_throw_labels): New function.
* except.h (must_not_throw_labels): Declare.
* tree-inline.c (init_inline_once): Kill inlining_weigths
* tree-ssa-structalias.c: Avoid uninitialized warning.
* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
(PARAM_INLINE_CALL_COST): Remove.
(PARAM_EARLY_INLINING_INSNS): New.
doc/invoke.texi (max-inline-insns-auto, early-inlining-insns): Update.
(inline-call-cost): Remove.
(early-inlining-insns): New.
From-SVN: r147566
David Billinghurst [Fri, 15 May 2009 09:23:58 +0000 (09:23 +0000)]
re PR libstdc++/36211 (__iconv_adaptor chooses char** where const char** is required)
2009-05-15 David Billinghurst <billingd@gcc.gnu.org>
PR libstdc++/36211
* testsuite/lib/libstdc++.exp(v3_target_compile): Add
cxxldflags to additional_flags rather than cxx_final.
From-SVN: r147565
David Billinghurst [Fri, 15 May 2009 09:20:01 +0000 (09:20 +0000)]
num_xbound_fun.cc: Replace non-standard macro M_PI with constant pi.
2009-05-15 David Billinghurst <billingd@gcc.gnu.org>
* testsuite/26_numerics/random/discrete_distribution/cons/num_xbound_fun.cc:
Replace non-standard macro M_PI with constant pi.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/initlist_fun.cc:
Likewise
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/num_xbound_fun.cc:
Likewise
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc:
Likewise
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc:
Likewise
From-SVN: r147564
Eric Botcazou [Fri, 15 May 2009 09:11:40 +0000 (09:11 +0000)]
dbxout.c (dbxout_range_type): Add LOW and HIGH parameters.
* dbxout.c (dbxout_range_type): Add LOW and HIGH parameters. Use them
for bounds.
(print_int_cst_bounds_in_octal_p): Likewise.
(dbxout_type): Adjust calls to above functions. Be prepared to deal
with subtypes.
* dwarf2out.c (base_type_die): Likewise.
(is_subrange_type): Delete.
(subrange_type_die): Add LOW and HIGH parameters. Use them for bounds.
(modified_type_die): Call subrange_type_for_debug_p on subtypes.
* fold-const.c (fold_truth_not_expr) <CONVERT_EXPR>: Do not strip it if
the destination type is boolean.
(build_range_check): Do not special-case subtypes.
(fold_sign_changed_comparison): Likewise.
(fold_unary): Likewise.
* langhooks-def.h (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_GET_SUBRANGE_BOUNDS.
* langhooks.h (lang_hooks_for_types): Add get_subrange_bounds.
* tree.c (subrange_type_for_debug_p): New predicate based on the former
is_subrange_type.
* tree.h (subrange_type_for_debug_p): Declare.
* tree-chrec.c (avoid_arithmetics_in_type_p): Delete.
(convert_affine_scev): Remove call to above function.
(chrec_convert_aggressive): Likewise.
* tree-ssa.c (useless_type_conversion_p_1): Do not specifically return
false for conversions involving subtypes.
* tree-vrp.c (vrp_val_max): Do not special-case subtypes.
(vrp_val_min): Likewise.
(needs_overflow_infinity): Likewise.
(extract_range_from_unary_expr): Likewise.
ada/
* gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
New macros.
(TYPE_RM_VALUES): Likewise.
(TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
(SET_TYPE_RM_SIZE): New macro.
(TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
(SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
(TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
* gcc-interface/gigi.h (create_range_type): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
<E_Signed_Integer_Subtype>: Build a regular integer type first and
then set the RM bounds. Use SET_TYPE_RM_SIZE to set the RM size.
<E_Floating_Point_Subtype>: Build a regular floating-point type first
and then set the RM bounds.
<E_Array_Type>: Use create_range_type instead of build_range_type.
<E_Array_Subtype>: Build a regular integer type first and then set
the RM bounds for the extra subtype.
<E_String_Literal_Subtype>: Use create_range_type instead of
build_range_type.
<all>: Set the RM bounds for enumeration types and the GCC bounds for
floating-point types.
(set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
(make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
to set the bounds. Use SET_TYPE_RM_SIZE to set the RM size.
(substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
types and with RM bounds for subtypes.
* gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
(gnat_print_type) <REAL_TYPE>: New case.
<ENUMERAL_TYPE>: Fall through to above case.
(gnat_get_subrange_bounds): New function.
* gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
* gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
for booleans. Adjust and use SET_TYPE_RM_SIZE to set the RM size.
(create_range_type): New function.
(create_param_decl): Build a regular integer type first and then set
the RM bounds for the extra subtype.
(unchecked_convert): Remove kludge for 'Valid.
* gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
the index to sizetype instead of TYPE_DOMAIN.
From-SVN: r147563
Paolo Bonzini [Fri, 15 May 2009 07:12:03 +0000 (07:12 +0000)]
frv.h: Clean up references to GO_IF_LEGITIMATE_ADDRESS.
2009-05-15 Paolo Bonzini <bonzini@gnu.org>
* config/frv/frv.h: Clean up references to GO_IF_LEGITIMATE_ADDRESS.
* config/frv/frv.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sparc/sparc.h: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/i386.c: Likewise.
* config/crx/crx.c: Likewise.
* config/m68hc11/m68hc11.h: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/mn10300/mn10300.h: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rs6000/xcoff.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/rs6000/sysv4.h: Likewise.
* config/score/score3.c: Likewise.
* config/score/score7.c: Likewise.
* config/score/score.c: Likewise.
* config/arm/arm.md: Likewise.
* config/mips/mips.c: Likewise.
* config/mips/mips.md: Likewise.
* config/bfin/bfin.h: Likewise.
* config/pa/pa.c: Likewise.
* config/pa/constraints.md: Likewise.
* config/pdp11/pdp11-protos.h (legitimate_address_p): Delete.
* config/pdp11/pdp11.c (legitimate_address_p): Delete.
* config/pdp11/pdp11.h: Use memory_address_p instead.
From-SVN: r147560
Tobias Burnus [Fri, 15 May 2009 06:52:41 +0000 (08:52 +0200)]
re PR fortran/39352 (gfortran.dg/vect/pr39318.f90 doesn't work on ia64)
2009-05-15 Tobias Burnus <burnus@net-b.de>
PR fortran/39352
* f95-lang.c: Add gfc_maybe_initialize_eh.
* gfortran.h: Add gfc_maybe_initialize_eh prototype.
* Make-lang.in: Add new .h dendencies for f95-lang.c
* openmp.c (resolve_omp_do): Call gfc_maybe_initialize_eh.
* misc.c (gfc_free): Avoid #define trickery for free.
From-SVN: r147559
GCC Administrator [Fri, 15 May 2009 00:16:55 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147550
Taras Glek [Thu, 14 May 2009 23:10:50 +0000 (23:10 +0000)]
Correct formatting errors commited in rev 147516
From-SVN: r147547
Steven G. Kargl [Thu, 14 May 2009 22:21:40 +0000 (22:21 +0000)]
dump-parse-tree.c (show_code_node): Add ERRMSG to the dumping of allocate and deallocate statements.
2009-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
* dump-parse-tree.c (show_code_node): Add ERRMSG to the dumping
of allocate and deallocate statements.
From-SVN: r147545
Ian Lance Taylor [Thu, 14 May 2009 21:29:48 +0000 (21:29 +0000)]
passes.c (finish_optimization_passes): Change i to int.
./: * passes.c (finish_optimization_passes): Change i to int.
* plugin.c (plugins_active_p): Change event to int.
(dump_active_plugins): Likewise.
* reginfo.c (invalid_mode_change_p): Change to to unsigned int.
Add cast.
* tree.c (tree_range_check_failed): Change c to unsigned int.
(omp_clause_range_check_failed): Likewise.
(build_common_builtin_nodes): Change mode to int. Add cast.
* config/ia64/ia64.c (is_emitted): Change r to unsigned int.
(ia64_hard_regno_rename_ok, ia64_eh_uses): Likewise.
* c-typeck.c (build_unary_op): If -Wc++-compat, warn about using
++ or -- with a variable of enum type.
cp/:
* class.c (layout_class_type): Change itk to unsigned int.
* decl.c (finish_enum): Change itk to unsigned int.
* parser.c (cp_parser_check_decl_spec): Change ds to int. Remove
casts.
fortran/:
* decl.c (match_attr_spec): Change d to unsigned int.
* dump-parse-tree.c (show_namespace): Change op to int. Add cast.
* interface.c (gfc_check_interfaces): Change i to int. Add casts.
* module.c (read_module): Change i to int. Add cast.
(write_module): Change i to int.
* symbol.c (gfc_get_namespace): Change in to int.
(gfc_free_namespace): Change i to int.
* trans-io.c (gfc_build_io_library_fndecls): Change ptype to
unsigned int. Add cast.
* trans-types.c (gfc_init_kinds): Change mode to unsigned int.
Add casts.
testsuite/:
* gcc.dg/Wcxx-compat-9.c: New testcase.
From-SVN: r147544
Steven Bosscher [Thu, 14 May 2009 20:56:54 +0000 (20:56 +0000)]
re PR driver/40144 (ice in common_handle_option)
PR driver/40144
* opts.c (common_handle_option): Add OPT_fcse_skip_blocks as a no-op.
From-SVN: r147543
Steven Bosscher [Thu, 14 May 2009 20:14:18 +0000 (20:14 +0000)]
* store-motion.c Do not include params.h
* Makefile.in: Fix dependencies for various files.
From-SVN: r147542
Steven Bosscher [Thu, 14 May 2009 20:12:09 +0000 (20:12 +0000)]
auto-inc-dec.c: Fix pass description, remove apparent accidental duplication.
* auto-inc-dec.c: Fix pass description, remove apparent
accidental duplication.
From-SVN: r147541
Daniel Kraft [Thu, 14 May 2009 20:02:46 +0000 (22:02 +0200)]
re PR fortran/40045 (ICE with type extension and -fdump-parse-tree)
2009-05-14 Daniel Kraft <d@domob.eu>
PR fortran/40045
* dump-parse-tree.c (show_typebound): Fix missing adaption to new
type-bound procedure storage structure.
From-SVN: r147540
Paolo Carlini [Thu, 14 May 2009 17:56:17 +0000 (17:56 +0000)]
re PR libstdc++/40123 (Revision 147395 failed libstc++ tests)
2009-05-14 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40123
* random.tcc (independent_bits_engine<>::operator()()): Use
result_type(1), not 1UL.
* random.tcc (independent_bits_engine<>::operator()()): Use _M_b.max()
and _M_b.min(), instead of this->max() and this->min().
* random.h (_ShiftMin1): Remove, adjust everywhere.
* random.tcc: Minor cosmetic changes.
From-SVN: r147538
H.J. Lu [Thu, 14 May 2009 15:45:32 +0000 (15:45 +0000)]
re PR middle-end/40147 (Memory leak in revision 147436)
2009-05-14 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/40147
* ipa-utils.h (memory_identifier_string): Moved to ...
* tree.h (memory_identifier_string): Here. Add GTY(()).
From-SVN: r147535
Paolo Bonzini [Thu, 14 May 2009 13:42:45 +0000 (13:42 +0000)]
tm.texi (TARGET_LEGITIMATE_ADDRESS_P): Refer mainly to this in the former documentation of...
2009-05-14 Paolo Bonzini <bonzini@gnu.org>
* doc/tm.texi (TARGET_LEGITIMATE_ADDRESS_P): Refer mainly to this
in the former documentation of...
(GO_IF_LEGITIMATE_ADDRESS): ... this.
* ira-conflicts.c (get_dup_num): Use address_operand.
* targhooks.c (default_legitimate_address_p): New.
* targhooks.h (default_legitimate_address_p): New.
* reload.c (strict_memory_address_p) [!GO_IF_LEGITIMATE_ADDRESS]:
Call hook.
* recog.c (memory_address_p) [!GO_IF_LEGITIMATE_ADDRESS]: Call hook.
* target.h (struct target): Add legitimate_address_p.
* target-def.h (TARGET_LEGITIMATE_ADDRESS_P): New.
(TARGET_INITIALIZER): Include it.
* config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/alpha/alpha-protos.h (alpha_legitimate_address_p): Remove.
* config/alpha/alpha.c (alpha_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
(REG_OK_STRICT_P): Delete.
* config/frv/frv-protos.h (frv_legitimate_address_p): Rename to...
(frv_legitimate_address_p_1): ... this.
* config/frv/frv.c (frv_legitimate_address_p): Forward to...
(frv_legitimate_address_p_1): ... the renamed old
frv_legitimate_address_p.
* config/frv/predicates.md: Adjust calls to frv_legitimate_address_p.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/s390/s390.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/s390/s390-protos.h (legitimate_address_p): Remove.
* config/s390/s390.c (legitimate_address_p): Rename to...
(s390_legitimate_address_p): ... this, make static.
(legitimize_address): Adjust call.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/s390/constraints.md ("e"): Call strict_memory_address_p.
* config/m32c/m32c.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/m32c/m32c-protos.h (m32c_legitimate_address_p): Remove.
* config/m32c/m32c.c (m32c_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/spu/spu.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/spu/spu-protos.h (spu_legitimate_address): Remove.
* config/spu/spu.c (spu_legitimate_address): Rename to...
(spu_legitimate_address_p): ... this, make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/sparc/sparc.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/sparc/sparc-protos.h (legitimate_address_p): Remove.
* config/sparc/sparc.c (legitimate_address_p): Rename to...
(sparc_legitimate_address_p): ... this, make static and return bool.
(legitimize_address): Adjust call.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/i386/i386.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/i386/i386-protos.h (legitimate_address_p): Remove.
* config/i386/i386.c (legitimate_address_p): Rename to...
(ix86_legitimate_address_p): ... this, make static.
(constant_address_p): Move after it, adjust call.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/avr/avr.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/avr/avr-protos.h (legitimate_address_p): Remove.
* config/avr/avr.c (legitimate_address_p): Rename to...
(avr_legitimate_address_p): ... this, make static.
(legitimize_address): Adjust call.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/crx/crx.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/crx/crx-protos.h (crx_legitimate_address_p): Remove.
* config/crx/crx.c (crx_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/xtensa/xtensa.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/xtensa/xtensa-protos.h (xtensa_legitimate_address_p): Remove.
* config/xtensa/xtensa.c (xtensa_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/stormy16/stormy16.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/stormy16/stormy16-protos.h (xstormy16_legitimate_address_p):
Remove.
* config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/m68hc11/m68hc11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/m68hc11/m68hc11-protos.h (m68hc11_go_if_legitimate_address):
Remove.
* config/m68hc11/m68hc11.c (m68hc11_go_if_legitimate_address):
Rename to...
(m68hc11_legitimate_address_p): ... this, make static.
(go_if_legitimate_address_internal): Rename to...
(m68hc11_legitimate_address_p_1): ... this.
(legitimize_address): Adjust call.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/iq2000/iq2000.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/iq2000/iq2000-protos.h (iq2000_legitimate_address_p):
Remove.
* config/iq2000/iq2000.c (iq2000_legitimate_address_p):
Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/mn10300/mn10300-protos.h (legitimate_address_p): Remove.
* config/mn10300/mn10300.c (legitimate_address_p): Rename to...
(mn10300_legitimate_address_p): ... this, make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/m68k/m68k.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/m68k/m68k-protos.h (m68k_legitimate_address_p): Remove.
* config/m68k/m68k.c (m68k_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/rs6000/rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
(REG_OK_STRICT_FLAG, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Delete.
(INT_REG_OK_FOR_BASE_P, INT_REG_OK_FOR_INDEX_P): Move above.
* config/rs6000/rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/rs6000/rs6000-protos.h (rs6000_legitimate_address): Remove.
* config/rs6000/rs6000.c (rs6000_legitimate_address): Rename to...
(rs6000_legitimate_address_p): ... this, make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
(REG_MODE_OK_FOR_BASE_P): Delete.
(rs6000_legitimize_reload_address): Use INT_REG_OK_FOR_BASE_P.
* config/picochip/picochip.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/picochip/picochip-protos.h (picochip_legitimate_address_p):
Delete.
* config/picochip/picochip.c (picochip_legitimate_address_p): Make
static, adjust types.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/score/score.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/score/score.c (score_address_p): Rename to...
(score_legitimate_address_p): ... this.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/score/score3.c (score3_address_p): Rename to...
(score3_legitimate_address_p): ... this.
* config/score/score7.c (score7_address_p): Rename to...
(score7_legitimate_address_p): ... this.
* config/arm/arm.h (ARM_GO_IF_LEGITIMATE_ADDRESS,
THUMB2_GO_IF_LEGITIMATE_ADDRESS, THUMB1_GO_IF_LEGITIMATE_ADDRESS,
GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/arm/arm-protos.h (thumb1_legitimate_address_p,
thumb2_legitimate_address_p): Delete.
(arm_legitimate_address_p): Rename to...
(arm_legitimate_address_outer_p): ... this.
* config/arm/constraints.md ("Uq"): Adjust call.
* config/arm/predicates.md (arm_extendqisi_mem_op): Likewise.
* config/arm/arm.c (arm_legitimate_address_p): New, rename old one to...
(arm_legitimate_address_outer_p): ... this.
(thumb1_legitimate_address_p, thumb2_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/mips/mips-protos.h (mips_legitimate_address_p): Remove.
* config/mips/mips.c (mips_legitimate_address_p): ... Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/vax/vax.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/vax/vax-protos.h (legitimate_address_p): Remove.
* config/vax/vax.c (legitimate_address_p): Rename to...
(vax_legitimate_address_p): ... this, make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/h8300/h8300-protos.h (h8300_legitimate_address_p): Remove.
* config/h8300/h8300.c (h8300_legitimate_address_p): ... Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/mmix/mmix.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/mmix/mmix-protos.h (mmix_legitimize_address): Remove.
* config/mmix/mmix.c (mmix_legitimate_address): Rename to...
(mmix_legitimate_address_p): ... this, make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/bfin/bfin.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/bfin/bfin-protos.h (bfin_legitimate_address_p): Remove.
* config/bfin/bfin.c (bfin_legitimate_address_p): ... Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
From-SVN: r147534
Paolo Bonzini [Thu, 14 May 2009 13:12:04 +0000 (13:12 +0000)]
arm.h (PROMOTE_FUNCTION_MODE): Remove handling of MODE_COMPLEX_INT.
2009-05-14 Paolo Bonzini <bonzini@gnu.org>
* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Remove handling
of MODE_COMPLEX_INT.
From-SVN: r147531
Eric Botcazou [Thu, 14 May 2009 11:47:59 +0000 (11:47 +0000)]
decl.c (elaborate_expression_1): Remove GNAT_EXPR parameter and move check for static expression to...
* gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
parameter and move check for static expression to...
(elaborate_expression): ...here. Adjust call to above function.
(gnat_to_gnu_entity): Likewise for all calls. Use correct arguments
in calls to elaborate_expression.
(elaborate_entity): Likewise.
(substitution_list): Likewise.
(maybe_variable): Fix formatting.
(substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
missing guard.
* gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
From-SVN: r147530
Rainer Orth [Thu, 14 May 2009 10:10:23 +0000 (10:10 +0000)]
alpha.c (alpha_initialize_trampoline): Change 0 to LCT_NORMAL in function call.
* config/alpha/alpha.c (alpha_initialize_trampoline): Change 0 to
LCT_NORMAL in function call.
* mips-tdump.c (print_file_desc): Add cast to enum type.
* mips-tfile.c (add_ext_symbol): Add casts to enum types.
(mark_stabs): Add casts to enum types.
(parse_stabs_common): Add casts to enum types.
From-SVN: r147529
Janus Weil [Thu, 14 May 2009 09:41:41 +0000 (11:41 +0200)]
re PR fortran/39996 (Double typing of function results not detected)
2009-05-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/39996
* decl.c (gfc_match_function_decl): Use gfc_add_type.
* symbol.c (gfc_add_type): Better checking for duplicate types in
function declarations. And: Always give an error for duplicte types,
not just a warning with -std=gnu.
2009-05-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/39996
* gfortran.dg/func_decl_2.f90: Modified (replacing warnings by errors).
* gfortran.dg/duplicate_type_2.f90: Ditto.
* gfortran.dg/duplicate_type_3.f90: New.
From-SVN: r147528
Paolo Carlini [Thu, 14 May 2009 08:14:54 +0000 (08:14 +0000)]
random.tcc (cauchy_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Avoid M_PI, a glibc extension.
2009-05-14 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc (cauchy_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&)):
Avoid M_PI, a glibc extension.
From-SVN: r147521
Laurent Guerby [Thu, 14 May 2009 06:44:20 +0000 (06:44 +0000)]
c38202a.ada: Use Impdef.
2009-05-14 Laurent GUERBY <laurent@guerby.net>
* ada/acats/tests/c3/
c38202a.ada: Use Impdef.
* ada/acats/tests/c5/
c59002c.ada: Likewise.
(and fix ChangeLog formating of previous entry)
From-SVN: r147519
Eric Botcazou [Thu, 14 May 2009 05:16:30 +0000 (05:16 +0000)]
Fix formatting
From-SVN: r147518
Adam Nemet [Thu, 14 May 2009 02:07:00 +0000 (02:07 +0000)]
mips.c (mips_print_operand): Check for invalid values of LETTER.
* config/mips/mips.c (mips_print_operand) <REG, MEM, default>:
Check for invalid values of LETTER.
From-SVN: r147517
Taras Glek [Thu, 14 May 2009 01:38:33 +0000 (01:38 +0000)]
2009-05-13 Taras Glek <tglek@mozilla.com>
gcc/
* attribs.c moved out attribute registration into register_attribute
* doc/plugins.texi Documented register_attribute and PLUGIN_ATTRIBUTES
* gcc-plugin.h Added forward decl for register_attribute
* plugin.c Added PLUGIN_ATTRIBUTES boilerplate
* plugin.h Added PLUGIN_ATTRIBUTES
gcc/testsuite/
* g++.dg/plugin/attribute_plugin-test-1.C Testcase input for custom attributes and decl smashing
* g++.dg/plugin/attribute_plugin.c Testcase plugin to test user attributes
* g++.dg/plugin/dumb_plugin.c Fixed typo
* g++.dg/plugin/plugin.exp Added attribute_plugin test
From-SVN: r147516
Taras Glek [Thu, 14 May 2009 01:28:36 +0000 (01:28 +0000)]
Updated the wrong changelog
From-SVN: r147515
David Mandelin [Thu, 14 May 2009 01:27:15 +0000 (01:27 +0000)]
decl.c (duplicate_decls): Preserve parameter attributes.
2009-05-13 David Mandelin <dmandelin@mozilla.com>:
gcc/
* decl.c (duplicate_decls): Preserve parameter attributes.
From-SVN: r147514
Dave Korn [Thu, 14 May 2009 00:59:33 +0000 (00:59 +0000)]
msformat-c.c (ms_printf_length_specs): Use enumeration values even in sentinel and empty entries.
* config/i386/msformat-c.c (ms_printf_length_specs): Use enumeration
values even in sentinel and empty entries.
(ms_printf_flag_specs): Likewise.
(ms_scanf_flag_specs): Likewise.
(ms_strftime_flag_specs): Likewise.
(ms_print_char_table): Likewise.
(ms_scan_char_table): Likewise.
(ms_time_char_table): Likewise.
From-SVN: r147513
GCC Administrator [Thu, 14 May 2009 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147512
Doug Kwan [Thu, 14 May 2009 00:02:55 +0000 (00:02 +0000)]
tree-ssa-sccvn.c (compare_ops): Stabilize qsort.
2009-05-13 Doug Kwan <dougkwan@google.com>
* tree-ssa-sccvn.c (compare_ops): Stabilize qsort.
From-SVN: r147508
Jakub Jelinek [Thu, 14 May 2009 00:00:27 +0000 (02:00 +0200)]
re PR fortran/39865 (ICE in gfc_conv_scalarized_array_ref)
PR fortran/39865
* io.c (resolve_tag_format): CHARACTER array in FMT= argument
isn't an extension. Reject non-CHARACTER array element of
assumed shape or pointer or assumed size array.
* trans-array.c (array_parameter_size): New function.
(gfc_conv_array_parameter): Add size argument. Call
array_parameter_size if it is non-NULL.
* trans-array.h (gfc_conv_array_parameter): Adjust prototype.
* trans-expr.c (gfc_conv_function_call, gfc_trans_arrayfunc_assign):
Adjust callers.
* trans-intrinsic.c (gfc_conv_intrinsic_loc): Likewise.
* trans-io.c (gfc_convert_array_to_string): Rewritten.
* gfortran.dg/pr39865.f90: New test.
* gfortran.dg/hollerith.f90: Don't expect errors for CHARACTER
arrays in FMT=.
* gfortran.dg/hollerith_f95.f90: Likewise.
* gfortran.dg/hollerith6.f90: New test.
* gfortran.dg/hollerith7.f90: New test.
From-SVN: r147507
Manuel López-Ibáñez [Wed, 13 May 2009 23:17:55 +0000 (23:17 +0000)]
re PR preprocessor/36674 (#include location is offset by one row in errors from preprocessed files)
2009-05-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR cpp/36674
libcpp/
* directives (do_linemarker): Compensate for the increment in
location that occurs when we reach the end of line.
* files (_cpp_stack_include): Mention _cpp_find_file in the
comment.
testsuite/
* gcc.dg/cpp/pr36674.i: New.
From-SVN: r147504
Adam Nemet [Wed, 13 May 2009 21:52:56 +0000 (21:52 +0000)]
mips.md (store): Add attributes for QI and HI.
* config/mips/mips.md (store): Add attributes for QI and HI.
Update comment.
(truncdisi2, truncdihi2, truncdiqi2): Merge these into ...
(truncdi<mode>2): ... this new pattern.
From-SVN: r147503
Ben Elliston [Wed, 13 May 2009 21:46:37 +0000 (07:46 +1000)]
Correct datestamp of my most recent entry.
From-SVN: r147502
Brad Hards [Wed, 13 May 2009 21:14:49 +0000 (21:14 +0000)]
Makefile.in (TEXI_GCCINT_FILES): Add plugins.texi.
2009-05-13 Brad Hards <bradh@kde.org>
* Makefile.in (TEXI_GCCINT_FILES): Add plugins.texi.
From-SVN: r147499
Ben Elliston [Wed, 13 May 2009 20:52:00 +0000 (06:52 +1000)]
re PR middle-end/40035 (ICE when cross-compiling with -Os)
PR middle-end/40035
* dse.c (check_mem_read_rtx): Guard against width == -1.
testsuite/
* gcc.c-torture/compile/pr40035.c: New test.
From-SVN: r147498
Steven G. Kargl [Wed, 13 May 2009 20:49:13 +0000 (20:49 +0000)]
gfortran.h (gfc_code): Rename struct member expr to expr1.
2009-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.h (gfc_code): Rename struct member expr to expr1.
* openmp.c (resolve_omp_atomic): Update expr to expr1.
* interface.c (gfc_extend_assign): Ditto.
* trans-expr.c (gfc_conv_expr_reference, gfc_trans_assignment,
gfc_trans_init_assign): Ditto.
* dump-parse-tree.c (show_code_node): Ditto.
* trans-openmp.c (gfc_trans_omp_atomic): Ditto.
* trans-stmt.c ( gfc_trans_label_assign, gfc_trans_goto, gfc_trans_call,
gfc_trans_return, gfc_trans_pause, gfc_trans_stop, gfc_trans_if_1,
gfc_trans_arithmetic_if, gfc_trans_do_while, gfc_trans_integer_select,
gfc_trans_logical_select, gfc_trans_character_select
forall_make_variable_temp, check_forall_dependencies
gfc_trans_forall_1, gfc_trans_where_2, gfc_trans_where_3
gfc_trans_where, gfc_trans_allocate, gfc_trans_deallocate): Ditto.
* io.c (match_io_element, gfc_match_inquire): Ditto.
* resolve.c (resolve_typebound_call, resolve_ppc_call,
resolve_allocate_expr, resolve_allocate_deallocate, resolve_select,
resolve_transfer, resolve_where, gfc_resolve_assign_in_forall,
gfc_resolve_blocks, resolve_code, build_init_assign): Ditto.
* st.c (gfc_free_statement): Ditto.
* match.c (gfc_match_assignment, gfc_match_pointer_assignment,
match_arithmetic_if, gfc_match_if, gfc_match_elseif
gfc_match_stopcode, gfc_match_assign, gfc_match_goto,
gfc_match_nullify, match_typebound_call, gfc_match_call
gfc_match_select, match_simple_where, gfc_match_where
gfc_match_elsewhere, match_simple_forall, gfc_match_forall): Ditto.
* trans-io.c (gfc_trans_transfer): Ditto.
* parse.c (parse_where_block, parse_if_block): Ditto.
From-SVN: r147497
Kaveh R. Ghazi [Wed, 13 May 2009 20:14:54 +0000 (20:14 +0000)]
pr39543-2.c: Skip if ilp32 && pic.
* gcc.target/i386/pr39543-2.c: Skip if ilp32 && pic.
From-SVN: r147495
Michael Matz [Wed, 13 May 2009 20:14:44 +0000 (20:14 +0000)]
re PR middle-end/39976 (Big sixtrack degradation on powerpc 32/64 after revision r146817)
PR middle-end/39976
* tree-outof-ssa.c (maybe_renumber_stmts_bb): New function.
(trivially_conflicts_p): New function.
(insert_backedge_copies): Use it.
From-SVN: r147494
Janis Johnson [Wed, 13 May 2009 18:26:14 +0000 (18:26 +0000)]
c-pragma.c (enum pragma_switch_t): Prefix constants with PRAGMA_.
* c-pragma.c (enum pragma_switch_t): Prefix constants with PRAGMA_.
(handle_stdc_pragma): Use new enum constant names.
(handle_pragma_float_const_decimal64): Ditto.
From-SVN: r147492
Ian Lance Taylor [Wed, 13 May 2009 17:40:51 +0000 (17:40 +0000)]
Makefile.in (build/gencheck.o): Depend upon all-tree.def, not tree.def.
* Makefile.in (build/gencheck.o): Depend upon all-tree.def, not
tree.def.
From-SVN: r147491
Steven G. Kargl [Wed, 13 May 2009 16:17:59 +0000 (16:17 +0000)]
gfortran.h (gfc_code): Rename struct member label to label1.
2009-05-12 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.h (gfc_code): Rename struct member label to label1.
* dump-parse-tree.c (show_code_node): Update symbol.
* trans-stmt.c (gfc_trans_label_assign, gfc_trans_goto,
gfc_trans_arithmetic_if)": Ditto.
* resolve.c (gfc_resolve_blocks, resolve_code): Ditto.
* match.c (match_arithmetic_if, gfc_match_if, gfc_reference_st_label,
gfc_match_assign, gfc_match_goto): Ditto.
* parse.c (parse_do_block): Ditto.
From-SVN: r147489
Nathan Sidwell [Wed, 13 May 2009 15:10:55 +0000 (15:10 +0000)]
t-uclinux (M68K_MLIB_CPU): Check for FL_UCLINUX.
* config/m68k/t-uclinux (M68K_MLIB_CPU): Check for FL_UCLINUX.
* config/m68k/m68k-devices.def: Add FL_UCLINUX to 68020 and 54455
multilibs.
* config/m68k/m68k.h (FL_UCLINUX): Define.
From-SVN: r147478
Tobias Burnus [Wed, 13 May 2009 14:52:54 +0000 (16:52 +0200)]
re PR fortran/34153 (Debugging: Cannot set breakpoint in comment lines or "END PROGRAM")
2009-05-13 Tobias Burnus <burnus@net-b.de>
PR fortran/34153
* gfortran.h (gfc_exec_op): Add EXEC_END_PROCEDURE.
* dump-parse-tree.c (show_code_node): Use EXEC_END_PROCEDURE.
* trans.c (gfc_trans_code): Ditto.
* resolve.c (resolve_code): Ditto.
* st.c (gfc_free_statement): Ditto.
From-SVN: r147477
Jan Hubicka [Wed, 13 May 2009 13:43:32 +0000 (15:43 +0200)]
invoke.texi (-fwhole-file): Update docs.
* doc/invoke.texi (-fwhole-file): Update docs.
* options.c (gfc_post_options): -fwhole-program imply -fwhole-file.
From-SVN: r147472
Ben Elliston [Wed, 13 May 2009 00:17:09 +0000 (00:17 +0000)]
Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
* include/Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
* include/Makefile.in: Likewise.
From-SVN: r147459
GCC Administrator [Wed, 13 May 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147458
Ben Elliston [Wed, 13 May 2009 00:16:08 +0000 (10:16 +1000)]
compatibility.cc (_ZTIe, [...]): Change type to const void * const.
* src/compatibility.cc (_ZTIe, _ZTIPe, _ZTIPKe): Change type to
const void * const.
From-SVN: r147455
Kaz Kojima [Tue, 12 May 2009 22:49:25 +0000 (22:49 +0000)]
sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns unless -fschedule-insns is specified.
* config/sh/sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns
unless -fschedule-insns is specified.
From-SVN: r147454
Kaz Kojima [Tue, 12 May 2009 22:47:03 +0000 (22:47 +0000)]
re PR target/39561 (-mno-expand-cbranchdi broken)
PR target/39561
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Don't set
TARGET_EXPAND_CBRANCHDI4.
* config/sh/sh.md (cbranchdi4): Don't check TARGET_EXPAND_CBRANCHDI4.
* config/sh/sh.opt (mexpand-cbranchdi): Remove.
(cmpeqdi): Fix comment.
From-SVN: r147453
Tobias Burnus [Tue, 12 May 2009 22:42:45 +0000 (00:42 +0200)]
re PR fortran/40110 (Bind(C): gfortran rejects the questionable but formally correct INTEGER(C_CHAR))
2009-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/40110
* decl.c (gfc_match_kind_spec): Turn C kind error into a
* warning.
2009-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/40110
* gfortran.dg/bind_c_usage_18.f90: Change dg-error into
dg-warning.
* gfortran.dg/c_kind_tests_2.f03: Ditto.
* gfortran.dg/interop_params.f03: Ditto.
From-SVN: r147452
Kaz Kojima [Tue, 12 May 2009 22:41:54 +0000 (22:41 +0000)]
sh-protos.h (sh_legitimate_index_p): Declare.
* config/sh/sh-protos.h (sh_legitimate_index_p): Declare.
(sh_legitimate_address_p): Likewise.
* config/sh/sh.c (sh_legitimate_index_p): New.
(sh_legitimate_address_p): Likewise.
* config/sh/sh.h (REG_OK_FOR_BASE_P): Add STRICT parameter.
(REG_OK_FOR_INDEX_P, SUBREG_OK_FOR_INDEX_P): Likewise.
(MODE_DISP_OK_4, MODE_DISP_OK_8): Remove.
(MAYBE_BASE_REGISTER_RTX_P): New macro.
(MAYBE_INDEX_REGISTER_RTX_P): Likewise.
(BASE_REGISTER_RTX_P): Use MAYBE_BASE_REGISTER_RTX_P.
(INDEX_REGISTER_RTX_P): Use MAYBE_INDEX_REGISTER_RTX_P.
(GO_IF_LEGITIMATE_INDEX): Use sh_legitimate_index_p.
(GO_IF_LEGITIMATE_ADDRESS): Use sh_legitimate_address_p.
From-SVN: r147450
Edward Smith-Rowland [Tue, 12 May 2009 22:16:52 +0000 (22:16 +0000)]
status_cxx200x.xml: Note missing constexpr for random number engines...
2009-05-12 Edward Smith-Rowland <3dw4rd@verizon.net>
* doc/xml/manual/status_cxx200x.xml: Note missing constexpr for
random number engines, complex, bitset, array, time utilities, and
char_traits.
From-SVN: r147449
Jonathan Wakely [Tue, 12 May 2009 21:08:00 +0000 (21:08 +0000)]
exception: Include nested_exception.h in C++0x mode.
2009-05-12 Jonathan Wakely <jwakely.gcc@gmail.com>
* libsupc++/exception: Include nested_exception.h in C++0x mode.
* libsupc++/nested_exception.h: New.
* libsupc++/Makefile.am: Add new header.
* libsupc++/Makefile.in: Regenerate.
* testsuite/18_support/nested_exception/rethrow_nested.cc: New.
* testsuite/18_support/nested_exception/throw_with_nested.cc: New.
* testsuite/18_support/nested_exception/cons.cc: New.
* testsuite/18_support/nested_exception/nested_ptr.cc: New.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc: New.
* doc/xml/manual/status_cxx200x.xml: Adjust.
From-SVN: r147446
H.J. Lu [Tue, 12 May 2009 16:33:14 +0000 (09:33 -0700)]
re PR target/37179 (gcc emits bad opcode 'ffreep')
PR target/37179:
* Correct PR number for revision 147429.
From-SVN: r147441
Jan Hubicka [Tue, 12 May 2009 14:05:28 +0000 (16:05 +0200)]
loop-36.c: Reduce amount of iterations to 2 so unrolling still happens.
* gcc.dg/tree-ssa/loop-36.c: Reduce amount of iterations to 2 so unrolling
still happens.
* gcc.dg/ipa/ipacost-1.c: Prevent inlining
* gcc.dg/ipa/ipacost-2.c: Likewise.
* gcc.dg/vect/slp-3.c: Loop is no longer unrolled.
* tree-inline.c (estimate_operator_cost): Add operands;
when division happens by constant, it is cheap.
(estimate_num_insns): Loads and stores are not having cost of 0;
EH magic stuff is cheap; when computing runtime cost of switch,
use log2 base of amount of its cases; builtin_expect has cost of 0;
compute cost for moving return value of call.
(init_inline_once): Initialize time_based flags.
* tree-inline.h (eni_weights_d): Add time_based flag.
From-SVN: r147436
Paolo Bonzini [Tue, 12 May 2009 13:47:26 +0000 (13:47 +0000)]
df-core.c: Update head documentation.
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
* df-core.c: Update head documentation.
From-SVN: r147435
Michael Meissner [Tue, 12 May 2009 12:52:45 +0000 (12:52 +0000)]
Fix PR bootstrap/40118
From-SVN: r147434
David Billinghurst [Tue, 12 May 2009 11:55:20 +0000 (11:55 +0000)]
default_format_1.f90: XFAIL on cygwin.
2009-05-12 David Billinghurst <billingd@gcc.gnu.org>
* gfortran.dg/default_format_1.f90: XFAIL on cygwin.
From-SVN: r147430
Uros Bizjak [Tue, 12 May 2009 11:42:53 +0000 (13:42 +0200)]
re PR target/37197 (-msse4 ICE on __builtin_parityl)
PR target/37197
* config/i386/driver-i386.c (processor_signatures): New enum.
(SIG_GEODE): Move from vendor_signatures to processor_signatures.
(host_detect_local_cpu): For SIG_AMD vendor, check for SIG_GEODE
processor signature to detect geode processor.
From-SVN: r147429
Paolo Bonzini [Tue, 12 May 2009 09:52:27 +0000 (09:52 +0000)]
revert: optabs.c (prepare_cmp_insn): Temporarily disable test that causes spurious differences between trunk and...
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
Revert:
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
* optabs.c (prepare_cmp_insn): Temporarily disable test that
causes spurious differences between trunk and cond-optab branch.
From-SVN: r147426
Paolo Bonzini [Tue, 12 May 2009 09:43:48 +0000 (09:43 +0000)]
Merge cond-optab branch.
From-SVN: r147425
David Billinghurst [Tue, 12 May 2009 08:34:46 +0000 (08:34 +0000)]
target-supports.exp (check_profiling_available): Return false for -p on *-*-cygwin* targets.
2009-05-12 David Billinghurst <billingd@gcc.gnu.org>
* lib/target-supports.exp (check_profiling_available): Return
false for -p on *-*-cygwin* targets.
From-SVN: r147421
Paolo Bonzini [Tue, 12 May 2009 06:42:59 +0000 (06:42 +0000)]
optabs.c (prepare_cmp_insn): Temporarily disable test that causes spurious differences between trunk and...
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
* optabs.c (prepare_cmp_insn): Temporarily disable test that
causes spurious differences between trunk and cond-optab branch.
From-SVN: r147418
Alexandre Oliva [Tue, 12 May 2009 05:49:28 +0000 (05:49 +0000)]
re PR target/37137 (unrecognized command line option "-minterlink-mips16")
ChangeLog:
PR target/37137
* Makefile.def (flags_to_pass): Remove redundant and incomplete
STAGE1_CFLAGS, STAGE2_CFLAGS, STAGE3_CFLAGS, and STAGE4_CFLAGS.
Add FLAGS_FOR_TARGET and BUILD_CONFIG.
(bootstrap_stage): Remove bootstrap-debug custom stages. Turn
stage_configureflags, stage_cflags and stage_libcflags into
explicit Makefile macros.
* Makefile.tpl (HOST_EXPORTS, EXTRA_HOST_FLAGS): Pass GCJ and
GFORTRAN.
(POSTSTAGE1_HOST_EXPORTS): Add XGCC_FLAGS_FOR_TARGET and TFLAGS to
CC. Set CC_FOR_BUILD from CC.
(BASE_TARGET_EXPORTS, RAW_CXX_TARGET_EXPORTS,
NORMAL_TARGET_EXPORTS): Move SYSROOT_CFLAGS_FOR_TARGET and
DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS and CXXFLAGS to
XGCC_FLAGS_FOR_TARGET. Add it along with TFLAGS to CC, CXX, GCJ,
and GFORTRAN.
(TFLAGS, STAGE_CFLAGS, STAGE_TFLAGS, STAGE_CONFIGURE_FLAGS): New.
(_LIBCFLAGS): Renamed to _TFLAGS.
(do-compare-debug, do-compare3-debug): Drop.
(CC, GCC_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET,
GCJ_FOR_TARGET, GFORTRAN_FOR_TARGET): Remove FLAGS_FOR_TARGET.
(FLAGS_FOR_TARGET, SYSROOT_CFLAGS_FOR_TARGET,
DEBUG_PREFIX_CFLAGS_FOR_TARGET): Move down.
(XGCC_FLAGS_FOR_TARGET): New.
(BASE_FLAGS_TO_PASS): Pass STAGEid_CFLAGS, STAGEid_TFLAGS and TFLAGS.
(EXTRA_HOST_FLAGS): Pass GCJ and GFORTRAN.
(POSTSTAGE1_FLAGS_TO_PASS): Move SYSROOT_CFLAGS_FOR_TARGET and
DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS, CXXFLAGS, LIBCFLAGS,
LIBCXXFLAGS to XGCC_FLAGS_FOR_TARGET. Add it along with TFLAGS
to CC, CXX, GCJ, and GFORTRAN. Pass XGCC_FLAGS_FOR_TARGET and
TFLAGS.
(BUILD_CONFIG): Include if requested.
(all): Set TFLAGS on bootstrap.
(configure-stageid-prefixmodule): Pass TFLAGS, adjust FLAGS.
(all-stageid-prefixmodule): Likewise.
(do-clean, distclean-stageid): Set TFLAGS.
(restrap): Fix whitespace.
* Makefile.in: Rebuilt.
config/ChangeLog:
* multi.m4: Save CXX, GFORTRAN and GCJ in config.status.
* mt-gnu (CXXFLAGS_FOR_TARGET): Adjust.
* bootstrap-O1.mk: New.
* bootstrap-O3.mk: New.
* bootstrap-debug.mk: New.
gcc/ChangeLog:
PR target/37137
* doc/install.texi (STAGE1_TFLAGS, BUILD_CONFIG): Document.
gcc/java/ChangeLog:
* Make-lang.in (GCJ): Renamed to...
(XGCJ): ... this.
libjava/ChangeLog:
* configure.ac: Insert libgcjdir in the GCJ passed in the
environment, rather than overriding completely.
* configure: Rebuilt.
From-SVN: r147415
Alexandre Oliva [Tue, 12 May 2009 05:43:51 +0000 (05:43 +0000)]
tree.c (iterative_hash_pointer): Delete.
* tree.c (iterative_hash_pointer): Delete.
(iterative_hash_expr): Short-circuit handling of NULL pointer.
Hash UIDs and versions of SSA names. Don't special-case built-in
function declarations.
From-SVN: r147414
Ian Lance Taylor [Tue, 12 May 2009 01:26:45 +0000 (01:26 +0000)]
re PR bootstrap/40103 (CLooG header files are not -Wc++-compat ready)
PR bootstrap/40103
* graphite.c: Force -Wc++-compat to only be a warning before
#including "cloog/cloog.h".
From-SVN: r147407
GCC Administrator [Tue, 12 May 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147404
H.J. Lu [Tue, 12 May 2009 00:09:17 +0000 (00:09 +0000)]
re PR tree-optimization/38632 (ICE with try/catch and -ftree-parallelize-loops)
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/38632
* g++.dg/tree-ssa/pr38632.C: New.
From-SVN: r147401
Martin Jambor [Mon, 11 May 2009 20:58:08 +0000 (22:58 +0200)]
ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
2009-05-11 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
From-SVN: r147396
Jan Hubicka [Mon, 11 May 2009 20:54:56 +0000 (22:54 +0200)]
pr21829.c: Simplify matching since we now optimize better.
* gcc.dg/tree-ssa/pr21829.c: Simplify matching since
we now optimize better.
* gcc.dg/Wunreachable-8.c: Bogus warnings now come
out at different places.
* gcc.dg/vect/vect-92.c: Increase loop iteration count to prevent
unroling.
* gcc.dg/vect/vect-76.c: Likewise.
* gcc.dg/vect/vect-70.c: Likewise.
* gcc.dg/vect/vect-66.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
* gcc.dg/vect/slp-3.c: One of loops gets now fully unrolled.
* tree-ssa-loop-ivcanon.c: Include target.h
(struct loop_size): new structure.
(constant_after_peeling): New predicate.
(tree_estimate_loop_size): New function.
(estimated_unrolled_size): Rewrite for new estimates.
(try_unroll_loop_completely): Use new estimates.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add dependenc on target.h
From-SVN: r147395
Andrew Pinski [Mon, 11 May 2009 19:14:08 +0000 (19:14 +0000)]
spu-c.c (spu_categorize_keyword): Update for recent libcpp interface change.
2009-05-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/spu-c.c (spu_categorize_keyword): Update for recent
libcpp interface change.
(spu_macro_to_expand): Likewise.
From-SVN: r147393
H.J. Lu [Mon, 11 May 2009 16:37:07 +0000 (16:37 +0000)]
re PR middle-end/40080 (error: missing callgraph edge for call stmt)
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/40080
* gcc.c-torture/compile/pr40080.c: New.
From-SVN: r147389
Paolo Bonzini [Mon, 11 May 2009 16:05:45 +0000 (16:05 +0000)]
re PR middle-end/40026 (ICE during gimplify_init_constructor)
2009-05-11 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/40026
* gimplify.c (gimplify_init_constructor): Change initial conditional
to assertion. Rewrite TREE_OPERAND (*expr_p, 1) after
optimize_compound_literals_in_ctor.
testsuite:
2009-05-11 Paolo Bonzini <bonzini@gnu.org>
* gcc.c-torture/compile/pr40026.c: New testcase.
From-SVN: r147386
Nathan Sidwell [Mon, 11 May 2009 15:46:54 +0000 (15:46 +0000)]
m68k-devices.def (52274, [...]): New devices.
* config/m68k/m68k-devices.def (52274, 52277, 5301x, 5225x, 51xx):
New devices.
* doc/invoke.texi (M680x0 Options): Document new coldfire cpus.
From-SVN: r147383
Steve Ellcey [Mon, 11 May 2009 15:23:25 +0000 (15:23 +0000)]
* resolve.c (check_host_association): Initialize tail.
From-SVN: r147381
Janus Weil [Mon, 11 May 2009 14:14:38 +0000 (16:14 +0200)]
re PR fortran/40089 (Public type with public component which has a private type)
2009-05-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/40089
* resolve.c (resolve_fl_derived): Only return FAILURE if
gfc_notify_std fails.
2009-05-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/40089
* gfortran.dg/proc_ptr_comp_7.f90: New.
From-SVN: r147379
H.J. Lu [Mon, 11 May 2009 13:51:14 +0000 (13:51 +0000)]
tree-vect-data-refs.c (vect_analyze_group_access): Use HOST_WIDE_INT for gap.
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
* tree-vect-data-refs.c (vect_analyze_group_access): Use
HOST_WIDE_INT for gap.
From-SVN: r147375
Ira Rosen [Mon, 11 May 2009 12:33:13 +0000 (12:33 +0000)]
re PR tree-optimization/40074 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:944)
PR tree-optimization/40074
* tree-vect-data-refs.c (vect_analyze_group_access): Take gaps into
account in group size and step comparison.
From-SVN: r147372