129017 Commits

Author SHA1 Message Date
Andreas Krebbel
6e77facf95 s390.c (s390_can_use_return_insn): Check for call-saved FPRs on 31 bit.
2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_can_use_return_insn): Check for
	call-saved FPRs on 31 bit.

2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.target/s390/20140327-1.c: New testcase.

From-SVN: r208867
2014-03-27 15:38:29 +00:00
Yaakov Selkowitz
ba1925c368 Makefile.def (dependencies): Make all-ld depend on all-binutils for WINDRES_FOR_TARGET in default-manifest.o...
* Makefile.def (dependencies): Make all-ld depend on all-binutils
	for WINDRES_FOR_TARGET in default-manifest.o rule.
	* Makefile.in: Regenerate.

From-SVN: r208865
2014-03-27 13:36:21 +00:00
Jakub Jelinek
47519a1446 re PR middle-end/60682 ([OpenMP] ICE on an assignment of local variable inside SIMD loop)
PR middle-end/60682
	* omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
	if they need regimplification, just drop them instead of
	calling gimple_regimplify_operands on them.

	* g++.dg/gomp/pr60682.C: New test.

From-SVN: r208864
2014-03-27 14:18:52 +01:00
John David Anglin
82bb2e4069 pr60092.c: Remove default dg-skip-if arguments.
* gcc.dg/torture/pr60092.c: Remove default dg-skip-if arguments.

From-SVN: r208863
2014-03-27 12:33:06 +00:00
Marcus Shawcroft
0b7f81668e [PR 60580, AArch64] Fix __attribute__ ((optimize("no-omit-frame-pointer")))
The implementation of -m[no-]omit-leaf-frame-pointer and
-f[no-]omit-frame-pointer in the AArch64 target does not behave
correctly in the presence of __attribute__ optimize.

This patch adjusts the implementation to work in a similar fashion to
the same functionality in the i386 target.

The problem occurs because the current implementation uses a global
'faked_omit_frame_pointer' to retain the original value of
flag_omit_frame_pointer.  The global does not form part of the
optimization save state.

This solution removes the global and instead tracks required behaviour
using only flag_omit_frame_pointer and flag_omit_leaf_frame_pointer.
These two form part of the optimziation save state and target save
state respectively.

The additional complication for AArch64 is that the PCS requires that
given -fno-omit-frame-pointer -momit-leave-frame-pointer, a leaf
function that kills LR must create a frame record.  This is readily
handled in aarch64_frame_pointer_required().  I've dropped logic in
aarch64_can_eliminate() that attempts to detect this scenario since it

From-SVN: r208862
2014-03-27 10:13:50 +00:00
Dehao Chen
2f2a7d1543 * ipa-inline.c (early_inliner): Update node's inline info.
From-SVN: r208861
2014-03-27 01:01:07 +00:00
Dehao Chen
a0dbf28553 dojump.c (do_compare_rtx_and_jump): Sets correct probability for compiler inserted conditional jumps for NAN float...
* dojump.c (do_compare_rtx_and_jump): Sets correct probability for
	compiler inserted conditional jumps for NAN float check.
	* gcc.dg/predict-8.c: New test.

From-SVN: r208860
2014-03-27 00:41:10 +00:00
GCC Administrator
e5d6141d82 Daily bump.
From-SVN: r208859
2014-03-27 00:16:59 +00:00
Jakub Jelinek
7cc51d643e futex_bits.h: Include errno.h.
* config/linux/futex_bits.h: Include errno.h.
	(sys_futex0): If syscall returns -1, return -errno rather than
	-1.

From-SVN: r208855
2014-03-26 22:52:16 +01:00
Fabien Chêne
816551fe37 re PR c++/52369 (Const-qualified non-class base member and defaulted default constructor)
2014-03-26  Fabien Chene  <fabien@gcc.gnu.org>
        PR c++/52369
        * cp/method.c (walk_field_subobs): improve the diagnostic
	locations for both REFERENCE_TYPEs and non-static const members.
	* cp/init.c (diagnose_uninitialized_cst_or_ref_member): use %q#D
	instead of %qD to be consistent with the c++11 diagnostic.

2014-03-26  Fabien Chene  <fabien@gcc.gnu.org>

        PR c++/52369
        * g++.dg/init/const10.C: New.
	* g++.dg/init/const11.C: New.
	* g++.dg/init/pr25811.C: Adjust.
	* g++.dg/init/pr29043.C: Likewise.
	* g++.dg/init/pr43719.C: Likewise.
	* g++.dg/init/pr44086.C: Likewise.
	* g++.dg/init/ctor8.C: Likewise.
	* g++.dg/init/uninitialized1.C: Likewise.

