Commit Graph

94401 Commits

Author SHA1 Message Date
Richard Guenther
5b21f0f37d re PR middle-end/38212 (restrict implementation causes wrong-code)
2009-06-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/38212
	* alias.c (find_base_decl): Remove.
	(get_deref_alias_set_1): Remove restrict handling.
	* c-common.c (c_apply_type_quals_to_decl): Do not set
	DECL_POINTER_ALIAS_SET.
	* gimplify.c (find_single_pointer_decl_1): Remove.
	(find_single_pointer_decl): Likewise.
	(internal_get_tmp_var): Remove restrict handling.
	(gimple_regimplify_operands): Likewise.
	* omp-low.c (expand_omp_atomic_pipeline): Do not set
	DECL_POINTER_ALIAS_SET. Use ref-all pointers.
	* print-tree.c (print_node): Do not print DECL_POINTER_ALIAS_SET.
	* tree.c (restrict_base_for_decl): Remove.
	(init_ttree): Do not allocate it.
	(make_node_stat): Do not set DECL_POINTER_ALIAS_SET.  Set
	LABEL_DECL_UID for label decls.
	(copy_node_stat): Do not copy restrict information.
	(decl_restrict_base_lookup): Remove.
	(decl_restrict_base_insert): Likewise.
	(print_restrict_base_statistics): Likewise.
	(dump_tree_statistics): Do not call print_restrict_base_statistics.
	* tree.h (DECL_POINTER_ALIAS_SET): Remove.
	(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
	(struct tree_decl_common): Rename pointer_alias_set to label_decl_uid.
	(LABEL_DECL_UID): Adjust.
	(DECL_BASED_ON_RESTRICT_P): Remove.
	(DECL_GET_RESTRICT_BASE): Likewise.
	(SET_DECL_RESTRICT_BASE): Likewise.
	(struct tree_decl_with_vis): Remove based_on_restrict_p flag.

	* config/i386/i386.c (ix86_gimplify_va_arg): Use ref-all pointers
	instead of DECL_POINTER_ALIAS_SET.
	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
	* config/s390/s390.c (s390_gimplify_va_arg): Likewise.
	* config/spu/spu.c (spu_gimplify_va_arg_expr): Likewise.

	* gcc.c-torture/execute/pr38212.c: New testcase.

From-SVN: r149047
2009-06-29 12:20:39 +00:00
Richard Guenther
09a782ebda re PR tree-optimization/40579 (gcc -O2 optimization causes infinite loop and wrong output)
2009-06-29  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/40579
	* tree-vrp.c (vrp_evaluate_conditional): Bail out early if
	the IL to simplify has constants that overflowed.

	* gcc.c-torture/execute/pr40579.c: New testcase.

From-SVN: r149046
2009-06-29 11:57:15 +00:00
GCC Administrator
152413f7ed Daily bump.
From-SVN: r149043
2009-06-29 00:16:53 +00:00
Uros Bizjak
1e9ae5ab30 re PR tree-optimization/40550 (Segmentation fault caused by alignment error in sse code)
PR tree-optimization/40550
	* tree-vect-generic.c (expand_vector_operations_1): Compute in
	vector_compute_type only when the size of vector_compute_type is
	less than the size of type.

testsuite/ChangeLog:

	PR tree-optimization/40550
	* gcc.dg/pr40550.c: New test.

From-SVN: r149038
2009-06-28 20:33:54 +02:00
Eric Botcazou
c703e618f8 fold-const.c (contains_label_1): Fix comments.
* fold-const.c (contains_label_1): Fix comments.
	(contains_label_p): Do not walk trees multiple time.

From-SVN: r149037
2009-06-28 18:17:47 +00:00
Tobias Burnus
08a6b8e049 re PR fortran/34112 (Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL)
2009-06-28  Tobias Burnus  <burnus@net-b.de>
	    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/34112
	* symbol.c (gfc_add_ext_attribute): New function.
	(gfc_get_sym_tree): New argument allow_subroutine.
	(gfc_get_symbol,gfc_get_ha_sym_tree,gen_cptr_param,gen_fptr_param
	gen_shape_param,generate_isocbinding_symbol): Use it.
	* decl.c (find_special): New argument allow_subroutine.
	(add_init_expr_to_sym,add_hidden_procptr_result,attr_decl1,
	match_procedure_in_type,gfc_match_final_decl): Use it.
	(gfc_match_gcc_attributes): New function.
	* gfortran.texi (Mixed-Language Programming): New section
	"GNU Fortran Compiler Directives".
	* gfortran.h (ext_attr_t): New struct.
	(symbol_attributes): Use it.
	(gfc_add_ext_attribute): New prototype.
	(gfc_get_sym_tree): Update pototype.
	* expr.c (gfc_check_pointer_assign): Check whether call
	convention is the same.
	* module.c (import_iso_c_binding_module, create_int_parameter,
	use_iso_fortran_env_module): Update gfc_get_sym_tree call.
	* scanner.c (skip_gcc_attribute): New function.
	(skip_free_comments,skip_fixed_comments): Use it.
	(gfc_next_char_literal): Support !GCC$ lines.
	* resolve.c (check_host_association): Update
	gfc_get_sym_tree call.
	* match.c (gfc_match_sym_tree,gfc_match_call): Update
	gfc_get_sym_tree call.
	* trans-decl.c (add_attributes_to_decl): New function.
	(gfc_get_symbol_decl,get_proc_pointer_decl,
	gfc_get_extern_function_decl,build_function_decl: Use it.
	* match.h (gfc_match_gcc_attributes): Add prototype.
	* parse.c (decode_gcc_attribute): New function.
	(next_free,next_fixed): Support !GCC$ lines.
	* primary.c (match_actual_arg,check_for_implicit_index,
	gfc_match_rvalue,gfc_match_rvalue): Update
	gfc_get_sym_tree call.

2009-06-28  Tobias Burnus  <burnus@net-b.de>

	PR fortran/34112
	* gfortran.dg/compiler-directive_1.f90: New test.
	* gfortran.dg/compiler-directive_2.f: New test.


Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>

From-SVN: r149036
2009-06-28 19:56:41 +02:00
Paolo Bonzini
0948ccb243 i386.h (enum ix86_fpcmp_strategy): New.
2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * config/i386/i386.h (enum ix86_fpcmp_strategy): New.
        * config/i386/i386.md (cbranchxf4, cstorexf4, cbranch<MODEF>4,
        cstore<MODEF>4, mov<X87MODEF>cc): Change predicate to
        ix86_fp_comparison_operator.
        (*fp_jcc_1_mixed, *fp_jcc_1_sse, *fp_jcc_1_387, *fp_jcc_2_mixed,
        *fp_jcc_2_sse, *fp_jcc_2_387): Delete
        (*fp_jcc_3_387, *fp_jcc_4_387, *fp_jcc_5_387, *fp_jcc_6_387,
        *fp_jcc_7_387, *fp_jcc_8<MODEF>_387): Eliminate call to
        !ix86_use_fcomi_compare, change ix86_fp_jump_nontrivial_p call
        to !TARGET_CMOVE, change predicate to ix86_fp_comparison_operator.
        (related splits): Change predicate to ix86_fp_comparison_operator.
        * config/i386/predicates.md: Use ix86_trivial_fp_comparison_operator
        instead of ix86_fp_comparison_codes.
        (ix86_trivial_fp_comparison_operator,
        ix86_fp_comparison_operator): New.
        * config/i386/i386-protos.h (ix86_fp_comparison_strategy): New.
        (ix86_expand_compare): Eliminate last two parameters.
        (ix86_fp_jump_nontrivial_p): Kill.
        * config/i386/i386.c (put_condition_code): Eliminate call to
        ix86_fp_comparison_codes and subsequent assertion.
        (ix86_fp_comparison_codes): Eliminate.
        (ix86_fp_swap_condition): New.
        (ix86_fp_comparison_arithmetics_cost, ix86_fp_comparison_fcomi_cost,
        ix86_fp_comparison_sahf_cost, ix86_use_fcomi_compare): Consolidate
        into ix86_fp_comparison_cost and ix86_fp_comparison_strategy.
        (ix86_prepare_fp_compare_args): Use ix86_fp_comparison_strategy
        and ix86_fp_swap_condition.
        (ix86_expand_fp_compare): Eliminate code for second jump/bypass jump.
        Use ix86_fp_comparison_strategy.
        (ix86_expand_compare): Likewise.  Eliminate last two arguments.
        (ix86_fp_jump_nontrivial_p): Eliminate.
        (ix86_expand_branch): Treat SFmode/DFmode/XFmode as simple.  Adjust
        call to ix86_expand_compare.
        (ix86_split_fp_branch, ix86_expand_setcc,
        ix86_expand_carry_flag_compare, ix86_expand_int_movcc,
        ix86_expand_fp_movcc): Eliminate code for second jump/bypass jump.

From-SVN: r149035
2009-06-28 17:06:11 +00:00
Paolo Bonzini
accbd1518f arm.c (arm_final_prescan_ins): Eliminate code related to jump_clobbers.
2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * config/arm/arm.c (arm_final_prescan_ins): Eliminate code
        related to jump_clobbers.
        * config/arm/arm.md (conds): Remove jump_clob case.
        (addsi3_cbranch, addsi3_cbranch_scratch, subsi3_cbranch, two
        splits): Change comparison_operator to arm_comparison_operator.
        (*arm_buneq, *arm_bltgt, *arm_buneq_reversed, *arm_bltgt_reversed):
        Eliminate.

From-SVN: r149034
2009-06-28 17:04:13 +00:00
Paolo Bonzini
45475a3fb2 dojump.c (do_compare_rtx_and_jump): Try swapping the condition for floating point modes.
2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * dojump.c (do_compare_rtx_and_jump): Try swapping the
        condition for floating point modes.
        * expmed.c (emit_store_flag_1): Move here a bigger part
        of emit_store_flag.
        (emit_store_flag): Try swapping the condition for floating point
        modes.
        * optabs.c (emit_cmp_and_jump_insns): Cope with constant op0 better.

From-SVN: r149033
2009-06-28 17:03:03 +00:00
Paolo Bonzini
495499daea expr.c (expand_expr_real_1): Just use do_store_flag.
2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * expr.c (expand_expr_real_1): Just use do_store_flag.
        (do_store_flag): Drop support for TRUTH_NOT_EXPR.  Use
        emit_store_flag_force.
        * expmed.c (emit_store_flag_force): Copy here trick
        previously in expand_expr_real_1.  Try reversing the comparison.
        (emit_store_flag_1): Work if target is NULL.
        (emit_store_flag): Work if target is NULL, using the result mode
        from the comparison.  Use split_comparison, restructure final part
        to simplify conditionals.

From-SVN: r149032
2009-06-28 17:01:16 +00:00
Paolo Bonzini
337e5d984b builtins.c (expand_errno_check): Use do_compare_rtx_and_jump.
2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * builtins.c (expand_errno_check): Use do_compare_rtx_and_jump.
        * dojump.c (do_jump): Change handling of floating-point
        ops to use just do_compare_and_jump.
        (split_comparison): New.
        (do_compare_rtx_and_jump): Add here logic coming previously
        in do_jump, using split_comparison.

From-SVN: r149031
2009-06-28 16:53:18 +00:00
Kaveh R. Ghazi
7991661bc0 gfortran.h: Define HAVE_mpc_pow.
gcc/fortran:

	* gfortran.h: Define HAVE_mpc_pow.
	* arith.c (complex_reciprocal, complex_pow): If HAVE_mpc_pow,
	don't define these functions.
	(arith_power): If HAVE_mpc_pow, use mpc_pow.

gcc/testsuite:
	* gfortran.dg/integer_exponentiation_4.f90: Temporarily
	comment out some values and add some cases.

From-SVN: r149023
2009-06-28 06:06:28 +00:00
GCC Administrator
6f8b0efc7a Daily bump.
From-SVN: r149022
2009-06-28 00:16:36 +00:00
Laurent GUERBY
6ccbcf3293 tb-gcc.c (trace_callback): Add casts to silence warning.
2009-06-27  Laurent GUERBY  <laurent@guerby.net>

	* tb-gcc.c (trace_callback): Add casts to silence warning.

From-SVN: r149018
2009-06-27 20:48:40 +00:00
Eric Botcazou
463d9ac4d3 * tb-gcc.c: Fix copyright notice.
From-SVN: r149017
2009-06-27 19:44:23 +00:00
H.J. Lu
2ca57608ec re PR target/40489 (gcc.dg/builtin-unreachable-3.c doesn't work on ia64)
2009-06-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/40489
	* config/ia64/ia64.c (ia64_reorg): Check NULL insn.

From-SVN: r149014
2009-06-27 09:43:28 -07:00
Paolo Bonzini
8122ccf175 tree-ssa-alias.c: Fix unintentional commit.
2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

	* tree-ssa-alias.c: Fix unintentional commit.

From-SVN: r149013
2009-06-27 15:52:26 +00:00
Paolo Bonzini
b9cafe603a passes.c (execute_one_pass): Fix unintentional commit.
2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

	* passes.c (execute_one_pass): Fix unintentional commit.

From-SVN: r149012
2009-06-27 15:46:03 +00:00
Paolo Bonzini
4c78c26b80 df-problems.c (df_set_seen, [...]): Delete.
2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

        * df-problems.c (df_set_seen, df_unset_seen): Delete.
        (df_rd_local_compute, df_md_local_compute): Inline them.

        (df_md_scratch): New.
        (df_md_alloc, df_md_free): Allocate/free it.
        (df_md_local_compute): Only include live registers in init.
        (df_md_transfer_function): Prune the in-set computed by
        the confluence function, and the gen-set too.

From-SVN: r149011
2009-06-27 14:50:00 +00:00
Paolo Bonzini
c6741572cf re PR tree-optimization/26854 (Inordinate compile times on large routines)
2009-06-07  Paolo Bonzini  <bonzini@gnu.org>

	PR rtl-optimization/26854
        * timevar.def: Remove TV_DF_RU, add TV_DF_MD.
        * df-problems.c (df_rd_add_problem): Fix comment.
        (df_md_set_bb_info, df_md_free_bb_info, df_md_alloc,
        df_md_simulate_artificial_defs_at_top,
        df_md_simulate_one_insn, df_md_bb_local_compute_process_def,
        df_md_bb_local_compute, df_md_local_compute, df_md_reset,
        df_md_transfer_function, df_md_init, df_md_confluence_0,
        df_md_confluence_n, df_md_free, df_md_top_dump, df_md_bottom_dump,
        problem_MD, df_md_add_problem): New.
        * df.h (DF_MD, DF_MD_BB_INFO, struct df_md_bb_info, df_md,
        df_md_get_bb_info): New.
        DF_LAST_PROBLEM_PLUS1): Adjust.

        * Makefile.in (fwprop.o): Include domwalk.h.
        * fwprop.c: Include domwalk.h.
        (reg_defs, reg_defs_stack): New.
        (bitmap_only_bit_between): Remove.
        (process_defs): New.
        (process_uses): Use reg_defs and local_md instead of
        bitmap_only_bit_between and local_rd.
        (single_def_use_enter_block): New, from build_single_def_use_links.
        (single_def_use_leave_block): New.
        (build_single_def_use_links): Remove code moved to
        single_def_use_enter_block, invoke domwalk.
        (use_killed_between): Adjust comment.

From-SVN: r149010
2009-06-27 14:48:34 +00:00
Paolo Bonzini
7ff23740a3 bitmap.h (bitmap_ior_and_into): New.
2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

	* bitmap.h (bitmap_ior_and_into): New.
	* bitmap.c (bitmap_ior_and_into): New.

From-SVN: r149009
2009-06-27 14:46:56 +00:00
Paolo Bonzini
ccf5c864c9 domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and...
2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

        * domwalk.h (struct dom_walk_data): Remove all callbacks except
        before_dom_children_before_stmts and after_dom_children_after_stmts.
        Rename the two remaining callbacks to just before_dom_children and 
        after_dom_children. Remove other GIMPLE statement walking bits.
        * domwalk.c (walk_dominator_tree): Remove now unsupported features.
        * graphite.c: Do not include domwalk.h.
        * tree-into-ssa.c (interesting_blocks): New global.
        (struct mark_def_sites_global_data): Remove it and names_to_rename.
        (mark_def_sites, rewrite_stmt, rewrite_add_phi_arguments,
        rewrite_update_stmt, rewrite_update_phi_arguments): Simplify
        now that they're not domwalk callbacks.
        (rewrite_initialize_block): Rename to...
        (rewrite_enter_block): ... this, place after called functions.  Test
        interesting_blocks, call rewrite_stmt and rewrite_add_phi_arguments.
        (rewrite_finalize_block): Rename to...
        (rewrite_leave_block): ... this, place after called functions.
        (rewrite_update_init_block): Rename to...
        (rewrite_update_enter_block): ... this, place after called functions.
        Test interesting_blocks, call rewrite_update_stmt and 
        rewrite_update_phi_arguments.
        (rewrite_update_fini_block): Rename to...
        (rewrite_leave_block): ... this, place after called functions.
        (rewrite_blocks): Remove last argument, simplify initialization of
        walk_data.
        (mark_def_sites_initialize_block): Rename to...
        (mark_def_sites_block): ... this, call mark_def_sites.
        (mark_def_sites_blocks): Remove argument, simplify initialization of
        walk_data.
        (rewrite_into_ssa): Adjust for interesting_blocks_being a global.
        (update_ssa): Likewise.
        * tree-ssa-dom.c (optimize_stmt): Simplify now that it's not a domwalk
        callback.
        (tree_ssa_dominator_optimize): Simplify initialization of walk_data.
        (dom_opt_initialize_block): Rename to...
        (dom_opt_enter_block): ... this, place after called functions.  Walk
        statements here, inline propagate_to_outgoing_edges.
        (dom_opt_finalize_block): Rename to...
        (dom_opt_leave_block): ... this, place after called functions.
        * tree-ssa-dse.c (dse_optimize_stmt): Simplify now that it's not a
        domwalk callback.
        (dse_enter_block, dse_record_phi): New.
        (dse_record_phis): Delete.
        (dse_finalize_block): Rename to...
        (dse_leave_block): ... this.
        (tree_ssa_dse): Simplify initialization of walk_data.
        * tree-ssa-loop-im.c (determine_invariantness, move_computations):
        Adjust initialization of walk_data.
        * tree-ssa-loop-unswitch.c: Do not include domwalk.h.
        * tree-ssa-loop-phiopt.c (get_non_trapping):
        Adjust initialization of walk_data.
        * tree-ssa-loop-threadedge.c: Do not include domwalk.h.
        * tree-ssa-uncprop.c (uncprop_into_successor_phis): Simplify now that
        it's not a domwalk callback.
        (uncprop_initialize_block): Rename to...
        (dse_enter_block): ... this, call uncprop_into_successor_phis.
        (dse_finalize_block): Rename to...
        (dse_leave_block): ... this.
        (tree_ssa_uncprop): Simplify initialization of walk_data.
        * Makefile.in: Adjust dependencies.

From-SVN: r149008
2009-06-27 14:45:51 +00:00
Eric Botcazou
c6bd4220c9 init.c (__gnat_set_globals): Add prototype.
* init.c (__gnat_set_globals): Add prototype.
	* adaint.c (__gnat_binder_supports_auto_init): Likewise.
	(__gnat_sals_init_using_constructors): Likewise.
	* gcc-interface/utils.c (gnat_pushlevel): Likewise.
	(get_block_jmpbuf_decl): Likewise.
	(gnat_poplevel): Likewise.
	(merge_sizes): Rename local variable.
	(copy_type): Likewise.
	(build_vms_descriptor32): Likewise.
	(build_vms_descriptor): Likewise.
	(convert_vms_descriptor64): Likewise.
	(convert_vms_descriptor32): Likewise.
	(convert_to_fat_pointer): Likewise.
	(maybe_unconstrained_array): Likewise.
	(def_fn_type): Use promoted type with va_arg.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
	(substitute_in_type): Rename local variable.
	* gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.

From-SVN: r149007
2009-06-27 14:44:17 +00:00
Paolo Bonzini
92ec357043 re PR testsuite/40567 (Revision 149002 caused many failures)
2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

	PR testsuite/40567
	* gcc.dg/vect/vect.exp: Fix lappend syntax.

From-SVN: r149006
2009-06-27 14:40:29 +00:00
Richard Earnshaw
75d2803096 arm.md (casesi): Fix test for Thumb1.
* arm.md (casesi): Fix test for Thumb1.
	(thumb1_casesi_internal_pic): Likewise.
	(thumb1_casesi_dispatch): Likewise.

From-SVN: r149005
2009-06-27 11:15:04 +00:00
Eric Botcazou
91dc235226 Fix nits
From-SVN: r149004
2009-06-27 10:02:58 +00:00
Richard Henderson
c24aef95c7 re PR testsuite/40565 (Extra failures)
PR testsuite/40565
	* gcc.dg/vect/vect.exp: Add -fno-ipa-cp-clone to -O3 tests.
	* gcc.target/i386/local.c: Pass a non-constant to T.

From-SVN: r149002
2009-06-26 18:13:11 -07:00
GCC Administrator
81de09e123 Daily bump.
From-SVN: r148999
2009-06-27 00:16:50 +00:00
Janus Weil
fc9c6e5d64 re PR fortran/39997 (Procedure(), pointer & implicit typing: rejects-valid / accepts-invalid?)
2009-06-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39997
	PR fortran/40541
	* decl.c (add_hidden_procptr_result): Copy the typespec to the hidden
	result.
	* expr.c (gfc_check_pointer_assign): Enable interface check for
	procedure pointer assignments where the rhs is a function returning a
	procedure pointer.
	* resolve.c (resolve_symbol): If an external procedure with unspecified
	return type can not be implicitly typed, it must be a subroutine.


2009-06-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39997
	PR fortran/40541
	* gfortran.dg/proc_ptr_15.f90: Fixed and extended.
	* gfortran.dg/proc_ptr_common_1.f90: Fixed invalid test case.
	* gfortran.dg/proc_ptr_result_1.f90: Ditto.
	* gfortran.dg/proc_ptr_result_5.f90: New.

From-SVN: r148996
2009-06-27 00:11:15 +02:00
Daniel Gutson
9833720d3b arm-cores.def: Added core cortex-m0.
2009-06-26  Daniel Gutson  <dgutson@codesourcery.com>

	* config/arm/arm-cores.def: Added core cortex-m0.
	* config/arm/arm-tune.md: Regenerated.
	* doc/invoke.texi: Added entry for cpu ARM Cortex-M0.

From-SVN: r148987
2009-06-26 21:46:40 +00:00
DJ Delorie
bb7681bf86 mep.opt (mfar): Remove -mfar as it doesn't do anything.
* config/mep/mep.opt (mfar): Remove -mfar as it doesn't do anything.

* config/mep/mep.c (mep_bundle_insns): Account for the fact that
the scheduler doesn't tag jump insns.

From-SVN: r148986
2009-06-26 16:36:05 -04:00
H.J. Lu
a35120a3c6 c-decl.c (merge_decls): Re-indent.
2009-06-26  H.J. Lu  <hongjiu.lu@intel.com>

	* c-decl.c (merge_decls): Re-indent.

From-SVN: r148984
2009-06-26 12:05:22 -07:00
H.J. Lu
39ac02d7c9 decl.c (duplicate_decls): Re-indent.
2009-06-26  H.J. Lu  <hongjiu.lu@intel.com>

	* decl.c (duplicate_decls): Re-indent.

From-SVN: r148983
2009-06-26 11:52:29 -07:00
Janis Johnson
4b6e55df23 re PR c/39902 (x * 1.0DF gets wrong value)
PR c/39902
	* tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
	Special-case decimal float constants.

	* gcc.dg/dfp/pr39902.c: New test.

From-SVN: r148982
2009-06-26 18:27:30 +00:00
Richard Henderson
27dbd3ac30 function.h (struct function): Add cannot_be_copied_reason, and cannot_be_copied_set.
* function.h (struct function): Add cannot_be_copied_reason,
	and cannot_be_copied_set.
	* tree-inline.c (has_label_address_in_static_1): Rename from
	inline_forbidden_p_2; don't set inline_forbidden_reason here.
	(cannot_copy_type_1): Rename from inline_forbidden_p_op; likewise
	don't set inline_forbidden_reason.
	(copy_forbidden): New function, split out of inline_forbidden_p.
	(inline_forbidden_p_stmt): Don't check for nonlocal labels here.
	(inline_forbidden_p): Use copy_forbidden.
	(tree_versionable_function_p): Likewise.
	(inlinable_function_p): Merge into tree_inlinable_function_p.
	(tree_function_versioning): Remap cfun->nonlocal_goto_save_area.
	* ipa-cp.c (ipcp_versionable_function_p): New function.
	(ipcp_cloning_candidate_p): Use it.
	(ipcp_node_modifiable_p): Likewise.

From-SVN: r148981
2009-06-26 11:23:32 -07:00
Olatunji Ruwase
efb303b1e8 builtins.c (expand_builtin_alloca): Handle builtin alloca that is marked not to be inlined.
* builtins.c (expand_builtin_alloca): Handle builtin alloca
	that is marked not to be inlined. Remove flag_mudflap use.
	* tree-mudflap.c: Rename mf_xform_derefs to mf_xfrom_statements.
	(mf_xform_statements): Mark builtin alloca calls as un-inlineable.

From-SVN: r148980
2009-06-26 11:10:03 -07:00
Steve Ellcey
947e21c1fb re PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc objects)
2009-06-26  Steve Ellcey  <sje@cup.hp.com>

	PR bootstrap/40338
	* config/pa/t-pa-hpux10 (TARGET_LIBGCC2_CFLAGS): Add -frandom-seed.
	* config/pa/t-pa-hpux11 (TARGET_LIBGCC2_CFLAGS): Ditto.

From-SVN: r148979
2009-06-26 17:30:55 +00:00
Steve Ellcey
f2689b094a re PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc objects)
2009-06-26  Steve Ellcey  <sje@cup.hp.com>

	PR bootstrap/40338
	* configure.ac (comparestring): Create new variable.
	* Makefile.tpl (comparestring): Use to skip some comparisions.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r148978
