Commit Graph

122508 Commits

Author SHA1 Message Date
Jan Hubicka be77e1e562 * lto-cgraph.c (merge_profile_summaries): Fix overflows.
From-SVN: r197218
2013-03-28 23:31:58 +00:00
Thomas Koenig eab19a1a95 re PR fortran/45159 (Unnecessary temporaries)
2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.h (gfc_dep_difference):  Add prototype.
	* dependency.c (discard_nops):  New function.
	(gfc_dep_difference):  New function.
	(check_section_vs_section):  Use gfc_dep_difference
	to calculate the difference of starting indices.
	* trans-expr.c (gfc_conv_substring):  Use
	gfc_dep_difference to calculate the length of
	substrings where possible.

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.dg/string_length_2.f90:  New test.
	* gfortran.dg/dependency_41.f90:  New test.

From-SVN: r197217
2013-03-28 21:30:26 +00:00
Thomas Koenig 4099436d98 re PR fortran/55806 (Missed optimization with ANY or ALL)
2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/55806
	* frontend-passes.c (optimize_code):  Keep track of
	current code to make code insertion possible.
	(combine_array_constructor):  New function.
	(optimize_op):  Call it.

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/55806
	* gfortran.dg/array_constructor_43.f90:  New test.
	* gfortran.dg/random_seed_3.f90:  New test.

