1. 11 Sep, 2011 7 commits
  2. 10 Sep, 2011 5 commits
    • Check ia32 instead of ilp32. · b0ad89b8
      2011-09-10  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.dg/sibcall-6.c: Check ia32 instead of ilp32.
      
      From-SVN: r178749
      H.J. Lu committed
    • re PR fortran/49479 (reshape / optionals / zero sized arrays) · 95928a13
      2011-09-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/49479
      	* generated/m4/ifunction.m4:  Always call internal_malloc_size
      	even when there is a zero-sized return array.
      	* generated/generated/maxloc1_16_i16.c: Regenerated.
      	* generated/generated/maxloc1_16_i1.c: Regenerated.
      	* generated/generated/maxloc1_16_i2.c: Regenerated.
      	* generated/generated/maxloc1_16_i4.c: Regenerated.
      	* generated/generated/maxloc1_16_i8.c: Regenerated.
      	* generated/generated/maxloc1_16_r10.c: Regenerated.
      	* generated/generated/maxloc1_16_r16.c: Regenerated.
      	* generated/generated/maxloc1_16_r4.c: Regenerated.
      	* generated/generated/maxloc1_16_r8.c: Regenerated.
      	* generated/generated/maxloc1_4_i16.c: Regenerated.
      	* generated/generated/maxloc1_4_i1.c: Regenerated.
      	* generated/generated/maxloc1_4_i2.c: Regenerated.
      	* generated/generated/maxloc1_4_i4.c: Regenerated.
      	* generated/generated/maxloc1_4_i8.c: Regenerated.
      	* generated/generated/maxloc1_4_r10.c: Regenerated.
      	* generated/generated/maxloc1_4_r16.c: Regenerated.
      	* generated/generated/maxloc1_4_r4.c: Regenerated.
      	* generated/generated/maxloc1_4_r8.c: Regenerated.
      	* generated/generated/maxloc1_8_i16.c: Regenerated.
      	* generated/generated/maxloc1_8_i1.c: Regenerated.
      	* generated/generated/maxloc1_8_i2.c: Regenerated.
      	* generated/generated/maxloc1_8_i4.c: Regenerated.
      	* generated/generated/maxloc1_8_i8.c: Regenerated.
      	* generated/generated/maxloc1_8_r10.c: Regenerated.
      	* generated/generated/maxloc1_8_r16.c: Regenerated.
      	* generated/generated/maxloc1_8_r4.c: Regenerated.
      	* generated/generated/maxloc1_8_r8.c: Regenerated.
      	* generated/generated/maxval_i16.c: Regenerated.
      	* generated/generated/maxval_i1.c: Regenerated.
      	* generated/generated/maxval_i2.c: Regenerated.
      	* generated/generated/maxval_i4.c: Regenerated.
      	* generated/generated/maxval_i8.c: Regenerated.
      	* generated/generated/maxval_r10.c: Regenerated.
      	* generated/generated/maxval_r16.c: Regenerated.
      	* generated/generated/maxval_r4.c: Regenerated.
      	* generated/generated/maxval_r8.c: Regenerated.
      	* generated/generated/minloc1_16_i16.c: Regenerated.
      	* generated/generated/minloc1_16_i1.c: Regenerated.
      	* generated/generated/minloc1_16_i2.c: Regenerated.
      	* generated/generated/minloc1_16_i4.c: Regenerated.
      	* generated/generated/minloc1_16_i8.c: Regenerated.
      	* generated/generated/minloc1_16_r10.c: Regenerated.
      	* generated/generated/minloc1_16_r16.c: Regenerated.
      	* generated/generated/minloc1_16_r4.c: Regenerated.
      	* generated/generated/minloc1_16_r8.c: Regenerated.
      	* generated/generated/minloc1_4_i16.c: Regenerated.
      	* generated/generated/minloc1_4_i1.c: Regenerated.
      	* generated/generated/minloc1_4_i2.c: Regenerated.
      	* generated/generated/minloc1_4_i4.c: Regenerated.
      	* generated/generated/minloc1_4_i8.c: Regenerated.
      	* generated/generated/minloc1_4_r10.c: Regenerated.
      	* generated/generated/minloc1_4_r16.c: Regenerated.
      	* generated/generated/minloc1_4_r4.c: Regenerated.
      	* generated/generated/minloc1_4_r8.c: Regenerated.
      	* generated/generated/minloc1_8_i16.c: Regenerated.
      	* generated/generated/minloc1_8_i1.c: Regenerated.
      	* generated/generated/minloc1_8_i2.c: Regenerated.
      	* generated/generated/minloc1_8_i4.c: Regenerated.
      	* generated/generated/minloc1_8_i8.c: Regenerated.
      	* generated/generated/minloc1_8_r10.c: Regenerated.
      	* generated/generated/minloc1_8_r16.c: Regenerated.
      	* generated/generated/minloc1_8_r4.c: Regenerated.
      	* generated/generated/minloc1_8_r8.c: Regenerated.
      	* generated/generated/minval_i16.c: Regenerated.
      	* generated/generated/minval_i1.c: Regenerated.
      	* generated/generated/minval_i2.c: Regenerated.
      	* generated/generated/minval_i4.c: Regenerated.
      	* generated/generated/minval_i8.c: Regenerated.
      	* generated/generated/minval_r10.c: Regenerated.
      	* generated/generated/minval_r16.c: Regenerated.
      	* generated/generated/minval_r4.c: Regenerated.
      	* generated/generated/minval_r8.c: Regenerated.
      	* generated/generated/product_c10.c: Regenerated.
      	* generated/generated/product_c16.c: Regenerated.
      	* generated/generated/product_c4.c: Regenerated.
      	* generated/generated/product_c8.c: Regenerated.
      	* generated/generated/product_i16.c: Regenerated.
      	* generated/generated/product_i1.c: Regenerated.
      	* generated/generated/product_i2.c: Regenerated.
      	* generated/generated/product_i4.c: Regenerated.
      	* generated/generated/product_i8.c: Regenerated.
      	* generated/generated/product_r10.c: Regenerated.
      	* generated/generated/product_r16.c: Regenerated.
      	* generated/generated/product_r4.c: Regenerated.
      	* generated/generated/product_r8.c: Regenerated.
      	* generated/generated/sum_c10.c: Regenerated.
      	* generated/generated/sum_c16.c: Regenerated.
      	* generated/generated/sum_c4.c: Regenerated.
      	* generated/generated/sum_c8.c: Regenerated.
      	* generated/generated/sum_i16.c: Regenerated.
      	* generated/generated/sum_i1.c: Regenerated.
      	* generated/generated/sum_i2.c: Regenerated.
      	* generated/generated/sum_i4.c: Regenerated.
      	* generated/generated/sum_i8.c: Regenerated.
      	* generated/generated/sum_r10.c: Regenerated.
      	* generated/generated/sum_r16.c: Regenerated.
      	* generated/generated/sum_r4.c: Regenerated.
      	* generated/generated/sum_r8.c: Regenerated.
      
      From-SVN: r178748
      Thomas Koenig committed
    • Fix using package name as composite literal struct key. · 93d83339
      From-SVN: r178747
      Ian Lance Taylor committed
    • tuple: Use everywhere std::size_t... · 049d2893
      2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/tuple: Use everywhere std::size_t... instead of int...
      	* include/std/functional: Likewise.
      	* include/std/scoped_allocator: Likewise.
      	* include/bits/stl_pair.h: Likewise.
      
      From-SVN: r178746
      Paolo Carlini committed
    • Daily bump. · 25e723bd
      From-SVN: r178745
      GCC Administrator committed
  3. 09 Sep, 2011 10 commits
  4. 08 Sep, 2011 18 commits
    • re PR libstdc++/50336 (LWG issue 445) · ebb6e4af
      2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/50336
      	* include/bits/streambuf_iterator.h (class istreambuf_iterator):
      	Implement LWG 445 in C++0x mode.
      	* testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
      	New.
      
      From-SVN: r178713
      Paolo Carlini committed
    • re PR c/50332 (FAIL: gcc.dg/attr-invalid.c) · 164bb913
      Fix PR c/50332
      
      gcc/testsuite/
      
      	* gcc.dg/attr-invalid.c: Adjust as __attribute__((used) is no
      	longer ignored on typedefs.
      
      From-SVN: r178712
      Dodji Seketeli committed
    • utils.c (unchecked_convert): Use a field of the right precision when converting… · 416de7d5
      utils.c (unchecked_convert): Use a field of the right precision when converting to or from an integral type...
      
      	* gcc-interface/utils.c (unchecked_convert): Use a field of the right
      	precision when converting to or from an integral type whose precision
      	is not equal to its size.
      
      From-SVN: r178711
      Eric Botcazou committed
    • re PR tree-optimization/50318 (ICE optimizing widening multiply-and-accumulate) · c3c5a1cc
      2011-09-08  Andrew Stubbs  <ams@codesourcery.com>
      
      	PR tree-optimization/50318
      
      	gcc/
      	* tree-ssa-math-opts.c (convert_plusminus_to_widen): Correct
      	typo in use of mult_rhs1 and mult_rhs2.
      
      	gcc/testsuite/
      	* gcc.target/arm/pr50318-1.c: New file.
      
      From-SVN: r178708
      Andrew Stubbs committed
    • i386.c (standard_sse_constant_p): Handle AVX2 modes. · 974e0ad6
      2011-09-08  Uros Bizjak  <ubizjak@gmail.com>
      
      	* config/i386/i386.c (standard_sse_constant_p): Handle AVX2 modes.
      	(standard_sse_constant_opcode) <case 2>: Change vpcmpeqd template.
      
      testsuite/ChangeLog:
      
      2011-09-08  Uros Bizjak  <ubizjak@gmail.com>
      
      	* gcc.target/i386/all_one_m256i.c: New test.
      
      From-SVN: r178704
      Uros Bizjak committed
    • arm.md (push_multi): Emit predicates. · bd2777de
      	* config/arm/arm.md (push_multi): Emit predicates.
      	(push_fp_multi): Likewise.
      	* config/arm/arm.c (vfp_output_fstmd): Likewise.
      
      From-SVN: r178700
      Bernd Schmidt committed
    • trans-array.c (gfc_trans_constant_array_constructor): Remove superfluous… · e97b61c2
      trans-array.c (gfc_trans_constant_array_constructor): Remove superfluous initialisation of DIM field.
      
      2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
      
      	* trans-array.c (gfc_trans_constant_array_constructor): Remove
      	superfluous initialisation of DIM field.
      	(gfc_trans_array_constructor): Assert that DIMEN field is properly set.
      	(gfc_conv_expr_descriptor): Ditto.
      	* trans-expr.c (gfc_conv_procedure_call): Ditto.
      
      From-SVN: r178698
      Mikael Morin committed
    • trans-array.h (gfc_get_scalar_ss): New prototype. · 26f77530
      2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
      
      	* trans-array.h (gfc_get_scalar_ss): New prototype.
      	* trans-array.c (gfc_get_scalar_ss): New function.
      	(gfc_walk_variable_expr, gfc_walk_op_expr,
      	gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss.
      	* trans-expr.c (gfc_trans_subarray_assign): Ditto.
      	(gfc_trans_assignment_1): Ditto.
      	* trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign,
      	gfc_trans_where_3): Ditto.
      
      From-SVN: r178697
      Mikael Morin committed
    • 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