2009-06-26 17:28:40 +00:00
Doug Evans
f62c0ba4a7 changelog for:
* Makefile.def (host_modules): Add cgen.
	* Makefile.in: Regenerate.
	* configure.ac (host_tools): Add cgen.
	* configure: Regenerate.

From-SVN: r148977
2009-06-26 17:12:35 +00:00
Doug Evans
8c32c9f0d0 Makefile.def (host_modules): Add cgen.
* Makefile.def (host_modules): Add cgen.
	* Makefile.in: Regenerate.
	* configure.ac (host_tools): Add cgen.
	* configure: Regenerate.

From-SVN: r148976
2009-06-26 17:11:35 +00:00
Laurent GUERBY
6bf68a93f6 tb-gcc.c (trace_callback): Use char* instead of void*.
2009-06-26  Laurent GUERBY  <laurent@guerby.net>

	* tb-gcc.c (trace_callback): Use char* instead of void*.
	* gcc-interface/misc.c (enumerate_modes): Make loop compatible
	with C++.
	* gcc-interface/trans.c (parm_attr): Rename to parm_attr_d. 
	Change all uses.
	* gcc-interface/utils.c (new, class, template): Rename to be
	compatible with C++. Change all uses.
	* gcc-interface/decl.c (new): Likewise.

