Sandra Loosemore
d33e4b70f6
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
2009-05-15 13:28:47 -04:00
H.J. Lu
a02ab464e3
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
2009-05-15 10:12:00 -07:00
Jan Hubicka
796bda2238
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
2009-05-15 17:11:00 +00:00
Jan Hubicka
d88e5c3725
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
2009-05-15 17:09:13 +00:00
Jan Hubicka
6136d2c7e2
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
2009-05-15 17:02:28 +00:00
Jan Hubicka
f3d509ec30
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
2009-05-15 16:43:38 +00:00
Jan Hubicka
561df46451
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
2009-05-15 16:05:50 +00:00
Jan Hubicka
febbad93b1
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
2009-05-15 15:23:06 +00:00
Joseph Myers
b51c6a2c92
inclhack.def (glibc_tgmath): Correct bypass.
...
* inclhack.def (glibc_tgmath): Correct bypass.
* fixincl.x: Regenerate.
From-SVN: r147580
2009-05-15 15:28:42 +01:00
Sandra Loosemore
ae63687c81
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
2009-05-15 10:22:58 -04:00
Sandra Loosemore
1bd74ad980
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
2009-05-15 10:20:55 -04:00
Paul Brook
dc34db56f1
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
2009-05-15 10:19:19 -04:00
Jan Hubicka
1d405d7b41
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
2009-05-15 13:22:49 +00:00
Richard Guenther
7ffa47ca1e
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
2009-05-15 13:16:12 +00:00
Richard Guenther
828552ed0b
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
2009-05-15 13:09:53 +00:00
Richard Guenther
248fc9f328
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
2009-05-15 12:26:48 +00:00
Joseph Myers
16b29cc4d6
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
2009-05-15 13:13:02 +01:00
Paolo Carlini
934432b66c
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
2009-05-15 10:02:38 +00:00
Jan Hubicka
125cae84d0
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
2009-05-15 09:53:18 +00:00
David Billinghurst
602feda58d
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
2009-05-15 09:23:58 +00:00
David Billinghurst
d05db9ccfa
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
2009-05-15 09:20:01 +00:00
Eric Botcazou
84fb43a1a4
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
2009-05-15 09:11:40 +00:00
Paolo Bonzini
331d918689
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
2009-05-15 07:12:03 +00:00
Tobias Burnus
602b85231d
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
2009-05-15 08:52:41 +02:00
GCC Administrator
675a72d643
Daily bump.
...
From-SVN: r147550
2009-05-15 00:16:55 +00:00
Taras Glek
16f7ad426e
Correct formatting errors commited in rev 147516
...
From-SVN: r147547
2009-05-14 23:10:50 +00:00
Steven G. Kargl
0511ddbb33
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
2009-05-14 22:21:40 +00:00
Ian Lance Taylor
09639a8397
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
2009-05-14 21:29:48 +00:00
Steven Bosscher
c04a56bffe
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
2009-05-14 20:56:54 +00:00
Steven Bosscher
237ee620ad
* store-motion.c Do not include params.h
...
* Makefile.in: Fix dependencies for various files.
From-SVN: r147542
2009-05-14 20:14:18 +00:00
Steven Bosscher
1154c4fafe
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
2009-05-14 20:12:09 +00:00
Daniel Kraft
240f9e9491
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
2009-05-14 22:02:46 +02:00
Paolo Carlini
6855fe452e
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
2009-05-14 17:56:17 +00:00
H.J. Lu
61c273538b
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
2009-05-14 08:45:32 -07:00
Paolo Bonzini
c6c3dba931
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
2009-05-14 13:42:45 +00:00
Paolo Bonzini
3bd0d9c861
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
2009-05-14 13:12:04 +00:00
Eric Botcazou
a531043b0e
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
2009-05-14 11:47:59 +00:00
Rainer Orth
fe04903344
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
2009-05-14 10:10:23 +00:00
Janus Weil
6de7294fd4
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
2009-05-14 11:41:41 +02:00
Paolo Carlini
e1a0296342
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
2009-05-14 08:14:54 +00:00
Laurent Guerby
4d3aadab34
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
2009-05-14 06:44:20 +00:00
Eric Botcazou
c608b4d21b
Fix formatting
...
From-SVN: r147518
2009-05-14 05:16:30 +00:00
Adam Nemet
b0907a6ca0
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
2009-05-14 02:07:00 +00:00
Taras Glek
d1c8e08a0c
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
2009-05-14 01:38:33 +00:00
Taras Glek
1806edae58
Updated the wrong changelog
...
From-SVN: r147515
2009-05-14 01:28:36 +00:00
David Mandelin
bb36cc7542
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
2009-05-14 01:27:15 +00:00
Dave Korn
4ed7f970f4
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
2009-05-14 00:59:33 +00:00
GCC Administrator
4331b4bb92
Daily bump.
...
From-SVN: r147512
2009-05-14 00:16:59 +00:00
Doug Kwan
3d8fa1484b
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
2009-05-14 00:02:55 +00:00
Jakub Jelinek
7e2791428f
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
2009-05-14 02:00:27 +02:00