1. 31 Mar, 2009 7 commits
  2. 30 Mar, 2009 32 commits
    • tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX. · a203a221
      
      	* tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX.
      	(tree_remove_unreachable_handlers): Cleanup EH predecestor detection and label
      	handling.
      
      From-SVN: r145322
      Jan Hubicka committed
    • hashtable.h (clear): Return quickly if the table is empty. · 7db6438d
      	* include/backward/hashtable.h (clear): Return quickly if the
      	table is empty.
      
      From-SVN: r145318
      Ian Lance Taylor committed
    • re PR preprocessor/31932 (cpp -f*-charset and gcj --encoding accept no values except UTF-8) · 5a2df0fa
      2009-03-30  Sergiy Vyshnevetskiy  <serg@vostok.net>
      
      	PR preprocessor/31932:
      	* internal.h: Don't mention HAVE_ICONV_H.
      	* configure, config.in: Rebuild.
      	* configure.ac: Don't check for iconv.h.
      
      From-SVN: r145316
      Sergiy Vyshnevetskiy committed
    • re PR fortran/22571 (Reject derived types for dummy arguments declared in the… · 71a7778c
      re PR fortran/22571 (Reject derived types for dummy arguments declared in the subroutine unless they are SEQUENCE)
      
      2009-03-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/22571
      	PR fortran/26227
      	PR fortran/24886
      	* symbol.c : Add gfc_global_ns_list.
      	* decl.c (add_global_entry): Set the namespace ('ns') field.
      	* gfortran.h : Add the resolved field to gfc_namespace. Add the
      	namespace ('ns') field to gfc_gsymbol.  Add flag_whole_file to
      	gfc_option_t.  Add the prototype for gfc_free_dt_list.
      	* lang.opt : Add the whole-file option.
      	* invoke.texi : Document the whole-file option.
      	* resolve.c (resolve_global_procedure): If the fwhole-file
      	option is set, reorder gsymbols to ensure that translation is
      	in the right order.  Resolve the gsymbol's namespace if that
      	has not occurred and then check interfaces.
      	(resolve_function): Move call to resolve_global_procedure.
      	(resolve_call): The same.
      	(resolve_codes): Store the current labels_obstack.
      	(gfc_resolve) : Return if the namespace is already resolved.
      	trans-decl.c (gfc_get_extern_function_decl): If the whole_file
      	option is selected, use the backend_decl of a gsymbol, if it is
      	available.
      	parse.c (add_global_procedure, add_global_program): If the flag
      	whole-file is set, add the namespace to the gsymbol.
      	(gfc_parse_file): On -fwhole-file, put procedure namespaces on
      	the global namespace list.  Rearrange to do resolution of all
      	the procedures in a file, followed by their translation.
      	* options.c (gfc_init_options): Add -fwhole-file.
      	(gfc_handle_option): The same.
      
      2009-03-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/22571
      	* gfortran.dg/whole_file_1.f90: New test.
      	PR fortran/26227
      	* gfortran.dg/whole_file_2.f90: New test.
      	* gfortran.dg/whole_file_3.f90: New test.
      	PR fortran/24886
      	* gfortran.dg/whole_file_4.f90: New test.
      
      From-SVN: r145314
      Paul Thomas committed
    • ira-int.h (ira_allocno): Rename left_conflicts_num to left_conflicts_size. · 5b0c0b2c
      2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-int.h (ira_allocno): Rename left_conflicts_num to
      	left_conflicts_size.
      	(ALLOCNO_LEFT_CONFLICTS_NUM): Rename to
      	ALLOCNO_LEFT_CONFLICTS_SIZE.
      
      	* ira-color.c (allocno_spill_priority, push_allocno_to_stack,
      	remove_allocno_from_bucket_and_push,
      	allocno_spill_priority_compare, push_allocnos_to_stack,
      	setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE
      	instead of ALLOCNO_LEFT_CONFLICTS_NUM.
      	(setup_allocno_left_conflicts_num): Ditto.  Rename to
      	setup_allocno_left_conflicts_size.
      	(put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE
      	instead of ALLOCNO_LEFT_CONFLICTS_NUM and
      	setup_allocno_left_conflicts_size instead of
      	setup_allocno_left_conflicts_num.
      
      	* ira-build.c (ira_create_allocno): Use
      	ALLOCNO_LEFT_CONFLICTS_SIZE instead of
      	ALLOCNO_LEFT_CONFLICTS_NUM.
      
      From-SVN: r145312
      Vladimir Makarov committed
    • reload.c (push_reload, [...]): Use df_get_live_out instead of DF_LR_OUT. · 9a48a93f
      2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* reload.c (push_reload, find_dummy_reload): Use df_get_live_out
      	instead of DF_LR_OUT.
      
      	* ira-lives.c (process_bb_node_lives): Ditto.
      
      	* ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in}
      	instead of DF_LR_{OUT,IN}.
      
      	* ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto.
      
      	* ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto.
      
      From-SVN: r145309
      Vladimir Makarov committed
    • f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL family of… · f6d53468
      f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL family of intrinsics instead of BUILT_IN_INF family.
      
      	* f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
      	family of intrinsics instead of BUILT_IN_INF family.
      	* trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
      	BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
      
      From-SVN: r145307
      Ulrich Weigand committed
    • * except.c (label_to_region_map): Fix thinko. · 4c936d4f
      From-SVN: r145304
      Jan Hubicka committed
    • re PR middle-end/38237 (multiple weak directives) · f4d9f129
      	PR middle-end/38237
      	* tree.h (tree_find_value): New declaration.
      	* tree.c (tree_find_value): New function.
      	* varasm.c (assemble_external): Avoid duplicate entries on lists.
      
      From-SVN: r145303
      Steve Ellcey committed
    • * update_version_svn (IGNORE_BRANCHES): Add 4.2 branch. · be21df03
      From-SVN: r145301
      Joseph Myers committed
    • re PR preprocessor/39512 (linemap_init in lex.c does not initialize reallocator) · c1a8a3c6
      	PR preprocessor/39512:
      	* line-map.c (linemap_init): Initialize 'reallocator' field.
      
      From-SVN: r145300
      Tom Tromey committed
    • re PR target/39558 (Bad interaction of decls named 'vector' and -maltivec vector support) · a37a7b8a
      	PR target/39558
      	* macro.c (cpp_get_token): If macro_to_expand returns NULL
      	and used some tokens, add CPP_PADDING before next token.
      
      	* gcc.target/powerpc/altivec-29.c: New test.
      
      From-SVN: r145297
      Jakub Jelinek committed
    • trans-types.c (gfc_sym_type, [...]): For sym->attr.result check sym->ns->proc_name->attr.is_bind_c. · 665733c1
      	* trans-types.c (gfc_sym_type, gfc_return_by_reference): For
      	sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
      
      	* gfortran.dg/bind_c_usage_19.f90: New test.
      
      From-SVN: r145294
      Jakub Jelinek committed
    • re PR debug/39563 (C block scopes have no DW_TAG_lexical_block) · b3f27c15
      	PR debug/39563
      	* c-decl.c (struct c_binding): Add locus field.
      	(bind): Add locus argument, set locus field from it.
      	(pop_scope): For b->nested VAR_DECL or FUNCTION_DECL,
      	add a DECL_EXTERNAL copy of b->decl to current BLOCK_VARS.
      	(push_file_scope, pushtag, pushdecl, pushdecl_top_level,
      	implicitly_declare, undeclared_variable, lookup_label,
      	declare_label, c_make_fname_decl, c_builtin_function,
      	c_builtin_function_ext_scope, store_parm_decls_newstyle): Adjust
      	bind callers.
      
      From-SVN: r145293
      Jakub Jelinek committed
    • re PR target/38781 (PR38151: valgrind finds problem) · 680e8a00
      2008-03-30  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/38781
      	* config/i386/i386.c (classify_argument): Check total size of
      	structure.
      
      From-SVN: r145292
      H.J. Lu committed
    • ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN... · 133f9369
      2009-03-30  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN, IPA_CONST,
      	IPA_CONST_MEMBER_PTR, and IPA_PASS_THROUGH to IPA_JF_UNKNOWN,
      	IPA_JF_CONST, IPA_JF_CONST_MEMBER_PTR, and IPA_JF_PASS_THROUGH
      	respectively.
      
      	* tree-dfa.c (get_ref_base_and_extent): Return -1 maxsize if
      	seen_variable_array_ref while also traversing a union.
      
      	* tree-inline.c (optimize_inline_calls): Do not call
      	cgraph_node_remove_callees.
      	* cgraphbuild.c (remove_cgraph_callee_edges): New function.
      	(pass_remove_cgraph_callee_edges): New variable.
      	* passes.c (init_optimization_passes): Add
      	pass_remove_cgraph_callee_edges after early inlining and before all
      	late intraprocedural passes.
      
      	* omp-low.c (expand_omp_taskreg): Always set current_function_decl.
      
      From-SVN: r145291
      Martin Jambor committed
    • re PR bootstrap/39583 (Revision 145255 breaks bootstrap with obj-c++) · 77a08224
      2009-03-30  Dominique d'Humieres  <dominiq@lps.ens.fr>
      
      	PR bootstrap/39583
      	* objc-act.c (in_late_binary_op): Define for Objective-C++.
      
      From-SVN: r145290
      Dominique d'Humieres committed
    • Fix formatting · d7be99f1
      From-SVN: r145289
      Eric Botcazou committed
    • sparc.md (*nand<V64mode>_vis, [...]): Fix typos in names. · 1190f2eb
      2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
      
      	* config/sparc/sparc.md (*nand<V64mode>_vis, *nand<V32mode>_vis):
      	Fix typos in names.
      
      From-SVN: r145288
      Paolo Bonzini committed
    • decl.c (maybe_pad_type): Use TREE_OVERFLOW instead of TREE_CONSTANT_OVERFLOW. · bd9f68e0
      2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
      
              * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW
      	instead of TREE_CONSTANT_OVERFLOW.
      
      From-SVN: r145287
      Paolo Bonzini committed
    • combine.c (simplify_comparison): Use have_insn_for. · fedc1775
      2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
      
              * combine.c (simplify_comparison): Use have_insn_for.
              * dojump.c (do_jump): Likewise.
      
      From-SVN: r145285
      Paolo Bonzini committed
    • sparc.c (sparc_compare_emitted): Remove. · 65c5ae8b
      2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
      
      	* config/sparc/sparc.c (sparc_compare_emitted): Remove.
      	(gen_compare_reg, emit_v9_brxx_insn): Handle MODE_CC
      	sparc_compare_op0 like sparc_compare_emitted used to be handled.
      	(sparc_expand_compare_and_swap_12): Set sparc_compare_op0
      	instead of sparc_compare_emitted.
      	* config/sparc/sparc.h (sparc_compare_emitted): Remove.
      	* config/sparc/sparc.md (stack_protect_test): Set sparc_compare_op0
      	instead of sparc_compare_emitted.
      
      From-SVN: r145284
      Paolo Bonzini committed
    • bb-reorder.c (partition_hot_cold_basic_blocks): Do not enter/exit cfglayout mode. · d25aa7ab
      2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
      
      	* bb-reorder.c (partition_hot_cold_basic_blocks): Do not
      	enter/exit cfglayout mode.
      	(pass_partition_block): Require it.
      	* combine.c (find_single_use, reg_dead_at_p): Use CFG.
      	(combine_instructions): Track basic blocks instead of labels.
      	(update_cfg_for_uncondjump): New.
      	(try_combine): Use it.  Update jumps after rescanning.
      	(pass_combine): Require PROP_cfglayout.
      	* passes.c (pass_outof_cfg_layout_mode): Move after regmove.
      
      From-SVN: r145283
      Paolo Bonzini committed
    • cfglayout.c (pass_into_cfg_layout_mode, [...]): Provide/destroy PROP_cfglayout respectively. · 9c9e26f5
      2009-03-09  Paolo Bonzini  <bonzini@gnu.org>
      
              * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode):
              Provide/destroy PROP_cfglayout respectively.
              * gcse.c (pass_jump_bypass, pass_gcse): Require it.
              * tree-pass.h (PROP_cfglayout): New.
      
      From-SVN: r145282
      Paolo Bonzini committed
    • fold-const.c (const_binop, [...]): Do not set TREE_CONSTANT_OVERFLOW. · 28ddeea1
      2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
      
              * fold-const.c (const_binop, fold_convert_const_real_from_fixed,
              fold_convert_const_fixed_from_fixed,
              fold_convert_const_fixed_from_int,
              fold_convert_const_fixed_from_real, fold_negate_const): Do not
              set TREE_CONSTANT_OVERFLOW.
              * tree.def: Remove mention of TREE_CONSTANT_OVERFLOW.
              * tree.h (TREE_CONSTANT_OVERFLOW): Delete.
      
      From-SVN: r145281
      Paolo Bonzini committed
    • tree-vect-loop-manip.c: New file. · ebfd146a
      	* tree-vect-loop-manip.c: New file.
      	* tree-vectorizer.c: Update documentation and included files.
      	(vect_loop_location): Make extern.
      	(rename_use_op): Move to tree-vect-loop-manip.c
      	(rename_variables_in_bb, rename_variables_in_loop, 
      	slpeel_update_phis_for_duplicate_loop, 
      	slpeel_update_phi_nodes_for_guard1,
      	slpeel_update_phi_nodes_for_guard2, slpeel_make_loop_iterate_ntimes,
      	slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_add_loop_guard,
      	slpeel_can_duplicate_loop_p, slpeel_verify_cfg_after_peeling,
      	set_prologue_iterations, slpeel_tree_peel_loop_to_edge, 
      	find_loop_location): Likewise.
      	(new_stmt_vec_info): Move to tree-vect-stmts.c.
      	(init_stmt_vec_info_vec, free_stmt_vec_info_vec, free_stmt_vec_info,
      	get_vectype_for_scalar_type, vect_is_simple_use,
      	supportable_widening_operation, supportable_narrowing_operation):
      	Likewise.
      	(bb_in_loop_p): Move to tree-vect-loop.c.
      	(new_loop_vec_info, destroy_loop_vec_info, 
      	reduction_code_for_scalar_code, report_vect_op, 
      	vect_is_simple_reduction, vect_is_simple_iv_evolution): Likewise.
      	(vect_can_force_dr_alignment_p): Move to tree-vect-data-refs.c.
      	(vect_supportable_dr_alignment): Likewise.
      	* tree-vectorizer.h (tree-data-ref.h): Include.
      	(vect_loop_location): Declare.
      	Reorganize function declarations according to the new file structure.
      	* tree-vect-loop.c: New file.
      	* tree-vect-analyze.c: Remove. Move functions to tree-vect-data-refs.c, 
      	tree-vect-stmts.c, tree-vect-slp.c, tree-vect-loop.c.
      	* tree-vect-data-refs.c: New file.
      	* tree-vect-patterns.c (timevar.h): Don't include.
      	* tree-vect-stmts.c: New file.
      	* tree-vect-transform.c: Remove. Move functions to tree-vect-stmts.c, 
      	tree-vect-slp.c, tree-vect-loop.c.
      	* Makefile.in (OBJS-common): Remove tree-vect-analyze.o and 
      	tree-vect-transform.o. Add tree-vect-data-refs.o, tree-vect-stmts.o, 
      	tree-vect-loop.o, tree-vect-loop-manip.o, tree-vect-slp.o.
      	(tree-vect-analyze.o): Remove.
      	(tree-vect-transform.o): Likewise.
      	(tree-vect-data-refs.o): Add rule.
      	(tree-vect-stmts.o, tree-vect-loop.o, tree-vect-loop-manip.o, 
      	tree-vect-slp.o): Likewise.
      	(tree-vect-patterns.o): Remove redundant dependencies.
      	(tree-vectorizer.o): Likewise.
      	* tree-vect-slp.c: New file.
      
      From-SVN: r145280
      Ira Rosen committed
    • optc-gen.awk: Warn if an option flag has multiple different help strings. · 40a1cfba
      gcc/
      	* optc-gen.awk: Warn if an option flag has multiple different
      	help strings.
      
      From-SVN: r145278
      Ralf Wildenhues committed
    • Merge botch fixed. · 7bd36a9c
      	* decNumber.c, decNumber.h, decNumberLocal.h, decDouble.c,
      	decDouble.h, decSingle.c, decContext.c, decSingle.h, decPacked.c,
      	decCommon.c, decContext.h, decQuad.c, decPacked.h, decQuad.h,
      	decDPD.h, decBasic.c: Upgrade to decNumber 3.61.
      	* dpd/decimal128.h, dpd/decimal32.c, dpd/decimal32.h,
      	dpd/decimal64.c, dpd/decimal128.c, dpd/decimal64.h: Likewise.
      
      From-SVN: r145274
      Ben Elliston committed
    • invoke.texi (-floop-interchange, [...]): Document dependences on PPL, CLooG and Graphite. · a9a7a9a2
      2009-03-30  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* doc/invoke.texi (-floop-interchange, -floop-strip-mine,
      	-floop-block): Document dependences on PPL, CLooG and Graphite.
      
      From-SVN: r145273
      Sebastian Pop committed
    • re PR middle-end/323 (optimized code gives strange floating point results) · 8ce94e44
      	PR rtl-optimization/323
      	* c-common.c (c_fully_fold, convert_and_check,
      	c_common_truthvalue_conversion): Handle EXCESS_PRECISION_EXPR.
      	(c_fully_fold_internal): Disallow EXCESS_PRECISION_EXPR.
      	* c-common.def (EXCESS_PRECISION_EXPR): New.
      	* c-cppbuiltin.c (builtin_define_float_constants): Define
      	constants with enough digits for long double.
      	* c-lex.c (interpret_float): Interpret constant with excess
      	precision where appropriate.
      	* c-opts.c (c_common_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for C++ for processors where the
      	option is significant.
      	* c-parser.c (c_parser_conditional_expression): Handle excess
      	precision in condition.
      	* c-typeck.c (convert_arguments): Handle arguments with excess
      	precision.
      	(build_unary_op): Move excess precision outside operation.
      	(build_conditional_expr): Likewise.
      	(build_compound_expr): Likewise.
      	(build_c_cast): Do cast on operand of EXCESS_PRECISION_EXPR.
      	(build_modify_expr): Handle excess precision in RHS.
      	(convert_for_assignment): Handle excess precision in converted
      	value.
      	(digest_init, output_init_element, process_init_element): Handle
      	excess precision in initializer.
      	(c_finish_return): Handle excess precision in return value.
      	(build_binary_op): Handle excess precision in operands and add
      	excess precision as needed for operation.
      	* common.opt (-fexcess-precision=): New option.
      	* config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): New.
      	* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
      	For standard excess precision, output explicit conversion to and
      	truncation from XFmode.
      	(*float<SSEMODEI24:mode><X87MODEF:mode>2_1,
      	*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp,
      	*float<SSEMODEI24:mode><X87MODEF:mode>2_i387, two unnamed
      	define_splits, floatdi<X87MODEF:mode>2_i387_with_xmm, two unnamed
      	define_splits, *floatunssi<mode>2_1, two unnamed define_splits,
      	floatunssi<mode>2, add<mode>3, sub<mode>3, mul<mode>3, divdf3,
      	divsf3, *fop_<mode>_comm_i387, *fop_<mode>_1_i387,
      	*fop_<MODEF:mode>_2_i387, *fop_<MODEF:mode>_3_i387,
      	*fop_df_4_i387, *fop_df_5_i387, *fop_df_6_i387, two unnamed
      	define_splits, sqrt<mode>2): Disable where appropriate for
      	standard excess precision.
      	* convert.c (convert_to_real): Do not shorten arithmetic to type
      	for which excess precision would be used.
      	* defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Define.
      	* doc/invoke.texi (-fexcess-precision=): Document option.
      	(-mfpmath=): Correct index entry.
      	* flags.h (enum excess_precision, flag_excess_precision_cmdline,
      	flag_excess_precision): New.
      	* langhooks.c (lhd_post_options): Set
      	flag_excess_precision_cmdline.
      	* opts.c (common_handle_option): Handle -fexcess-precision=.
      	* toplev.c (flag_excess_precision_cmdline, flag_excess_precision,
      	init_excess_precision): New.
      	(lang_dependent_init_target): Call init_excess_precision.
      	* tree.c (excess_precision_type): New.
      	* tree.h (excess_precision_type): Declare.
      
      ada:
      	* gcc-interface/misc.c (gnat_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for processors where the option is
      	significant.
      
      fortran:
      	* options.c (gfc_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for processors where the option is
      	significant.
      
      java:
      	* lang.c (java_post_options): Set flag_excess_precision_cmdline.
      	Give an error for -fexcess-precision=standard for processors where
      	the option is significant.
      
      testsuite:
      	* gcc.target/i386/excess-precision-1.c,
      	gcc.target/i386/excess-precision-2.c,
      	gcc.target/i386/excess-precision-3.c,
      	gcc.target/i386/excess-precision-4.c,
      	gcc.target/i386/excess-precision-5.c,
      	gcc.target/i386/excess-precision-6.c: New tests.
      
      From-SVN: r145272
      Joseph Myers committed
    • re PR c/35235 (struct/union rvalue qualifiers must not propagate to members) · 1e57bf47
      	PR c/35235
      	* c-typeck.c (build_component_ref): Do not copy qualifiers from
      	non-lvalue to component.
      
      testsuite:
      	* gcc.dg/c99-array-lval-8.c: New test.
      
      From-SVN: r145271
      Joseph Myers committed
    • Daily bump. · 25d4deb1
      From-SVN: r145268
      GCC Administrator committed
  3. 29 Mar, 2009 1 commit