From-SVN: r197216
2013-03-28 21:02:00 +00:00
Ian Bolton 777e69760d [AArch64] Only maintain frame record when required or desired
From-SVN: r197215
2013-03-28 20:33:15 +00:00
Jason Merrill 2b24855e1e re PR c++/17232 ([DR 1640] classes and class template specializations treated differently w.r.t. core issue #337)
PR c++/17232
	PR c++/52748
	* typeck2.c (abstract_virtuals_error_sfinae): Don't complete
	the type if tf_decltype is set.
	* pt.c (fn_type_unification): Add decltype_p parm.
	(get_bindings): Adjust.
	* cp-tree.h: Adjust.
	* class.c (resolve_address_of_overloaded_function): Adjust.
	* call.c (add_template_candidate_real, print_z_candidate): Adjust.

From-SVN: r197214
2013-03-28 14:21:06 -04:00
Jason Merrill f5e44182eb re PR c++/56679 ([C++11] Cannot take sizeof... a template template parameter pack)
PR c++/56679
	* parser.c (cp_parser_sizeof_pack): Split out from...
	(cp_parser_sizeof_operand): ...here.  Require (id).

From-SVN: r197213
2013-03-28 14:20:58 -04:00
Jason Merrill 374b283748 re PR c++/56701 ([C++11] The *this* pointer fails to bind to rvalue reference to pointer type)
PR c++/56701
	* semantics.c (finish_this_expr): 'this' is an rvalue.
	* typeck.c (cp_build_indirect_ref): Handle NOP_EXPR of 'this'.

From-SVN: r197212
2013-03-28 14:20:51 -04:00
Jason Merrill fad882c6d9 re PR c++/56710 (Using reserved double underscore variable name in a lambda causes internal compiler error)
PR c++/56710
	* semantics.c (finish_member_declaration): Don't push closure
	members.

From-SVN: r197211
2013-03-28 14:20:45 -04:00
Jason Merrill c561e95201 name-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and current_nonlambda_class_type.
* name-lookup.c (pushdecl_maybe_friend_1): Use
	nonlambda_method_basetype and current_nonlambda_class_type.

From-SVN: r197210
2013-03-28 14:20:37 -04:00
Jason Merrill 477e1843fd re PR c++/56728 (ICE using constexpr initialization and arrays)
PR c++/56728
	* semantics.c (potential_constant_expression_1) [NOP_EXPR]: Reject
	conversion from integer to pointer.
	(cxx_eval_constant_expression): Likewise.
	(cxx_eval_indirect_ref): Use the folded operand if we still think
	this might be constant.

From-SVN: r197209
2013-03-28 14:20:30 -04:00
Uros Bizjak 9cd347ae13 i386.md (*vec_extract2vdi_1): Merge with *vec_extractv2di_1_rex64.
* config/i386/i386.md (*vec_extract2vdi_1): Merge with
	*vec_extractv2di_1_rex64.  Use x64 isa attribute.

From-SVN: r197208
2013-03-28 19:18:50 +01:00
Naveen H.S 2a1d1991ea aarch64.md (*and<mode>3_compare0): New pattern.
2013-03-28   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* config/aarch64/aarch64.md (*and<mode>3_compare0): New pattern.
	(*andsi3_compare0_uxtw): New pattern.
	(*and_<SHIFT:optab><mode>3_compare0): New pattern.
	(*and_<SHIFT:optab>si3_compare0_uxtw): New pattern.

From-SVN: r197207
2013-03-28 17:19:06 +00:00
Paolo Carlini 7abebba7f2 re PR c++/56725 (extra spaces in error message)
/cp
2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>
	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/56725
	* call.c (convert_like_real): Change series of two permerrors
	to permerror + inform (and likewise for two errors).
	(build_new_method_call_1): Likewise.
	* typeck.c (convert_for_initialization): Change additional
	warning or error to inform.

/testsuite
2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56725
	* g++.dg/conversion/op4.C: Adjust.
	* g++.dg/cpp0x/rv1n.C: Likewise.
	* g++.dg/cpp0x/rv2n.C: Likewise.
	* g++.dg/cpp0x/template_deduction.C: Likewise.
	* g++.dg/expr/cond8.C: Likewise.
	* g++.dg/other/error4.C: Likewise.
	* g++.old-deja/g++.bugs/900514_03.C: Likewise.
	* g++.old-deja/g++.bugs/900519_02.C: Likewise.
	* g++.old-deja/g++.bugs/900519_03.C: Likewise.
	* g++.old-deja/g++.bugs/900520_02.C: Likewise.
	* g++.old-deja/g++.jason/conversion2.C: Likewise.
	* g++.old-deja/g++.law/cvt20.C: Likewise.
	* g++.old-deja/g++.law/cvt8.C: Likewise.
	* g++.old-deja/g++.law/init8.C: Likewise.
	* g++.old-deja/g++.mike/net12.C: Likewise.
	* g++.old-deja/g++.mike/net8.C: Likewise.
	* g++.old-deja/g++.mike/p2793.C: Likewise.
	* g++.old-deja/g++.mike/p3836.C: Likewise.
	* g++.old-deja/g++.mike/p418.C: Likewise.
	* g++.old-deja/g++.mike/p701.C: Likewise.
	* g++.old-deja/g++.mike/p807.C: Likewise.

From-SVN: r197206
2013-03-28 16:03:32 +00:00
Jan Hubicka 89ab31c157 data-streamer-in.c (streamer_read_gcov_count): New function.
* data-streamer-in.c (streamer_read_gcov_count): New function.
	* gimple-streamer-out.c: Include value-prof.h.
	(output_gimple_stmt): Output histogram.
	(output_bb): Use streamer_write_gcov_count.
	* value-prof.c: Include data-streamer.h
	(dump_histogram_value): Add HIST_TYPE_MAX.
	(stream_out_histogram_value): New function.
	(stream_in_histogram_value): New function.
	* value-prof.h (enum hist_type): Add HIST_TYPE_MAX.
	(stream_out_histogram_value, stream_in_histogram_value): Declare.
	* data-streamer-out.c (streamer_write_gcov_count): New function.
	(streamer_write_gcov_count_stream): New function.
	* lto-cgraph.c (lto_output_edge): Update counter streaming.
	(lto_output_node): Likewise.
	(input_node, input_edge): Likewise.
	* lto-streamer-out.c (output_cfg): Update streaming.
	* lto-streamer-in.c (input_cfg): Likewise.
	* data-streamer.h (streamer_write_gcov_count,
	streamer_write_gcov_count_stream, streamer_read_gcov_count): Declare.
	* gimple-streamer-in.c: Include value-prof.h
	(input_gimple_stmt): Input histograms.
	(input_bb): Update profile streaming.

From-SVN: r197205
2013-03-28 15:29:40 +00:00
Tejas Belagod 525ec7ee9c re PR c++/56694 (Internal compiler error when compiling OpenMP code)
2013-03-28  Tejas Belagod  <tejas.belagod@arm.com>

	PR middle-end/56694
	* g++.dg/torture/pr56694.C: Fix test case to build on bare-metal 
	targets.

From-SVN: r197201
2013-03-28 14:57:43 +00:00
Kenneth Zadeck 8697be17fe genmodes.c (emit_max_int): New function.
2013-03-28  Kenneth Zadeck <zadeck@naturalbridge.com>

   	* genmodes.c (emit_max_int): New function.
	(emit_insn_modes_h): Added call to emit_max_function.
	* doc/rtl.texi (MAX_BITSIZE_MODE_ANY_INT, MAX_BITSIZE_MODE_ANY_MODE): Added doc.	
	* machmode.def: Fixed comment.

From-SVN: r197200
2013-03-28 14:46:31 +00:00
Kenneth Zadeck b4c73eedf3 combine.c (try_combine): Removed useless assert.
2013-03-28  Kenneth Zadeck <zadeck@naturalbridge.com>

	* combine.c (try_combine): Removed useless assert. 
	* cselib.c (rtx_equal_for_cselib_1): Removed unnecessary parens.

From-SVN: r197198
2013-03-28 14:09:46 +00:00
Gabriel Dos Reis 9173cf24ee cp-tree.h (next_aggr_init_expr_arg): Remove static specifier.
* cp-tree.h (next_aggr_init_expr_arg): Remove static specifier.
	(first_aggr_init_expr): Likewise.
	(more_aggr_init_expr_args_p): Likewise.
	(type_of_this_parm): Likewise.
	(class_of_this_parm): Likewise.
	* name-lookup.h (get_global_value_if_present): Likewise.
	(is_typename_at_global_scope): Likewise.

From-SVN: r197196
2013-03-28 13:48:56 +00:00
Marek Polacek 749469789f re PR tree-optimization/56695 (ICE in expand_vec_cond_expr, at optabs.c:6751)
PR tree-optimization/56695
* tree-vect-stmts.c (vectorizable_condition): Unconditionally
build signed result of a vector comparison.
* tree-cfg.c (verify_gimple_comparison): Check that a result
of a vector comparison has signed type.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r197192
2013-03-28 11:14:44 +00:00
Paolo Carlini 129677c1cf call.c (joust): Don't call inform for a permerror returning false.
2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (joust): Don't call inform for a permerror returning false.
	* parser.c (cp_parser_check_class_key): Likewise.
	* pt.c (tsubst_copy_and_build): Likewise.

From-SVN: r197190
2013-03-28 10:00:05 +00:00
Richard Biener a64b9c261d re PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized)
2013-03-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/37021
	* tree-vect-slp.c (vect_build_slp_tree): When not unrolling
	do not restrict gaps between groups.
	* tree-vect-stmts.c (vectorizable_load): Properly account for
	a gap between groups.

	* gcc.dg/vect/fast-math-slp-38.c: New testcase.
	* gcc.dg/vect/O3-pr36098.c: Un-XFAIL.

