1. 14 Sep, 2012 29 commits
    • * configure: Regenerated. · 690c45b8
      From-SVN: r191323
      David Edelsohn committed
    • * configure: Regenerated. · 6608378b
      From-SVN: r191322
      David Edelsohn committed
    • * configure: Regenerated. · bad8a4a7
      From-SVN: r191321
      David Edelsohn committed
    • * configure: Regenerated. · cbbd536a
      From-SVN: r191320
      David Edelsohn committed
    • * configure: Regenerated. · 00c2f0ef
      From-SVN: r191319
      David Edelsohn committed
    • * configure: Regenerated. · 694a6541
      From-SVN: r191318
      David Edelsohn committed
    • * configure: Regenerated. · b0bb0396
      From-SVN: r191317
      David Edelsohn committed
    • re PR bootstrap/38607 (AIX error messages about TOC during build) · d7a29167
              PR target/38607
              Merge upstream change.
              * libtool.m4 (_LT_COMPILER_PIC): Add -fPIC to GCC and GXX for AIX.
      
      	* configure.ac: Add target-libquadmath to noconfigdirs for AIX.
              Add libgomp*.o to compare_exclusions for AIX.
              * configure: Regenerate.
      
      From-SVN: r191316
      David Edelsohn committed
    • re PR c/54552 (Cast to pointer to VLA crash the compiler) · 9f33203d
      c:
      	PR c/54552
      	* c-typeck.c (c_cast_expr): When casting to a type requiring
      	C_MAYBE_CONST_EXPR to be created, pass the inner expression to
      	c_fully_fold first.
      
      testsuite:
      	* gcc.c-torture/compile/pr54552-1.c: New test.
      
      From-SVN: r191313
      Joseph Myers committed
    • Fix grammar and spelling. · 9996a6d1
      	* doc/invoke.texi (Option Summary): fix typesetting for -mcpu
      	option for TILEPro and TILE-Gx.
      	(TILE-Gx Options): Fix grammar and spellings in documentation for
      	-mcmodel.
      
      From-SVN: r191311
      Walter Lee committed
    • re PR c++/54427 (Expose more vector extensions) · 31ed6226
      2012-09-14  Marc Glisse  <marc.glisse@inria.fr>
      	PR c++/54427
      
      gcc/ChangeLog
      	* fold-const.c (fold_unary_loc): Disable for VECTOR_TYPE.
      	(fold_binary_loc): Likewise.
      	* gimple-fold.c (and_comparisons_1): Handle VECTOR_TYPE.
      	(or_comparisons_1): Likewise.
      
      gcc/cp/ChangeLog
      	* typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR,
      	NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE.
      
      gcc/testsuite/ChangeLog
      	* g++.dg/other/vector-compare.C: New testcase.
      	* gcc/testsuite/c-c++-common/vector-compare-3.c: New testcase.
      	* gcc.dg/vector-shift.c: Move ...
      	* c-c++-common/vector-shift.c: ... here.
      	* gcc.dg/vector-shift1.c: Move ...
      	* c-c++-common/vector-shift1.c: ... here.
      	* gcc.dg/vector-shift3.c: Move ...
      	* c-c++-common/vector-shift3.c: ... here.
      	* gcc.dg/vector-compare-1.c: Move ...
      	* c-c++-common/vector-compare-1.c: ... here.
      	* gcc.dg/vector-compare-2.c: Move ...
      	* c-c++-common/vector-compare-2.c: ... here.
      	* gcc.c-torture/execute/vector-compare-1.c: Move ...
      	* c-c++-common/torture/vector-compare-1.c: ... here.
      	* gcc.c-torture/execute/vector-compare-2.x: Delete.
      	* gcc.c-torture/execute/vector-compare-2.c: Move ...
      	* c-c++-common/torture/vector-compare-2.c: ... here.
      	* gcc.c-torture/execute/vector-shift.c: Move ...
      	* c-c++-common/torture/vector-shift.c: ... here.
      	* gcc.c-torture/execute/vector-shift2.c: Move ...
      	* c-c++-common/torture/vector-shift2.c: ... here.
      	* gcc.c-torture/execute/vector-subscript-1.c: Move ...
      	* c-c++-common/torture/vector-subscript-1.c: ... here.
      	* gcc.c-torture/execute/vector-subscript-2.c: Move ...
      	* c-c++-common/torture/vector-subscript-2.c: ... here.
      	* gcc.c-torture/execute/vector-subscript-3.c: Move ...
      	* c-c++-common/torture/vector-subscript-3.c: ... here.
      
      From-SVN: r191308
      Marc Glisse committed
    • re PR target/54516 (ICE in reload_cse_simplify_operands, at postreload.c:403… · 0290430b
      re PR target/54516 (ICE in reload_cse_simplify_operands, at postreload.c:403 with -O1 -march=armv7-a -mthumb)
      
      	PR target/54516
      	PR rtl-optimization/54540
      	* reload.c (find_dummy_reload): Don't use OUT as a reload reg
      	for IN if it overlaps a fixed register.
      
      From-SVN: r191307
      Richard Earnshaw committed
    • Temporarily revert previous · cde43acd
      From-SVN: r191306
      Richard Earnshaw committed
    • reload.c (find_dummy_reload): Don't use OUT as a reload reg for IN if it overlaps a fixed register. · 57132d23
      	* reload.c (find_dummy_reload): Don't use OUT as a reload reg
      	for IN if it overlaps a fixed register.
      
      From-SVN: r191305
      Richard Earnshaw committed
    • re PR c/54103 (ICE at gimplify.c:7790 on current trunk) · a27d595d
      c:
      	PR c/54103
      	* c-typeck.c (build_unary_op): Pass original argument of
      	TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
      	any C_MAYBE_CONST_EXPR, if it has integer operands.
      	(build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
      	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
      	to c_objc_common_truthvalue_conversion, then remove any
      	C_MAYBE_CONST_EXPR, if they have integer operands.  Use
      	c_objc_common_truthvalue_conversion not
      	c_common_truthvalue_conversion.
      	(c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
      	call note_integer_operands for arguments with integer operands
      	that are not integer constants.
      
      testsuite:
      	* gcc.c-torture/compile/pr54103-1.c,
      	gcc.c-torture/compile/pr54103-2.c,
      	gcc.c-torture/compile/pr54103-3.c,
      	gcc.c-torture/compile/pr54103-4.c,
      	gcc.c-torture/compile/pr54103-5.c,
      	gcc.c-torture/compile/pr54103-6.c: New tests.
      	* gcc.dg/c90-const-expr-8.c: Update expected column number.
      
      From-SVN: r191304
      Joseph Myers committed
    • decl.c (make_typename_type): Only error out if tf_error is set in complain. · 937f6ef1
      2012-09-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (make_typename_type): Only error out if tf_error is set
      	in complain.
      
      From-SVN: r191303
      Paolo Carlini committed
    • re PR rtl-optimization/44194 (struct returned by value generates useless stores) · 5ef0b50d
      	PR rtl-optimization/44194
      	* calls.c (expand_call): In the PARALLEL case, copy the return value
      	into pseudos instead of spilling it onto the stack.
      	* emit-rtl.c (adjust_address_1): Rename ADJUST into ADJUST_ADDRESS and
      	add new ADJUST_OBJECT parameter.
      	If ADJUST_OBJECT is set, drop the underlying object if it cannot be
      	proved that the adjusted memory access is still within its bounds.
      	(adjust_automodify_address_1): Adjust call to adjust_address_1.
      	(widen_memory_access): Likewise.
      	* expmed.c (store_bit_field_1): Call adjust_bitfield_address instead
      	of adjust_address.  Do not drop the underlying object of a MEM.
      	(store_fixed_bit_field): Likewise.
      	(extract_bit_field_1): Likewise.  Fix oversight in recursion.
      	(extract_fixed_bit_field): Likewise.
      	* expr.h (adjust_address_1): Adjust prototype.
      	(adjust_address): Adjust call to adjust_address_1.
      	(adjust_address_nv): Likewise.
      	(adjust_bitfield_address): New macro.
      	(adjust_bitfield_address_nv): Likewise.
      	* expr.c (expand_assignment): Handle a PARALLEL in more cases.
      	(store_expr): Likewise.
      	(store_field): Likewise.
      
      	* dse.c: Fix typos in the head comment.
      
      From-SVN: r191302
      Eric Botcazou committed
    • re PR target/54546 (SH: Enable -fshrink-wrap) · fcf8632e
             PR target/54546
             * config/sh/sh-protos.h (sh_need_epilogue): Delete.
             (sh_can_use_simple_return_p): Declare.
             * config/sh/sh.c (sh_can_use_simple_return_p): Define.
             (sh_need_epilogue, sh_need_epilogue_known): Delete.
             (sh_output_function_epilogue): Remove sh_need_epilogue_known.
             * config/sh/sh.md (simple_return, return): Define.
             (epilogue): Use inline return rtl.
             (sh_expand_epilogue): Cleanup parameters boolean type.
             * config/sh/iterators.md (any_return): New iterator.
      
      From-SVN: r191301
      Christian Bruel committed
    • predicates.md (t_reg_operand): Check REG_P for SUBREG. · 312f9b9d
      2012-09-14  Christian Bruel  <christian.bruel@st.com>
      
             * config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
             * config/sh/sh.c (sequence_insn_p: Check INSNP_P for SEQUENCE.
      
      From-SVN: r191300
      Christian Bruel committed
    • re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3) · 5f08ae1e
      	PR target/54564
      	* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
      	instead of (match_dup 0) as second argument to vec_merge.
      	(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
      	Remove third alternative.
      	(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
      	operand 2 instead of operand 1, but put it as first argument
      	of fma.
      
      	* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
      	_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
      	of the first.
      
      From-SVN: r191298
      Jakub Jelinek committed
    • re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3) · aeeede33
      	PR target/54564
      	* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
      	instead of (match_dup 0) as second argument to vec_merge.
      	(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
      	Remove third alternative.
      	(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
      	operand 2 instead of operand 1, but put it as first argument
      	of fma.
      
      	* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
      	_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
      	of the first.
      
      From-SVN: r191297
      Jakub Jelinek committed
    • 2012-09-14 Paolo Carlini <paolo.carlini@oracle.com> · 02cbc6d6
      	* Tweak last ChangeLog entry.
      
      From-SVN: r191296
      Paolo Carlini committed
    • re PR tree-optimization/54565 (pass_update_address_taken before forwprop1 for vectors) · edb32daf
      2012-09-14  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/54565
      	* passes.c (init_optimization_passes): Adjust comments.
      	(execute_function_todo): Do not execute execute_update_addresses_taken
      	before processing TODO_rebuild_alias.
      	* tree-ssa-ccp.c (do_ssa_ccp): Schedule TODO_update_address_taken.
      
      	* gcc.dg/tree-ssa/ssa-ccp-17.c: Adjust.
      	* gcc.dg/tree-ssa/forwprop-6.c: Likewise.  Remove XFAIL.
      
      From-SVN: r191295
      Richard Guenther committed
    • Check _GLIBCXX_USE_C99_STDINT_TR1 in random.cc · 645708ab
      	PR libstdc++/54576
      	* libstdc++-v3/src/c++11/random.cc: Check if
      	_GLIBCXX_USE_C99_STDINT_TR1 is defined.
      
      Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
      
      From-SVN: r191294
      Jonathan Wakely committed
    • tree-vrp.c (register_new_assert_for): Simplify for backward walk. · f7a39c55
      2012-09-14  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (register_new_assert_for): Simplify for backward
      	walk.
      	(find_assert_locations_1): Walk the basic-block backwards,
      	properly add/prune from live.  Use live for asserts derived
      	from stmts.
      
      From-SVN: r191293
      Richard Guenther committed
    • tree-ssa-forwprop.c (simplify_bitfield_ref): Call get_prop_source_stmt. · 3ebd25e1
      2012-09-14  Marc Glisse  <marc.glisse@inria.fr>
      
      	* tree-ssa-forwprop.c (simplify_bitfield_ref): Call
      	get_prop_source_stmt.
      	(simplify_permutation): Likewise.
      	(simplify_vector_constructor): Likewise.
      
      From-SVN: r191292
      Marc Glisse committed
    • * gcc.target/arm/combine-movs.c: Add missing space. · f79cc861
      From-SVN: r191291
      Ulrich Weigand committed
    • builtin-types.def (BT_FN_CONST_STRING): Add. · 3537a0cd
      2012-09-14  Richard Guenther  <rguenther@suse.de>
      
      	* builtin-types.def (BT_FN_CONST_STRING): Add.
      	* builtins.def (BUILT_IN_FILE, BUILT_IN_FUNCTION,
      	BUILT_IN_LINE): New builtins.
      	* gimplify.c (gimplify_call_expr): Expand them.
      	* doc/extend.texi (__builtin_LINE, __builtin_FUNCTION,
      	__builtin_FILE): Document.
      
      	* g++.dg/torture/builtin-location.C: New testcase.
      
      From-SVN: r191290
      Richard Guenther committed
    • Daily bump. · 88cd4899
      From-SVN: r191288
      GCC Administrator committed
  2. 13 Sep, 2012 11 commits
    • Bi-endian support for moxie · f636ba14
      From-SVN: r191285
      Anthony Green committed
    • re PR c++/53210 (warning for data member initialized with itself should be in -Wall) · 0ccb505d
      2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c++/53210
      	* doc/invoke.texi ([Winit-self]): Document as enabled by -Wall
      	in C++.
      
      /c-family
      2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c++/53210
      	* c.opt ([Winit-self]): Enabled by -Wall in C++.
      
      /cp
      2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c++/53210
      	* init.c (perform_member_init): Use OPT_Winit_self instead of
      	OPT_Wuninitialized.
      
      /testsuite
      2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c++/53210
      	* g++.dg/warn/Winit-self.C: New.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r191284
      Paolo Carlini committed
    • predicates.md (input_operand): Do not consider TImode constants as 1-instruction integer constants. · 03c432bd
      	* config/sparc/predicates.md (input_operand): Do not consider TImode
      	constants as 1-instruction integer constants.
      	Use register_or_zero_operand instead of register_operand and tidy up.
      	* config/sparc/sparc.md (movti): New expander.
      	(movti_insn_sp64): New instruction.
      	(movti_insn_sp64_hq): Likewise.
      	(TImode splitters): New splitters.
      	* config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
      	(sparc_legitimate_address_p): Return 0 for REG+REG in TImode.
      
      	* config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
      	(arith_4096_operand): Likewise.
      	(zero_operand): Likewise.
      	(fp_zero_operand): Likewise.
      	(reg_or_0_operand): Likewise.
      
      From-SVN: r191283
      Eric Botcazou committed
    • typeck.c (build_indirect_ref, [...]): Remove uses of ATTRIBUTE_UNUSED on the parameters. · 12308bc6
      2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* typeck.c (build_indirect_ref, build_function_call,
      	build_function_call_vec, build_binary_op, build_unary_op,
      	build_compound_expr, build_c_cast, build_modify_expr): Remove
      	uses of ATTRIBUTE_UNUSED on the parameters.
      	* class.c (set_linkage_according_to_type, resort_type_method_vec,
      	dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p):
      	Likewise.
      	* decl.c (local_variable_p_walkfn): Likewise.
      	* except.c (wrap_cleanups_r, check_noexcept_r): Likewise.
      	* error.c (find_typenames_r): Likewise.
      	* tree.c (verify_stmt_tree_r, bot_replace,
      	handle_java_interface_attribute, handle_com_interface_attribute,
      	handle_init_priority_attribute, c_register_addr_space): Likewise.
      	* cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise.
      	* cp-lang.c (objcp_tsubst_copy_and_build): Likewise.
      	* pt.c (unify_success, unify_invalid, instantiation_dependent_r):
      	Likewise.
      	* semantics.c (dfs_calculate_bases_pre): Likewise.
      	* decl2.c (fix_temporary_vars_context_r, clear_decl_external):
      	Likewise.
      	* parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable,
      	cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered,
      	cp_parser_omp_clause_untied): Likewise.
      	* mangle.c (write_unnamed_type_name,
      	discriminator_for_string_literal): Likewise.
      	* search.c (dfs_accessible_post, dfs_debug_mark): Likewise.
      	* lex.c (handle_pragma_vtable, handle_pragma_unit,
      	handle_pragma_interface, handle_pragma_implementation,
      	handle_pragma_java_exceptions): Likewise.
      
      From-SVN: r191281
      Paolo Carlini committed
    • re PR c/54559 (, ICE in gimplify_expr, at gimplify.c:7592) · 9feb29df
      	PR c/54559
      	* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
      	COMPLEX_TYPE with in_late_binary_op set temporarily to true.
      
      	* gcc.c-torture/compile/pr54559.c: New test.
      
      From-SVN: r191270
      Jakub Jelinek committed
    • configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping. · 8bf4ee34
      	* configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
      	* configure: Regenerated.
      
      From-SVN: r191267
      Jakub Jelinek committed
    • re PR c++/53839 ([C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391) · 9c7de5c6
      	PR c++/53839
      	* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
      	address, make sure the value is constant.
      
      From-SVN: r191263
      Jason Merrill committed
    • re PR c++/54511 (internal compiler error: in make_decl_rtl, at varasm.c:1147) · afcf5b8e
      	PR c++/54511
      	* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
      
      From-SVN: r191262
      Jason Merrill committed
    • re PR c++/53836 (ICE: unexpected expression of kind template_parm_index) · 7c8233ce
      	PR c++/53836
      	* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
      	be dependent.
      
      From-SVN: r191261
      Jason Merrill committed
    • re PR fortran/54556 (Marking implicitly pure variables as DECL_PURE_P leads to wrong code) · c915f8bc
      2012-09-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54556
              * resolve.c (resolve_formal_arglist): Allow VALUE arguments
              with implicit_pure.
              (gfc_impure_variable): Don't check gfc_pure such that the
              function also works for gfc_implicit_pure procedures.
      
      2012-09-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54556
              * gfortran.dg/implicit_pure_3.f90: New.
      
      From-SVN: r191259
      Tobias Burnus committed
    • i386.md (prefetch): Do not assert mode of operand 0. · b5c350d8
      	* config/i386/i386.md (prefetch): Do not assert mode of operand 0.
      	(*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
      	Rename to ...
      	(*prefetch_sse): ... this.
      	(*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
      	Rename to ...
      	(*prefetch_3dnow): ... this.
      
      From-SVN: r191256
      Uros Bizjak committed