From-SVN: r148975
2009-06-26 17:06:52 +00:00
Kai Tietz
bae4cf874e mingw-tls.c (__mingwthr_key_dtor): Remove for none shared libgcc.
2009-06-26  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/mingw-tls.c (__mingwthr_key_dtor): Remove for none
        shared libgcc.
        (__mingwthr_remove_key_dtor): Likewise.

From-SVN: r148971
2009-06-26 15:39:36 +02:00
Richard Guenther
46aaa41703 tree-ssa-structalias.c (do_ds_constraint): Simplify escape handling.
2009-06-26  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (do_ds_constraint): Simplify escape
	handling.

From-SVN: r148968
2009-06-26 12:25:32 +00:00
Uros Bizjak
f94bdf2b18 re PR testsuite/40532 (FAIL: gcc.dg/builtins-65.c (test for excess errors))
PR testsuite/40532
	* gcc.dg/builtins-65.c: Require c99 runtime.

From-SVN: r148967
2009-06-26 11:02:04 +02:00
Eric Botcazou
f45f9664dc decl.c (cannot_be_superflat_p): New predicate.
* gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
	(gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
	of the upper bound of the index types.

From-SVN: r148966
2009-06-26 08:54:26 +00:00
Eric Botcazou
bcade3954a Fix oversight
From-SVN: r148965
2009-06-26 08:41:59 +00:00
Eric Botcazou
c0e1e1087b decl.c (gnat_to_gnu_entity): Factor out common predicate.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
	out common predicate.  Use the maximum to compute the upper bound of
	the index type only when it is not wider than sizetype.  Perform the
	comparison in the index type for the generic expression.  Use real
	precision to decide whether to generate special types for debugging
	information.

From-SVN: r148964
2009-06-26 08:38:38 +00:00
Arnaud Charlet
ffa5876ff3 [multiple changes]
2009-06-26  Matthew Gingell  <gingell@adacore.com>

	* adaint.c: Do not use the dummy version of convert_addresses on LynxOS

2009-06-26  Vincent Celier  <celier@adacore.com>

	* prj.ads (No_Language_Config): Value of Dependency_Kind is None by
	default.

2009-06-26  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting

From-SVN: r148963
2009-06-26 10:33:56 +02:00
Eric Botcazou
4e6602a879 decl.c (gnat_to_gnu_entity): Pass correct arguments to create_field_decl.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
	correct arguments to create_field_decl.  Remove redundant iteration.
	Rewrite computation of the maximum size.
	<E_Array_Subtype>: Reorder and simplify handling of special cases.
	Rewrite computation of the maximum size.  Use consistent naming.
	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
	comparison order for consistency.  Use generic integer node to
	build the operator and fold the result.

From-SVN: r148962
2009-06-26 08:05:31 +00:00
Steven Bosscher
b3c54c8f55 re PR middle-end/40525 (if conversion (in dead_or_predicable) fails for targets with limited conditional execution support)
PR middle-end/40525
	* ifcvt.c (dead_or_predicable): If predicating MERGE_BB fails,
	try the non-cond_exec path also.

From-SVN: r148961
2009-06-26 06:06:04 +00:00