From-SVN: r208854
2014-03-26 22:33:28 +01:00
Joseph Myers
c288ec8f21 * libitm.texi (Index): Rename to Library Index.
From-SVN: r208853
2014-03-26 21:20:04 +00:00
Dominique d'Humieres
274c7b7b4c re PR fortran/34928 (Extension: volatile common blocks)
PR fortran/34928
        * fortran.texi: Document Volatile COMMON as not supported.

From-SVN: r208852
2014-03-26 21:39:42 +01:00
Tobias Burnus
6690cb2ea5 Add libcilkrts/libcilkrts.spec.in, missing from r208847
From-SVN: r208851
2014-03-26 20:43:17 +01:00
Jakub Jelinek
07d72e1df3 ubsan.h (ubsan_create_data): Change second argument's type to const location_t *.
* ubsan.h (ubsan_create_data): Change second argument's type
	to const location_t *.
	* ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
	_("<unknown>").
	(ubsan_create_data): Change second argument to const location_t *PLOC.
	Create Loc field whenever PLOC is non-NULL.
	(ubsan_instrument_unreachable, ubsan_expand_null_ifn,
	ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
	callers.
c-family/
	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
	ubsan_instrument_vla, ubsan_instrument_return): Adjust
	ubsan_create_data callers.

From-SVN: r208849
2014-03-26 20:33:40 +01:00
Jakub Jelinek
ed0ca1e1ea re PR other/59545 (Signed integer overflow issues)
PR other/59545
	* real.c (real_to_integer2): Change type of low to UHWI.

From-SVN: r208848
2014-03-26 20:32:40 +01:00
Tobias Burnus
b9487dd868 gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
gcc/
2014-03-26  Tobias Burnus  <burnus@net-b.de>

        * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
        (CILK_SELF_SPECS): New define.
        (driver_self_specs): Use it.

libcilkrts/
2014-03-26  Tobias Burnus  <burnus@net-b.de>

        * libcilkrts.spec.in: New.
        * Makefile.am: Handle libcilkrts.spec.
        * configure.ac: Determine link options for libcilkrts.spec.
        * Makefile.in: Regenerate.
        * configure: Regenerate.
        * aclocal.m4: Regenerate.

From-SVN: r208847
2014-03-26 20:16:35 +01:00
Dominique d'Humieres
8707b3bcc0 MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r208846
2014-03-26 18:33:09 +01:00
Jason Merrill
d74db8ff1c re PR c++/60566 (r208573 omits needed thunks)
PR c++/60566
	PR c++/58678
	* class.c (build_vtbl_initializer): Handle abstract dtors here.
	* search.c (get_pure_virtuals): Not here.

From-SVN: r208845
2014-03-26 12:50:26 -04:00
Richard Biener
3a2700f61b tree-pretty-print.c (percent_K_format): Implement special case for LTO and its stripped down BLOCK tree.
2014-03-26  Richard Biener  <rguenther@suse.de>

	* tree-pretty-print.c (percent_K_format): Implement special
	case for LTO and its stripped down BLOCK tree.

From-SVN: r208843
2014-03-26 09:47:36 +00:00
Jakub Jelinek
9e1c8fc1a5 re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
	* Makefile.def: Set bootstrap=true; for host fixincludes.
	* configure.ac: Don't bootstrap host fixincludes unless
	--with-build-config=bootstrap-{a,ub}san.
	* Makefile.in: Regenerated.
	* configure: Regenerated.