From-SVN: r197189
2013-03-28 09:55:15 +00:00
Eric Botcazou a9dc2a2f95 toplev.c (process_options): Do not disable -fomit-frame-pointer on a general basis if...
* toplev.c (process_options): Do not disable -fomit-frame-pointer on a
	general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
	is not enabled.

From-SVN: r197186
2013-03-28 08:29:10 +00:00
GCC Administrator f1c47b9db7 Daily bump.
From-SVN: r197184
2013-03-28 00:16:44 +00:00
Gerald Pfeifer 53cb97f923 invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
* doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
	* doc/extend.texi (Named Address Spaces): Ditto.
	(Variable Attributes): Ditto.

From-SVN: r197180
2013-03-27 22:39:27 +00:00
Kai Tietz 01680d9896 configure: Regenerated.
* configure: Regenerated.

From-SVN: r197179
2013-03-27 23:01:39 +01:00
Kai Tietz d89ffaf358 configure: Regenerated.
* configure: Regenerated.

From-SVN: r197178
2013-03-27 23:00:53 +01:00
Kai Tietz 071928d9dc configure: Regenerated.
* configure: Regenerated.

From-SVN: r197177
2013-03-27 23:00:03 +01:00
Kai Tietz e9fd8c190e config.host: Add support for cygwin x64 target.
2013-03-27  Kai Tietz  <ktietz@redhat.com>

	* config.host: Add support for cygwin x64 target.
	* configure: Regenerated.

From-SVN: r197176
2013-03-27 22:59:10 +01:00
Kai Tietz eddae10ad3 Fix whitespace issue
From-SVN: r197175
2013-03-27 22:58:04 +01:00
Kai Tietz 7e866c8b6f crossconfig.m4: Add support for cygwin x64 target.
* crossconfig.m4: Add support for cygwin x64 target.
	* configure: Regenerated.

From-SVN: r197174
2013-03-27 22:56:57 +01:00
Joseph Myers 040f18a666 * zh_TW.po: Update.
From-SVN: r197172
2013-03-27 21:55:16 +00:00
Kai Tietz b802ae5c6f config.build: Add support for cygwin x64 target.
* config.build: Add support for cygwin x64 target.
        * config.gcc: Likewise.
        * config.host: Likewise.
        * configure.ac: Likewise
        * configure: Regenerated.

