1. 08 Sep, 2011 14 commits
    • trans-array.h (gfc_get_temp_ss): New prototype. · a1ae4f43
      2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
      
      	* trans-array.h (gfc_get_temp_ss): New prototype.
      	* trans-array.c (gfc_get_temp_ss): New function.
      	(gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.
      	(gfc_conv_expr_descriptor): Ditto.
      	* trans-expr.c (gfc_conv_subref_array_arg): Ditto.
      
      From-SVN: r178696
      Mikael Morin committed
    • trans-array.h (gfc_get_array_ss): New prototype. · 66877276
      2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
      
      	* trans-array.h (gfc_get_array_ss): New prototype.
      	* trans-array.c (gfc_get_array_ss): New function.
      	(gfc_walk_variable_expr, gfc_walk_function_expr,
      	gfc_walk_array_constructor): Re-use gfc_get_array_ss.
      	* trans-expr.c (gfc_trans_subarray_assign): Ditto.
      	* trans-intrinsic.c (gfc_walk_intrinsic_bound,
      	gfc_walk_intrinsic_libfunc): Ditto.
      	* trans-io.c (transfer_array_component): Ditto.
      
      From-SVN: r178695
      Mikael Morin committed
    • re PR c++/50324 ([C++0x] SFINAE does not handle the object creation of an incomplete type) · 2d49bd6e
      /cp
      2011-09-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50324
      	* typeck2.c (digest_init_r): Call complete_type_or_maybe_complain
      	instead of complete_type_or_else.
      
      /testsuite
      2011-09-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50324
      	* g++.dg/cpp0x/sfinae28.C: New.
      
      From-SVN: r178694
      Paolo Carlini committed
    • PR c++/33255 - Support -Wunused-local-typedefs warning · 3797cb21
      gcc/
      
      	* c-decl.c (lookup_name): Use the new
      	maybe_record_typedef_use.
      	(pushdecl): Use the new
      	record_locally_defined_typedef.
      	(store_parm_decls): Allocate cfun->language.
      	(finish_function): Use the new maybe_warn_unused_local_typedefs,
      	and free cfun->language.
      	(c_push_function_context): Allocate cfun->language here only if
      	needed.
      	(c_pop_function_context): Likewise, mark cfun->language
      	for collection only when it should be done.
      	* c-common.c (handle_used_attribute): Don't ignore TYPE_DECL
      	nodes.
      	* c-typeck.c (c_expr_sizeof_type, c_cast_expr): Use the new
      	maybe_record_local_typedef_use.
      
      gcc/c-family
      
      	* c-common.h (struct c_language_function::local_typedefs): New
      	field.
      	(record_locally_defined_typedef, maybe_record_typedef_use)
      	(maybe_warn_unused_local_typedefs): Declare new functions.
      	* c-common.c (record_locally_defined_typedef)
      	(maybe_record_typedef_use)
      	(maybe_warn_unused_local_typedefs): Define new functions.
      	* c.opt: Declare new -Wunused-local-typedefs flag.
      
      gcc/cp
      
      	* name-lookup.c (pushdecl_maybe_friend_1): Use the new
      	record_locally_defined_typedef.
      	* decl.c (finish_function): Use the new
      	maybe_warn_unused_local_typedefs.
      	(grokfield): Use the new record_locally_defined_typedef.
      	* parser.c (lookup_name): Use the new maybe_record_typedef_use.
      
      gcc/doc/
      
      	* invoke.texi: Update documentation for -Wunused-local-typedefs.
      
      gcc/testsuite/
      
      	* g++.dg/warn/Wunused-local-typedefs.C: New test file.
      	* c-c++-common/Wunused-local-typedefs.c: Likewise.
      
      libstdc++-v3/
      
      	* include/ext/bitmap_allocator.h
      	(__detail::__mini_vector::__lower_bound): Remove unused typedef.
      	* src/istream.cc (std::operator>>(basic_istream<char>& __in,
      	basic_string<char>& __str)): Likewise.
      	(std::getline): Likewise.
      	* src/valarray.cc (__valarray_product): Likewise.
      
      From-SVN: r178692
      Dodji Seketeli committed
    • Improve AGU stalls avoidance optimization. · d275ab8b
      2011-09-08  Enkovich Ilya  <ilya.enkovich@intel.com>
      
      	* config/i386/i386-protos.h (ix86_lea_outperforms): New.
      	(ix86_avoid_lea_for_add): Likewise.
      	(ix86_avoid_lea_for_addr): Likewise.
      	(ix86_split_lea_for_addr): Likewise.
      
      	* config/i386/i386.c (LEA_MAX_STALL): New.
      	(increase_distance): Likewise.
      	(insn_defines_reg): Likewise.
      	(insn_uses_reg_mem): Likewise.
      	(distance_non_agu_define_in_bb): Likewise.
      	(distance_agu_use_in_bb): Likewise.
      	(ix86_lea_outperforms): Likewise.
      	(ix86_ok_to_clobber_flags): Likewise.
      	(ix86_avoid_lea_for_add): Likewise.
      	(ix86_avoid_lea_for_addr): Likewise.
      	(ix86_split_lea_for_addr): Likewise.
      	(distance_non_agu_define): Search in pred BBs added.
      	(distance_agu_use): Search in succ BBs added.
      	(IX86_LEA_PRIORITY): Value changed from 2 to 0.
      	(LEA_SEARCH_THRESHOLD): Now depends on LEA_MAX_STALL.
      	(ix86_lea_for_add_ok): Use ix86_lea_outperforms to make decision.
      
      	* config/i386/i386.md: Split added to transform non destructive
      	add into move and add.
      	(lea_1): transformed into insn_and_split to avoid AGU stalls.
      	(lea<mode>_2): Likewise.
      
      From-SVN: r178689
      Enkovich Ilya committed
    • re PR tree-optimization/50287 (FAIL:… · 86814190
      re PR tree-optimization/50287 (FAIL: gcc.c-torture/execute/builtins/vsnprintf-chk.c compilation, -O2 -flto)
      
      2011-09-08  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/50287
      	* ipa-split.c (split_function): Do not create SSA names for
      	non-gimple-registers.
      
      	* testsuite/gcc.dg/torture/pr50287.c: New test.
      
      From-SVN: r178688
      Martin Jambor committed
    • re PR tree-optimization/19831 (Missing DSE/malloc/free optimization) · 996e1de5
      2011-09-08  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/19831
      	* tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Also
      	skip builtins with vdefs that do not really store something.
      	(propagate_necessity): For calls to free that we can associate
      	with an allocation function do not mark the freed pointer
      	definition necessary.
      	(eliminate_unnecessary_stmts): Remove a call to free if
      	the associated call to an allocation function is not necessary.
      
      	* gcc.dg/tree-ssa/pr19831-1.c: New testcase.
      	* gcc.dg/tree-ssa/pr19831-2.c: Likewise.
      	* gcc.dg/tree-ssa/pr19831-3.c: Likewise.
      	* gcc.dg/errno-1.c: Adjust.
      
      From-SVN: r178687
      Richard Guenther committed
    • re PR tree-optimization/19831 (Missing DSE/malloc/free optimization) · c22c0db2
      2011-09-08  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/19831
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark
      	allocation functions as necessary.
      
      	* gcc.dg/tree-ssa/ssa-dce-8.c: New testcase.
      
      From-SVN: r178683
      Richard Guenther committed
    • part of restore of powerpc-darwin Ada bootstrap · 88b76013
      	* traceback.c (Darwin) USE_GCC_UNWINDER for Darwin
      	versions >= 8.
      
      From-SVN: r178682
      Iain Sandoe committed
    • make darwin port a little more cross & cross native build friendly. · 558c362a
      	*config/darwin-driver.c (darwin_find_version_from_kernel): New routine 
      	cut from ... (darwin_default_min_version): Amended to provide defaults
      	for the cross directory case.
      	(darwin_driver_init): call darwin_default_min_version unconditionally.
      	* config/darwin.h (DEF_MIN_OSX_VERSION): New.
      	* config/darwin9.h: Likewise.
      	* config/darwin10.h: Likewise.
      	* config/rs6000/darwin7.h: Likewise.
      
      From-SVN: r178679
      Iain Sandoe committed
    • re PR fortran/44646 ([F08] Implement DO CONCURRENT) · 8c6a85e3
      gcc/fortran/
      2011-09-08  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/44646
              * decl.c (gfc_match_entry, gfc_match_end): Handle
              * COMP_DO_CONCURRENT.
              * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.
              * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.
              * match.c (gfc_match_critical, match_exit_cycle,
              * gfc_match_stopcode,
              lock_unlock_statement, sync_statement, gfc_match_allocate,
              gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.
              (gfc_match_do): Match DO CONCURRENT.
              (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,
              match_forall_iterator, match_forall_header, match_simple_forall,
              gfc_match_forall): Move up in the file.
              * parse.c (check_do_closure, parse_do_block): Handle do
              * concurrent.
              * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.
              * resolve.c (do_concurrent_flag): New global variable.
              (resolve_function, pure_subroutine, resolve_branch,
              gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent
              diagnostic.
              * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.
              * trans-stmt.c (gfc_trans_do_concurrent): New function.
              (gfc_trans_forall_1): Handle do concurrent.
              * trans-stmt.h (gfc_trans_do_concurrent): New function
              * prototype.
              * trans.c (trans_code): Call it.
              * frontend-passes.c (gfc_code_walker): Handle
              * EXEC_DO_CONCURRENT.
      
      gcc/testsuite/
      2011-09-08  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/44646
              * gfortran.dg/do_concurrent_1.f90: New.
              * gfortran.dg/do_concurrent_2.f90: New.
      
      From-SVN: r178677
      Tobias Burnus committed
    • re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with… · 1542d97a
      re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O -ftree-vectorize and __builtin_isunordered())
      
      	PR target/50310
      	* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
      	code early if TARGET_AVX.
      	(ix86_expand_fp_vcond): Handle LTGT and UNEQ.
      
      	* gcc.c-torture/execute/ieee/pr50310.c: New test.
      	* gcc.dg/pr50310-2.c: New test.
      
      From-SVN: r178673
      Jakub Jelinek committed
    • at.cc: Revert to... · 02dce1e9
      2011-09-07  François Dumont  <francois.cppdevs@free.fr>
      
      	* testsuite/23_containers/array/at.cc: Revert to...
      	* testsuite/23_containers/array/at_neg.cc: ...this.
      
      From-SVN: r178670
      François Dumont committed
    • Daily bump. · 92b4c822
      From-SVN: r178669
      GCC Administrator committed
  2. 07 Sep, 2011 25 commits
  3. 06 Sep, 2011 1 commit