From-SVN: r208842
2014-03-26 10:19:44 +01:00
Jakub Jelinek
aa6b742f0f re PR sanitizer/60636 (ubsan doesn't instrument signed integer ABS_EXPR)
PR sanitizer/60636
	* ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.

	* c-c++-common/ubsan/pr60636.c: New test.

From-SVN: r208841
2014-03-26 10:18:26 +01:00
Jakub Jelinek
368b454d67 tree-vrp.c (simplify_internal_call_using_ranges): If only one range is range_int_cst_p...
* tree-vrp.c (simplify_internal_call_using_ranges): If only
	one range is range_int_cst_p, but not both, at least optimize
	addition/subtraction of 0 and multiplication by 0 or 1.
	* gimple-fold.c (gimple_fold_call): Fold
	IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
	(gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
	INTEGER_CSTs, try to fold at least x * 0 and y - y.

From-SVN: r208840
2014-03-26 10:17:10 +01:00
Andreas Schwab
ee0cff6049 * g++.dg/torture/pr60315.C: Remove duplication.
From-SVN: r208839
2014-03-26 08:31:30 +00:00
Eric Botcazou
c7e30a96b1 re PR rtl-optimization/60452 (wrong code at -O1 with large offsets in the frame)
PR rtl-optimization/60452
	* rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
	<case REG>: Return 1 for invalid offsets from the frame pointer.

From-SVN: r208837
2014-03-26 07:38:30 +00:00
Marek Polacek
d615d76322 re PR c/37428 (GNU VLA-in-structure extension is undocumented)
PR c/37428
	* doc/extend.texi (C Extensions): Mention variable-length arrays in
	a structure/union.

From-SVN: r208836
2014-03-26 06:58:15 +00:00
Marek Polacek
1b2265295a re PR c/39525 ([easy to fix bug] Docs for C99 "designated initializers" isn't clear what happens to omitted field members)
PR c/39525
	* doc/extend.texi (Designated Inits): Describe what happens to omitted
	field members.

From-SVN: r208835
2014-03-26 06:55:39 +00:00
Marek Polacek
6686e0bc1e re PR other/59545 (Signed integer overflow issues)
PR other/59545
	* ira-color.c (update_conflict_hard_regno_costs): Perform the
	multiplication in unsigned type.

From-SVN: r208834
2014-03-26 06:46:27 +00:00
Chung-Ju Wu
d4fbc3ae80 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
From-SVN: r208833
2014-03-26 03:14:42 +00:00
Chung-Ju Wu
dfa6c87bbb * doc/contrib.texi: Add myself as Andes nds32 port contributor.
From-SVN: r208832
2014-03-26 02:59:36 +00:00
Jan Hubicka
9de6f6c3ee re PR ipa/60315 (template constructor switch optimization)
PR ipa/60315
	* cif-code.def (UNREACHABLE) New code.
	* ipa-inline.c (inline_small_functions): Skip edges to __builtlin_unreachable.
	(estimate_edge_growth): Allow edges to __builtlin_unreachable.
	* ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
	predicate to __bulitin_unreachable.
	(set_cond_stmt_execution_predicate): Fix issue when invert_tree_comparison
	returns ERROR_MARK.
	* ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
	propagate to inline clones.
	* cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
	to unreachable.
	* ipa-cp.c (create_specialized_node): Be ready for new node to appear.
	* cgraphclones.c (cgraph_clone_node): If call destination is already
	ureachable, do not redirect it back.
	* tree-inline.c (fold_marked_statements): Hanlde calls becoming
	unreachable.

From-SVN: r208831
2014-03-26 02:11:57 +00:00
Jan Hubicka
d7636f5609 ipa-pure-const.c (propagate_pure_const, [...]): Do not modify inline clones.
* ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
	Do not modify inline clones.

From-SVN: r208830
2014-03-26 02:07:51 +00:00
GCC Administrator
72731c33b1 Daily bump.
From-SVN: r208829
2014-03-26 00:17:17 +00:00
Jakub Jelinek
d1873c577e i386.md (general_sext_operand): New mode attr.
* config/i386/i386.md (general_sext_operand): New mode attr.
	(addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
	don't generate (sign_extend (const_int)).
	(*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
	operands[2].  Use We constraint instead of <i> and <general_sext_operand>
	predicate instead of <general_operand>.
	(*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
	* config/i386/constraints.md (We): New constraint.
	* config/i386/predicates.md (x86_64_sext_operand,
	sext_operand): New predicates.

From-SVN: r208824
2014-03-25 22:47:41 +01:00
Jonathan Wakely
5ec16257ca re PR libstdc++/60658 (std::atomic<T*> is unexpectedly not lock-free)
PR libstdc++/60658
	* include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
	Use sizeof pointer type not the element type.
	* testsuite/29_atomics/atomic/60658.cc: New.

From-SVN: r208819
2014-03-25 19:39:52 +00:00
Martin Jambor
b5165eb022 re PR ipa/60600 (ICE in ipa_get_indirect_edge_target_1)
2014-03-25  Martin Jambor  <mjambor@suse.cz>

	PR ipa/60600
	* ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
	inconsistent devirtualizations to __builtin_unreachable.

testsuite/
	* g++.dg/ipa/pr60600.C: New test.

From-SVN: r208818
2014-03-25 19:22:41 +01:00
Jason Merrill
1cbba79d07 re PR c++/60375 ([c++11] ICE with invalid use of lambda)
PR c++/60375
	* parser.c (cp_parser_lambda_expression): Don't parse the body of
	a lambda in unevaluated context.

From-SVN: r208817
2014-03-25 14:00:37 -04:00
Jason Merrill
45156f1474 re PR c++/60628 ([c++11] ICE initializing array of auto)
PR c++/60628
	* decl.c (create_array_type_for_decl): Complain about array of auto.

From-SVN: r208816
2014-03-25 14:00:30 -04:00
Marek Polacek
3102858dba re PR c/35449 (extended asm documentation wrong)
PR c/35449
	* doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.

From-SVN: r208815
2014-03-25 16:50:54 +00:00
Alan Lawrence
4b1e108cb2 [PATCH AArch64] Fix aarch64_simd_valid_immediate for Bigendian
gcc/

	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
	order of elements for big-endian.

From-SVN: r208814
2014-03-25 15:59:48 +00:00
John David Anglin
774f475861 re PR testsuite/58013 (main() not generated in assembler output)
PR testsuite/58013
	* g++.dg/opt/pr56999.C: Pop hidden visibility.

From-SVN: r208813
2014-03-25 12:06:17 +00:00
Richard Biener
40b0722fa3 re PR lto/60635 (ICE when mixing C and Fortran lto1: error: use operand missing for stmt)
2014-03-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/60635
	* gimplify-me.c (gimple_regimplify_operands): Update the
	re-gimplifed stmt.

	* gfortran.dg/lto/pr60635_0.f90: New testcase.
	* gfortran.dg/lto/pr60635_1.c: Likewise.

From-SVN: r208811
2014-03-25 11:43:03 +00:00
Martin Jambor
4a5798de3e re PR ipa/59176 (ICE edge points to wrong declaration / verify_cgraph_node failed)
2014-03-25  Martin Jambor  <mjambor@suse.cz>

	PR ipa/59176
	* lto-cgraph.c (lto_output_node): Stream body_removed flag.
	(lto_output_varpool_node): Likewise.
	(input_overwrite_node): Likewise.
	(input_varpool_node): Likewise.

From-SVN: r208809
2014-03-25 11:57:07 +01:00
Richard Biener
585d00880e lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
2014-03-25  Richard Biener  <rguenther@suse.de>

	* lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like
	OPT_fpie.
	(run_gcc): Likewise.

From-SVN: r208807
2014-03-25 10:10:31 +00:00
Jakub Jelinek
8bcc90b0af re PR c++/60331 (ICE with OpenMP #pragma omp declare reduction in template class)
PR c++/60331
	* semantics.c (potential_constant_expression_1): Handle
	DECL_EXPR.

	* testsuite/libgomp.c++/udr-11.C: New test.
	* testsuite/libgomp.c++/udr-12.C: New test.
	* testsuite/libgomp.c++/udr-13.C: New test.
	* testsuite/libgomp.c++/udr-14.C: New test.
	* testsuite/libgomp.c++/udr-15.C: New test.
	* testsuite/libgomp.c++/udr-16.C: New test.
	* testsuite/libgomp.c++/udr-17.C: New test.
	* testsuite/libgomp.c++/udr-18.C: New test.
	* testsuite/libgomp.c++/udr-19.C: New test.

From-SVN: r208806
2014-03-25 10:30:10 +01:00
Jakub Jelinek
51ee05d038 combine.c (simplify_compare_const): Add MODE argument.
* combine.c (simplify_compare_const): Add MODE argument.
	Handle mode_width 0 as very large mode_width.
	(try_combine, simplify_comparison): Adjust callers.

From-SVN: r208805
2014-03-25 10:28:33 +01:00
Jakub Jelinek
a8acccddfd cselib.c (cselib_hash_rtx): Perform addition in unsigned type to avoid signed integer overflow.
* cselib.c (cselib_hash_rtx): Perform addition in unsigned
	type to avoid signed integer overflow.
	* explow.c (plus_constant): Likewise.

From-SVN: r208804
2014-03-25 10:27:54 +01:00
Dominik Vogt
57fc74a48b generic.texi: Correct typos.
2014-03-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* doc/generic.texi: Correct typos.

From-SVN: r208803
2014-03-25 09:12:18 +00:00
GCC Administrator
e8f26d1317 Daily bump.
From-SVN: r208802
2014-03-25 00:16:38 +00:00
Adam Butcher
21554a3e26 re PR c++/60627 ([c++1y] ICE in explicit template instantiation containing auto parameter)
Fix PR c++/60627

	PR c++/60627
	* parser.c (cp_parser_parameter_declaration_clause): Prevent 'auto' from
	introducing an implicit function template parameter within an explicit
	instantiation.

	PR c++/60627
	* g++.dg/cpp1y/pr60627.C: New testcase.

From-SVN: r208799
2014-03-24 20:40:15 +00:00
Tobias Burnus
09f15d1b52 invoke.texi (-flto): Expand section about using static libraries with LTO.
2014-03-24  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (-flto): Expand section about
        using static libraries with LTO.

From-SVN: r208798
2014-03-24 20:53:52 +01:00