From-SVN: r197171
2013-03-27 22:54:50 +01:00
Kai Tietz 8fecb5614a dfp.m4: Add support for cygwin x64 target.
* dfp.m4: Add support for cygwin x64 target.
        * picflag.m4: Likewise.

From-SVN: r197170
2013-03-27 22:53:32 +01:00
Kai Tietz 8269de5462 cygwin-stdint.h: Add support for cygwin x64 target.
* config/i386/cygwin-stdint.h: Add support for cygwin x64 target.
	* config/i386/t-cygwin-w64: New file.
	* config/i386/cygwin-w64.h: New file.
	* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): Extend
	and add support for x64-cygwin target.
	(CPP_SPEC): Likewise.
	(CXX_WRAP_SPEC_LIST): Undefine before define.
	(LIBGCJ_SONAME): Use 15 as version.

From-SVN: r197168
2013-03-27 21:54:01 +01:00
Jason Merrill d348f17260 re PR c++/56749 (weird interaction between scoped enum used as non-type template parameter and template lookup)
PR c++/56749
	* semantics.c (finish_qualified_id_expr): Return early
	for enum scope.

From-SVN: r197166
2013-03-27 14:21:12 -04:00
Richard Biener f49b33cb22 re PR target/56716 (during gcc 4.8.0 build on Cygwin: bid128_fma.c:4460:1: internal compiler error: Segmentation fault)
2013-03-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56716
	* tree-ssa-structalias.c (perform_var_substitution): Adjust
	dumping for ref nodes.

From-SVN: r197165
2013-03-27 15:10:50 +00:00
Martin Jambor b37a6ce509 re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization))
2013-03-27  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/55334
	* ipa-cp.c (initialize_node_lattices): Allow IPA-CP through and to
	restricted pointers to arrays.

From-SVN: r197163
2013-03-27 15:06:58 +01:00
Gabriel Dos Reis 9469b9b27b Makefile.in (.SUFFIXES): Add .cc.
* Makefile.in (.SUFFIXES): Add .cc.
	(.c.o): Apply same recipe for implicit rule .cc.o.

From-SVN: r197162
2013-03-27 13:20:12 +00:00
Tobias Burnus 1a8c1e35b3 re PR fortran/56650 (Odd error messages with C_SIZEOF for valid code)
2013-03-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56650
        PR fortran/36437
        * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
        gfc_check_storage_size): Update checks.
        * intrinsic.texi (SIZEOF): Correct class.
        * intrinsic.h (gfc_simplify_sizeof,
        gfc_simplify_storage_size): New prototypes.
        * intrinsic.c (add_functions): Use them.
        * simplify.c (gfc_simplify_sizeof,
        gfc_simplify_storage_size): New functions.

2013-03-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56650
        PR fortran/36437
        * gfortran.dg/sizeof_2.f90: New.
        * gfortran.dg/sizeof_3.f90: New.
        * gfortran.dg/sizeof_proc.f90: Update dg-error.

From-SVN: r197159
2013-03-27 11:45:58 +01:00
Richard Biener 7d24f650fa re PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized)
2013-03-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/37021
	* tree-vect-data-refs.c (vect_check_strided_load): Allow
	REALPART/IMAGPART_EXPRs around the supported refs.
	* tree-ssa-structalias.c (find_func_aliases): Assume that
	floating-point values are not used to transfer pointers.

	* gfortran.dg/vect/fast-math-pr37021.f90: New testcase.

From-SVN: r197158
2013-03-27 10:38:29 +00:00
Alexander Ivchenko 173536ed5f ivinline-1.C: Add target nonpic.
* g++.dg/ipa/ivinline-1.C: Add target nonpic.
        * g++.dg/ipa/ivinline-2.C: Likewise.
        * g++.dg/ipa/ivinline-3.C: Likewise.
        * g++.dg/ipa/ivinline-4.C: Likewise.
        * g++.dg/ipa/ivinline-5.C: Likewise.
        * g++.dg/ipa/ivinline-7.C: Likewise.
        * g++.dg/ipa/ivinline-8.C: Likewise.
        * g++.dg/ipa/ivinline-9.C: Likewise.
        * g++.dg/cpp0x/noexcept03.C: Likewise.
        * gcc.dg/const-1.c: Likewise.
        * gcc.dg/ipa/pure-const-1.c: Likewise.
        * gcc.dg/noreturn-8.c: Likewise.
        * gcc.target/i386/mmx-1.c: Likewise.
        * gcc.dg/tree-ssa/ipa-split-5.c: Likewise.
        * gcc.dg/tree-ssa/loadpre6.c: Likewise.
        * gcc.c-torture/execute/pr33992.x: New file.

