1. 29 Mar, 2009 14 commits
    • regmove.c (perhaps_ends_bb_p): Remove. · 0340f2ba
      	* regmove.c (perhaps_ends_bb_p): Remove.
      	(optimize_reg_copy_1): Don't call perhaps_ends_bb_p.  Get basic block
      	from INSN and check that the main loop stays within that basic block.
      	(optimize_reg_copy_1, optimize_reg_copy_3, fixup_match_2): Likewise.
      	(regmove_forward_pass): Split out from regmove_optimize.  Use
      	FOR_EACH_BB and FOR_BB_INSNS instead of traversing the insns stream.
      	(regmove_backward_pass): Split out from regmove_optimize.  Use
      	FOR_EACH_BB_REVERSE and FOR_BB_INSNS_REVERS_SAFE.
      	(regmove_optimize): Simplify.
      
      From-SVN: r145247
      Steven Bosscher committed
    • re PR fortran/38507 (Bogus Warning: Deleted feature: GOTO jumps to END of construct) · d80c695f
      fortran/
      PR fortran/38507
      * gfortran.h (gfc_st_label): Fix comment.
      (gfc_exec_op): Add statement code EXEC_END_BLOCK for end of block.
      * parse.c (accept_statement): Use EXEC_END_BLOCK for END IF and
      END SELECT with labels.
      (check_do_closure): Fix formatting.
      (parse_do_block): Fix typo in error message.
      * resolve.c (code_stack): Remove tail member.  Update comment to
      new use of reachable_labels.
      (reachable_labels): Rename to ...
      (find_reachable_labels): ... this.  Overhaul.  Update preceding
      comment.
      (resolve_branch): Fix comment preceding function.  Rewrite.
      (resolve_code): Update call to find_reachable_labels.  Add code to
      deal with EXEC_END_BLOCK.
      * st.c (gfc_free_statement): Add code to deal with EXEC_END_BLOCK.
      * trans.c (gfc_trans_code): Likewise.
      testsuite/
      * do_4.f: New.
      * goto_2.f90: Correct expected warnings.
      * goto_4.f90: Likewise.
      * goto_5.f90: New.
      
      From-SVN: r145245
      Tobias Schlüter committed
    • re PR target/39545 (Structures with flexible array member passed/returned incorrectly) · eeae74a1
      gcc/
      
      2009-03-29  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/39545
      	* config/i386/i386.c (classify_argument): Ignore flexible array
      	member in struct and warn ABI change.
      
      gcc/testsuite/
      
      2009-03-29  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/39545
      	* gcc.c-torture/compile/pr16566-2.c: Add -Wno-psabi for x86-64.
      
      	* gcc.target/i386/pr39545-1.c: New.
      	* gcc.target/i386/pr39545-2.c: Likewise.
      
      	* gcc.target/x86_64/abi/test_passing_structs.c (flex1_struct): New.
      	(flex2_struct): Likewise.
      	(check_struct_passing7): Likewise.
      	(check_struct_passing8): Likewise.
      	(f1s): Likewise.
      	(f2s): Likewise.
      	(main): Call check_struct_passing7 and check_struct_passing8.
      
      From-SVN: r145237
      H.J. Lu committed
    • i386-protos.h (ix86_agi_dependent): New. · a24078b2
      2009-03-29  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386-protos.h (ix86_agi_dependent): New.
      
      	* config/i386/i386.c (ix86_agi_dependent): Rewrite.
      	(ix86_adjust_cost): Updated.
      
      From-SVN: r145235
      H.J. Lu committed
    • 20090113-1.c: New testcase. · 3379ae7f
      2009-03-29  Richard Guenther  <rguenther@suse.de>
      
      	* gcc.c-torture/execute/20090113-1.c: New testcase.
      	* gcc.c-torture/execute/20090113-2.c: Likewise.
      	* gcc.c-torture/execute/20090113-3.c: Likewise.
      	* gcc.c-torture/execute/20090207-1.c: Likewise.
      	* gcc.c-torture/compile/20090114-1.c: Likewise.
      	* gcc.c-torture/compile/20090328-1.c: Likewise.
      	* gcc.dg/noncompile/920507-1.c: Fix out-of-bounds array access.
      
      From-SVN: r145234
      Richard Guenther committed
    • re PR tree-optimization/28850 (missed call -> jmp transformation; redundant… · a8da523f
      re PR tree-optimization/28850 (missed call -> jmp transformation; redundant unwind stuff with empty finally)
      
      
      	PR middle-end/28850
      	* tree-pass.h (pass_cleanup_eh): New function.
      	(remove_unreachable_regions): Break code handling RTL
      	to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW
      	that can not be reached by runtime.
      	(can_be_reached_by_runtime): New function.
      	(label_to_region_map): New function.
      	(num_eh_regions): New function.
      	(rtl_remove_unreachable_regions): New function.
      	(convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions.
      	(remove_eh_region): New function.
      	* except.h: Include sbitmap and vecprim.
      	(remove_eh_region, remove_unreachable_regions, label_to_region_map,
      	num_eh_regions): Declare.
      	* passes.c (init_optimization_passes): Schedule cleanup_eh.
      	* Makefile.in (EXCEPT_H): New; replace all uses of except.h
      	by it.
      	* tree-eh.c (tree_remove_unreachable_handlers): New function.
      	(tree_empty_eh_handler_p): New function.
      	(cleanup_empty_eh): New function.
      	(cleanup_eh): New function.
      	(pass_cleanup_eh): New function.
      
      From-SVN: r145233
      Jan Hubicka committed
    • except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready for removed regions. · 98f358e5
      	* except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready
      	for removed regions.
      
      From-SVN: r145232
      Jan Hubicka committed
    • * except.c (dump_eh_tree): Dump all datastructures. · 13a9fa44
      From-SVN: r145231
      Jan Hubicka committed
    • except.c (duplicate_eh_regions_0): Handle AKA bitmap. · e38cf733
      	* except.c (duplicate_eh_regions_0): Handle AKA bitmap.
      	(duplicate_eh_regions_1): Likewise.
      	(duplicate_eh_regions): Likewise; cleanup code gorwing the region
      	vector; call EH verification.
      	(foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
      	Be ready for region being removed.
      
      From-SVN: r145230
      Jan Hubicka committed
    • bitmap.c (bitmap_last_set_bit): New function. · 12802c2b
      	* bitmap.c (bitmap_last_set_bit): New function.
      	* bitmap.h (bitmap_last_set_bit): Declare.
      
      From-SVN: r145229
      Jan Hubicka committed
    • re PR objc/27377 (false compiler warnings generated in Objective-C code) · 4ea80a41
      gcc/
      2009-03-00  David Ayers  <ayers@fsfe.org>
      
      	PR objc/27377
      	* c-typeck.c (build_conditional_expr): Emit ObjC warnings
      	by calling objc_compare_types and surpress warnings about
      	incompatible C pointers that are compatible ObjC pointers.
      	
      testsuite/
      2009-03-00  David Ayers  <ayers@fsfe.org>
      
      	PR objc/27377
      	* objc.dg/conditional-1.m: New tests.
      
      From-SVN: r145225
      David Ayers committed
    • decNumber.c, [...]: Upgrade to decNumber 3.61. · f988ec96
      	* 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: r145222
      Ben Elliston committed
    • Daily bump. · 7cdc1972
      From-SVN: r145219
      GCC Administrator committed
    • cgraphbuild.c (build_cgraph_edges, [...]): Don't call initialize_inline_failed. · 3dc9eaa6
      	* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Don't
      	call initialize_inline_failed.
      	(initialize_inline_failed): Move it from here ...
      	* cgraph.c (initialize_inline_failed): ... to here.
      	(cgraph_create_edge): Call initialize_inline_failed rather than
      	setting inline_failed directly.
      
      testsuite/
      	* gcc.dg/winline-10.c: New test.
      
      From-SVN: r145215
      Adam Nemet committed
  2. 28 Mar, 2009 26 commits
    • re PR target/32542 (When -msdata is set, gcc sent -memb to gas.) · 7fb0ee07
      	PR target/32542
      	* sysv4.opt (msdata): Improve comment.
      	* linux64.h (ASM_SPEC32): Do not pass -memb when -msdata is given.
      	* sysv4.h (SVR4_ASM_SPEC): Likewise.
      
      From-SVN: r145214
      Ben Elliston committed
    • re PR target/30451 (incorrect attributes in *movti_ppc64 of rs6000.md) · 0be77bf2
      	PR target/30451
      	* config/rs6000/rs6000.md (*movti_ppc64): Correct the order of
      	load and store attributes.
      
      From-SVN: r145213
      Ben Elliston committed
    • Approved in http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00733.html. · 593812b6
      	* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_HUGE_VALQ.
      	(ix86_init_builtins): Add built-in function __builtin_huge_valq.
      	(ix86_expand_builtin): Handle IX86_BUILTIN_HUGE_VALQ.
      	* doc/extend.texi (X86 Built-in Functions): Add index entries for
      	__builtin_infq and __builtin_huge_valq.
      
      From-SVN: r145212
      Ben Elliston committed
    • re PR fortran/34656 (modifies do loop variable) · 33abc845
      2009-03-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34656
              * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do):
              Add GFC_RTCHECK_DO support.
              * option.c (gfc_handle_runtime_check_option): Enable
              * GFC_RTCHECK_DO.
              * invoke.texi (-fcheck): Document "do" option.
      
      From-SVN: r145210
      Tobias Burnus committed
    • re PR libfortran/33595 (FAIL: gfortran.dg/nint_2.f90 -O0 execution test) · 63f90eb7
      	PR fortran/33595
      	* intrinsics/c99_functions.c (round): Use floor instead of ceil.
      	Revise checks to round up.
      	(roundf): Likewise.
      
      From-SVN: r145209
      John David Anglin committed
    • avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and atmega8m1 devices. · 8272d11d
      	* config/avr/avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and
      	atmega8m1 devices.
      	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
      	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.)
      
      From-SVN: r145208
      Anatoly Sokolov committed
    • Add dbg count support for ccp · 74fe548b
      From-SVN: r145206
      Xinliang David Li committed
    • crontab: Stop 4.2 snapshots. · 414d751c
      	* crontab: Stop 4.2 snapshots.
      	Spread out 4.3, 4.4, and 4.5 snapshots more evenly.
      
      From-SVN: r145205
      Gerald Pfeifer committed
    • attr-noinline.c: Avoid pure-const optimization. · 33977f81
      
      	* gcc.dg/attr-noinline.c: Avoid pure-const optimization.
      	* gcc.dg/pr33826.c: Update dump files.
      	* gcc.dg/ipa/ipa-3.c: Avoid pure-const optimization.
      	* gcc.dg/ipa/ipa-5.c: Avoid pure-const optimization.
      
      	Merge from pretty-ipa:
      
      	2009-03-27  Jan Hubicka  <jh@suse.cz>
      	* cgraph.c (dump_cgraph_node): Add replace output flag by process.
      	* tree-pass.h (function_called_by_processed_nodes_p): Declare.
      	* passes.c (function_called_by_processed_nodes_p): New.
      	* ipa-pure-const.c (check_call): Fix handling of operands.
      	(analyze_function): Dump debug output for skipped bodies.
      	(local_pure_const): Use function_called_by_processed_nodes_p.
      	* dwarf2out.c (reference_to_unused): Use output.
      	* passes.c (do_per_function_toporder): Likewise.
      
      	2008-11-12  Jan Hubicka  <jh@suse.cz>
      
      	* tree-pass.h (pass_fixup_cfg, pass_local_pure_const): Declare.
      	* ipa-pure-const.c (funct_state_d): Add can throw field; make
      	state_set_in_source enum
      	(check_decl): Ignore memory tags; do not set fake looping flags;
      	dump diagnostics.
      	(check_operand, check_tree, check_rhs_var, check_lhs_var,
      	get_asm_expr_operands, scan_function_op, scan_function_stmt): Remove.
      	(check_call, analyze_function): Rewrite.
      	(check_stmt): New.
      	(add_new_function): Update call of analyze_function.
      	(generate_summary): Add call of analyze_function.
      	(propagate): Propagate can_throw; handle state_set_in_source correctly.
      	(local_pure_const): New function.
      	(pass_local_pure_const): New pass.
      	* ipa-inline.c (inline_transform): Set after_inlining.
      	* tree-eh.c (stmt_can_throw_external): New.
      	* tree-optimize.c (execute_fixup_cfg): Do not set after_inlining;
      	work with aliasing built.
      	* tree-flow.h (stmt_can_throw_external): New.
      	* passes.c (init_optimization_passes): Schedule fixup_cfg pass early;
      	and local pure/const pass in early and late optimization queue.
      
      From-SVN: r145204
      Jan Hubicka committed
    • fold-const.c (get_pointer_modulus_and_residue): New parameter allow_func_align. · 617f3897
      2009-03-28  Martin Jambor  <mjambor@suse.cz>
      
      	* fold-const.c (get_pointer_modulus_and_residue): New parameter
      	allow_func_align.
      	(fold_binary): Allow function decl aligment consideration is the
      	second argument is integer constant one.
      	* tree-ssa-forwprop.c (simplify_bitwise_and): New function.
      	(tree_ssa_forward_propagate_single_use_vars): Handle assing statements
      	with BIT_AND_EXPR on the RHS by calling simplify_bitwise_and.
      
      	* g++.dg/tree-ssa/fwprop-align.C: New test.
      
      From-SVN: r145203
      Martin Jambor committed
    • dwarf2out.c (dwarf2out_begin_prologue): Use crtl->nothrow · fe89fbc5
      	* dwarf2out.c (dwarf2out_begin_prologue): Use crtl->nothrow
      	* tree-eh.c (stmt_could_throw_p): Remove check for WEAK decls.
      	* function.h (rtl_data): Add nothrow flag.
      	* except.c (set_nothrow_function_flags): Use crtl->nothrow;
      	set DECL_NOTHROW for AVAILABLE functions.
      
      From-SVN: r145202
      Jan Hubicka committed
    • rs6000-c.c (rs6000_macro_to_expand): If macro following vector keyword has… · b3bf8855
      rs6000-c.c (rs6000_macro_to_expand): If macro following vector keyword has expansion starting with pixel or bool...
      
      	* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro
      	following vector keyword has expansion starting with pixel or bool
      	keyword, expand vector to __vector and pixel or bool to __pixel or
      	__bool.
      
      	* gcc.target/powerpc/altivec-28.c: New test.
      
      From-SVN: r145199
      Jakub Jelinek committed
    • re PR c++/39554 (-Wdisallowed-function-list fails when #including <algorithm>) · 574872ff
      	PR c++/39554
      	* opts.c (warning_disallowed_functions, warn_disallowed_functions,
      	warn_if_disallowed_function_p): Removed.
      	(common_handle_option): Don't handle OPT_Wdisallowed_function_list_.
      	* c-parser.c (c_parser_postfix_expression_after_primary): Don't call
      	warning_if_disallowed_function_p.
      	* flags.h (warn_if_disallowed_function_p,
      	warn_disallowed_functions): Removed.
      	* common.opt (Wdisallowed-function-list=): Removed.
      	* doc/invoke.texi (-Wdisallowed-function-list=): Removed.
      
      	* parser.c (cp_parser_postfix_expression): Don't call
      	warning_if_disallowed_function_p.
      
      	* gcc.dg/wdisallowed-functions-1.c: Removed.
      	* gcc.dg/wdisallowed-functions-2.c: Removed.
      	* gcc.dg/wdisallowed-functions-3.c: Removed.
      	* g++.dg/warn/Wdisallowed-functions-1.C: Removed.
      	* g++.dg/warn/Wdisallowed-functions-2.C: Removed.
      	* g++.dg/warn/Wdisallowed-functions-3.C: Removed.
      
      From-SVN: r145198
      Jakub Jelinek committed
    • re PR tree-optimization/38723 (default definitions not in avail_out) · b005da11
      2009-03-28  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/38723
      	* tree-ssa-pre.c (compute_avail): Add all default definitions to
      	the entry block.
      
      	* gcc.dg/tree-ssa/ssa-fre-22.c: New testcase.
      
      From-SVN: r145197
      Richard Guenther committed
    • re PR fortran/36703 (ICE (segfault) in reduce_binary0 (arith.c:1778)) · 5d63a35f
      2009-02-13  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/36703
      	PR fortran/36528
      	* trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer
      	function references to ensure that a valid expression is used.
      	(gfc_conv_function_call): Pass Cray pointers to procedures.
      
      2009-02-13  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/36528
      	* gfortran.dg/cray_pointers_8.f90: New test.
      
      	PR fortran/36703
      	* gfortran.dg/cray_pointers_9.f90: New test.
      
      From-SVN: r145196
      Paul Thomas committed
    • re PR fortran/38765 (ICE in check_host_association) · 6b02d5f7
      2009-03-28  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/38765
      	* parse.c (parse_derived): Do not break on finding pointer,
      	allocatable or private components.
      
      2009-03-28  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/38765
      	* gfortran.dg/alloc_comp_assign_9.f90: New test.
      
      From-SVN: r145195
      Paul Thomas committed
    • tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed test… · 1de812a6
      tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed test introduced by my previous patch.
      
      	* tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed
      	test introduced by my previous patch.
      
      From-SVN: r145194
      Jan Hubicka committed
    • tree-ssa-copy.c (copy_prop_visit_phi_node): Do not leave the PHIs value undefined. · fbb789d4
      2009-03-28  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-copy.c (copy_prop_visit_phi_node): Do not leave
      	the PHIs value undefined.
      
      From-SVN: r145193
      Richard Guenther committed
    • string_intrinsics.c: #include <assert.h> · bc6600ab
      2009-03-28  Daniel Kraft  <d@domob.eu>
      
      	* intrinsics/string_intrinsics.c: #include <assert.h>
      	* intrinsics/string_intrinsics_inc.c (string_trim): Use string_len_trim
      	instead of calculating the length directly.
      	(string_len_trim): For KIND=1, speed search up.
      
      2009-03-28  Daniel Kraft  <d@domob.eu>
      
      	* gfortran.dg/trim_1.f90: New test.
      
      From-SVN: r145192
      Daniel Kraft committed
    • tree-pass.h (pass_fixup_cfg): New pass. · 6f1873a1
      	* tree-pass.h (pass_fixup_cfg): New pass.
      	* ipa-inline.c (inline_transform): Set
      	always_inline_functions_inlined/after_inlining.
      	* tree-optimize.c (execute_fixup_cfg): Do not set them here.
      	(pass_fixup_cfg): New pass.
      	* passes.c (init_optimization_passes): Add fixup_cfg.
      
      From-SVN: r145191
      Jan Hubicka committed
    • Warray-bounds.c: Do not use redundant stores. · 08cf8f58
      2009-03-28  Richard Guenther  <rguenther@suse.de>
      
      	* gcc.dg/Warray-bounds.c: Do not use redundant stores.
      	* g++.dg/warn/Warray-bounds.C: Likewise.
      
      From-SVN: r145189
      Richard Guenther committed
    • re PR fortran/32626 (Run-time check for recursive functions) · 43998ed9
      2009-03-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/32626
              * option.c (gfc_handle_runtime_check_option): Enable recursion check.
              * trans-decl.c (gfc_generate_function_code): Add recursion check.
              * invoke.texi (-fcheck): Add recursive option.
      
      From-SVN: r145188
      Tobias Burnus committed
    • re PR fortran/38432 (Add warning for loops which are never executed) · dc186969
      2009-03-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/38432
              * resolve.c (gfc_resolve_iterator): Add zero-loop warning.
      
      2009-03-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/38432
              * gfortran.dg/do_check_5.f90: New test.
              * gfortran.dg/array_constructor_11.f90: Add dg-warning.
              * gfortran.dg/array_constructor_18.f90: Ditto.
              * gfortran.dg/array_constructor_22.f90: Ditto.
              * gfortran.dg/do_3.F90: Ditto.
              * gfortran.dg/do_1.f90: Ditto.
      
      From-SVN: r145186
      Tobias Burnus committed
    • re PR tree-optimization/38458 (copy-propagation doesn't handle cycles) · 17021bc8
      2009-03-28  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/38458
      	* tree-ssa-copy.c (copy_prop_visit_phi_node): For the first
      	argument use the arguments copy-of value.
      
      From-SVN: r145185
      Richard Guenther committed
    • re PR tree-optimization/38180 (CCP does not propagate through constant initializers) · e8114fba
      2009-03-28  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/38180
      	* tree-ssa-ccp.c (get_default_value): Simplify.
      	(likely_value): Likewise.
      	(surely_varying_stmt_p): Properly handle VOP case.
      	(ccp_initialize): Likewise.
      	(ccp_fold): Handle propagating through *&.
      	(fold_const_aggregate_ref): Also handle decls.
      
      	* gcc.dg/tree-ssa/ssa-ccp-24.c: New testcase.
      
      From-SVN: r145184
      Richard Guenther committed
    • gfortran.h (gfc_option_t): Add rtcheck. · d3d3011f
      2009-03-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
                  Paul Thomas  <pault@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.h (gfc_option_t): Add rtcheck.
              * lang.opt: New option -fruntime-check.
              * libgfortran.h: Add GFC_RTCHECK_* constants.
              * invoke.texi: Document -fruntime-check.
              * options.c (gfc_handle_runtime_check_option): New function.
              (gfc_init_options,gfc_post_options,gfc_handle_option):
              Add -fruntime-check option.
      
      
      Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r145183
      Francois-Xavier Coudert committed