From-SVN: r197157
2013-03-27 10:00:43 +00:00
Alexander Ivchenko 2f251a0535 target.def (TARGET_HAS_IFUNC_P): New target hook.
* gcc/target.def (TARGET_HAS_IFUNC_P): New target hook.
        * gcc/doc/tm.texi.in (TARGET_HAS_IFUNC_P): New.
        * gcc/doc/tm.texi: Regenerate.
        * gcc/targhooks.h (default_has_ifunc_p): New.
        * gcc/targhooks.c (default_has_ifunc_p): Ditto.
        * gcc/config/linux-protos.h: New file.
        * gcc/config/linux-android.h (TARGET_HAS_IFUNC_P): Using version of
        this hook for linux which disables support of indirect functions in
        android.
        * gcc/config/linux-android.c: New file.
        * gcc/config/t-linux-android.c: Ditto.
        * gcc/config.gcc: Added new object file linux-android.o.
        * gcc/config/i386/i386.c (ix86_get_function_versions_dispatcher):
        Using TARGET_HAS_IFUNC hook instead of HAVE_GNU_INDIRECT_FUNCTION.
        * gcc/varasm.c (do_assemble_alias): Likewise.
        * configure.ac: Define HAVE_GNU_INDIRECT_FUNCTION as zero if the target
        doesn't support indirect functions.
        * configure: Regenerate.

From-SVN: r197156
2013-03-27 09:55:19 +00:00
Bin Cheng 78b4e425a6 re PR target/56102 (Wrong rtx cost calculated for Thumb1)
PR target/56102
	* config/arm/arm.c (thumb1_rtx_costs, thumb1_size_rtx_costs): Fix
	rtx costs for SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT patterns with
	mult-word mode.

From-SVN: r197155
2013-03-27 08:16:54 +00:00
Andreas Krebbel a5ba7b9285 I've committed the attached patch.
2013-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.

---
 gcc/config/s390/s390.h |    5 +++++
 1 file changed, 5 insertions(+)

Index: gcc/config/s390/s390.h
===================================================================
*** gcc/config/s390/s390.h.orig
--- gcc/config/s390/s390.h
*************** enum processor_flags
*** 164,169 ****
--- 164,174 ----
  #define S390_TDC_INFINITY (S390_TDC_POSITIVE_INFINITY \
  			  | S390_TDC_NEGATIVE_INFINITY )
  
+ /* This is used by float.h to define the float_t and double_t data
+    types.  For historical reasons both are double on s390 what cannot
+    be changed anymore.  */
+ #define TARGET_FLT_EVAL_METHOD 1
+ 
  /* Target machine storage layout.  */
  
  /* Everything is big-endian.  */

From-SVN: r197154
2013-03-27 07:46:19 +00:00
Terry Guo be6249867a arm-cores.def: Added core cortex-r7.
2013-03-27  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm-cores.def: Added core cortex-r7.
	* config/arm/arm-tune.md: Regenerated.
	* config/arm/arm-tables.opt: Regenerated.
	* doc/invoke.texi: Added entry for core cortex-r7.

From-SVN: r197153
2013-03-27 07:37:32 +00:00
Walter Lee 801d9b2ac2 Fix typo in ChangeLog.
From-SVN: r197152
2013-03-27 06:53:21 +00:00
Walter Lee 0a514f47b8 tilegx.c (tilegx_expand_prologue): Avoid double-decrement of next_scratch_regno.
* config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
	double-decrement of next_scratch_regno.

From-SVN: r197139
2013-03-27 06:18:49 +00:00
Walter Lee 9332b0d294 tilegx.md (insn_v1mulu): Fix constraints on input operands.
* config/tilegx/tilegx.md (insn_v1mulu): Fix constraints on
	input operands.
	(insn_v1mulus): Ditto.
	(insn_v2muls): Ditto.

From-SVN: r197138
2013-03-27 06:17:18 +00:00
Walter Lee f54ea5dd2e tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete extra tab.
* config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
	extra tab.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.

From-SVN: r197137
2013-03-27 06:13:11 +00:00
Walter Lee bf60f4ca46 tilegx.md (*sibcall_insn): Fix type atribute for jr.
* config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
	for jr.
	(*sibcall_value): Ditto.

From-SVN: r197136
2013-03-27 06:11:35 +00:00