Commit Graph

137241 Commits

Author SHA1 Message Date
Ilya Enkovich
fad71ff5e7 i386.c (ix86_expand_call): Avoid nested PARALLEL in returned call value.
* config/i386/i386.c (ix86_expand_call): Avoid nested
	PARALLEL in returned call value.

From-SVN: r221851
2015-04-03 08:51:26 +00:00
Ilya Enkovich
a3d72251cc lto-cgraph.c (input_cgraph_1): Always link instrumented assembler name with original one.
* lto-cgraph.c (input_cgraph_1): Always link instrumented
	assembler name with original one.

From-SVN: r221850
2015-04-03 08:39:29 +00:00
GCC Administrator
fb383fd288 Daily bump.
From-SVN: r221848
2015-04-03 00:16:13 +00:00
Uros Bizjak
fcb8e42940 i386.c (ix86_register_priority): Use AX_REG.
* config/i386/i386.c (ix86_register_priority): Use AX_REG.

From-SVN: r221844
2015-04-02 19:33:22 +02:00
Marek Polacek
894bec6885 re PR c++/65642 ([C++11] GCC rejects valid constant expression)
PR c++/65642
	* constexpr.c (cxx_eval_pointer_plus_expression): Call
	cxx_eval_constant_expression on the first operand.

	* g++.dg/cpp0x/constexpr-fold1.C: New test.
	* g++.dg/cpp0x/constexpr-fold2.C: New test.

From-SVN: r221843
2015-04-02 16:51:27 +00:00
Jason Merrill
37978db4a7 re PR c++/65625 (ICE in make_typename_type, at cp/decl.c:3499)
PR c++/65625
	* decl.c (make_typename_type): Handle seeing a variable template.

From-SVN: r221842
2015-04-02 12:43:02 -04:00
Paolo Carlini
c23a9ec5f4 2015-04-02 Paolo Carlini <paolo.carlini@oracle.com>
Complete commit.

From-SVN: r221841
2015-04-02 15:23:36 +00:00
Uros Bizjak
287044d972 Revert parts of r216820.
* config/i386/i386.md (movqi_internal): Correct type calculation
	for alternatives 3 and 5.

From-SVN: r221840
2015-04-02 14:22:16 +02:00
Jakub Jelinek
b8cd77f40c re PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")
PR preprocessor/61977
	* lex.c (cpp_peek_token): Temporarily clear pfile->cb.line_change.

	* gcc.target/powerpc/pr61977-1.c: New test.
	* gcc.target/powerpc/pr61977-2.c: New test.

From-SVN: r221839
2015-04-02 13:57:02 +02:00
Jakub Jelinek
860f8be450 re PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")
PR preprocessor/61977
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
	predefine __vector/__bool/__pixel macros nor context sensitive
	macros for CLK_ASM.
	* config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.

From-SVN: r221838
2015-04-02 13:54:58 +02:00
John David Anglin
166d826fdc pa.c (pa_output_move_double): Directly handle register indexed memory operand.
* config/pa/pa.c (pa_output_move_double): Directly handle register
	indexed memory operand.  Simplify handling of scaled register indexed
	memory operands.

From-SVN: r221835
2015-04-02 11:29:48 +00:00
James Greenhalgh
e61ffb3b5a [Patch] Add myself as AArch64 Port Reviewer
* MAINTAINERS: Add myself as a reviewer for the AArch64 port.

From-SVN: r221834
2015-04-02 10:49:16 +00:00
Kyrylo Tkachov
b16cc4f20c Add myself as reviewer for arm port
* MAINTAINERS: Add myself as an arm port reviewer.

From-SVN: r221833
2015-04-02 10:19:37 +00:00
Ilya Enkovich
512470bb90 re PR driver/65444 (-z bndplt isn't passed to linker for -mmpx when building dynamic objects)
gcc/
	PR driver/65444
	* config/i386/linux-common.h (MPX_SPEC): New.
	(CHKP_SPEC): Add MPX_SPEC.
	* doc/invoke.texi (-fcheck-pointer-boudns): Document
	possible issues with '-z bndplt' support in linker.

libmpx/

	PR driver/65444
	* configure.ac: Add check for '-z bndplt' support
	by linker. Add link_mpx output variable.
	* libmpx.spec.in (link_mpx): New.
	* configure: Regenerate.

From-SVN: r221831
2015-04-02 08:15:49 +00:00
Uros Bizjak
a8caf35149 sync.md (UNSPEC_FILD_ATOMIC, [...]): New.
* config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
	(loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
	(storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
	* reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
	(subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.

From-SVN: r221830
2015-04-02 09:56:05 +02:00
Jan Hubicka
ed6ef4907a lto-cgraph.c (lto_output_node, [...]): Stream split_part.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
	split_part.
	* ipa-inline.c (edge_badness): Add wrapper penalty.
	(sum_callers): Move up.
	(inline_small_functions): Set single_caller.
	* ipa-inline.h (inline_summary): Add single_caller.
	* ipa-split.c (split_function): Set split_part.
	(cgraph_node::create_clone): Do not shadow decl; copy split_part.
	* cgraph.h (cgraph_node): Add split_part.

From-SVN: r221818
2015-04-02 05:14:26 +00:00
GCC Administrator
709d77eab7 Daily bump.
From-SVN: r221817
2015-04-02 00:16:11 +00:00
Paolo Carlini
b4d5e41f1d re PR c++/56100 (spurious -Wshadow warning with local variable in template class)
/cp
2015-04-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56100
	* pt.c (instantiating_current_function_p): New.
	* name-lookup.c (pushdecl_maybe_friend_1): Use it.
	* cp-tree.h (instantiating_current_function_p): Declare.

/testsuite
2015-04-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56100
	* g++.dg/warn/Wshadow-8.C: New.
	* g++.dg/warn/Wshadow-9.C: Likewise.
	* g++.dg/warn/Wshadow-10.C: Likewise.
	* g++.dg/warn/Wshadow-11.C: Likewise.

From-SVN: r221814
2015-04-01 21:27:55 +00:00
Uros Bizjak
35238bb505 sync.md (UNSPEC_MOVA): Remove.
* config/i386/sync.md (UNSPEC_MOVA): Remove.
	(atomic_load<mode>): Change operand 0 predicate to
	nonimmediate_operand and fix up the destination when needed.
	Use UNSPEC_LDA.
	(atomic_loaddi_fpu): Use UNSPEC_LDA.
	(atomic_store<mode>): Change operand 1 predicate to
	nonimmendate_operand and move the source to register when needed.
	Use UNSPEC_STA.
	(atomic_store<mode>_1): Use UNSPEC_STA.
	(atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
	Fix moves from memory operand.  Use UNSPEC_STA.

From-SVN: r221811
2015-04-01 19:36:24 +02:00
Jason Merrill
f87cb0b734 re PR c++/65646 (ICE in invalid syntax)
PR c++/65646
	* decl.c (grokvardecl): Don't call check_explicit_specialization
	for non-template members of a class template.

From-SVN: r221810
2015-04-01 12:36:50 -04:00
Bernd Edlinger
b6dd42a9a8 expmed.c (strict_volatile_bitfield_p): Check that the access will not cross a MODESIZE boundary.
gcc:
2015-04-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * expmed.c (strict_volatile_bitfield_p): Check that the access will
        not cross a MODESIZE boundary.
        (store_bit_field, extract_bit_field): Added assertions in the
        strict volatile bitfields code path.

testsuite:
2015-04-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/pr23623.c: Added aligned attribute.
        * gcc.dg/20141029-1.c: Likewise.
        * gcc.dg/20150306-1.c: New test.

From-SVN: r221809
2015-04-01 16:09:48 +00:00
Marek Polacek
14e51ef293 re PR middle-end/65554 (ICE: verify_gimple failed)
PR c++/65554
	* class.c (finish_struct): Require that the second field of a
	user-defined initializer_list be of size type.

	* g++.dg/cpp0x/initlist93.C: New test.
	* g++.dg/cpp0x/initlist94.C: New test.

From-SVN: r221808
2015-04-01 13:08:05 +00:00
Max Ostapenko
0ff2bf464e re PR target/65624 (ICE in aarch64-builtins.c when expanding 4-argument aarch64 intrinsic.)
2015-04-01  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	PR target/65624

	gcc/
	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): Increase
	args array size by one to avoid buffer overflow.

	gcc/testsuite/
	* gcc.target/aarch64/pr65624.c: New test.

From-SVN: r221807
2015-04-01 14:18:03 +03:00
Jan Hubicka
41f669d825 lto-cgraph.c (lto_output_node, [...]): Stream split_part.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
	split_part.
	* ipa-inline.c (edge_badness): Add wrapper penalty.
	(sum_callers): Move up.
	(inline_small_functions): Set single_caller.
	* ipa-inline.h (inline_summary): Add single_caller.
	* ipa-split.c (split_function): Set split_part.
	(cgraph_node::create_clone): Do not shadow decl; copy split_part.
	* cgraph.h (cgraph_node): Add split_part.

	* gcc.dg/ipa/inlinehint-4.c: New testcase.

From-SVN: r221806
2015-04-01 07:41:17 +00:00
GCC Administrator
9fd542c6b5 Daily bump.
From-SVN: r221805
2015-04-01 00:16:13 +00:00
Ian Lance Taylor
2ee920291d Remove some files that were accidentally committed in 2014.
From-SVN: r221802
2015-03-31 19:47:23 +00:00
Alex Velenko
d723bc36dd pr45701-1.c (history_expand_line_internal): Add an extra variable to force stack alignment.
2015-03-31  Alex Velenko  <Alex.Velenko@arm.com>

	* gcc.target/arm/pr45701-1.c (history_expand_line_internal): Add an
	extra variable to force stack alignment.
	* gcc.target/arm/pr45701-2.c (history_expand_line_internal): Add an
	extra variable to force stack alignment.

From-SVN: r221801
2015-03-31 19:00:52 +00:00
Ian Lance Taylor
9f5059b275 go/cmd/go: always link external test packages first
When linking complex packages that use both internal and external tests as well as many dependencies it is critical that the link order be external test package, internal test package, everything else.

This change is a back (forward?) port of the same change that canonical have been maintaining on their fork of the go tool for gccgo. Now that gccgo uses the go tool from upstream, this patch should be applied both to the gofrontend and golang/go repos.

From-SVN: r221800
2015-03-31 17:54:07 +00:00
Marek Polacek
397ad54db1 re PR c++/65390 (ICE in strip_typedefs, at cp/tree.c:1361)
PR c++/65390
	* tree.c (build_cplus_array_type): Use dependent_type_p rather than
	checking for constness.

	* g++.dg/template/pr65390.C: New test.

From-SVN: r221799
2015-03-31 17:35:29 +00:00
Uros Bizjak
9e91e2cd71 re PR target/58945 (Improve atomic_compare_and_swap*_doubleword pattern)
PR target/58945
	* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
	Do not split operands 0 and operands 2 to halfmode.
	(atomic_compare_and_swap<mode>): Update for
	atomic_compare_and_swap<dwi>_doubleword changes.

From-SVN: r221798
2015-03-31 19:06:37 +02:00
Jan Hubicka
36ceb0e3cc tree.c (need_assembler_name_p): Artificial types have no ODR names.
* tree.c (need_assembler_name_p): Artificial types have no ODR
	names.
	* ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
	no caching is done.
	* lto.c (lto_read_decls): Move code registering odr types out
	of TYPE_CANONICAL conditional and also register polymorphic types.

From-SVN: r221797
2015-03-31 17:03:16 +00:00
Martin Liska
12cc8c723e re PR ipa/65557 (ICE: SIGSEGV in hash_table<>::find_slot_with_hash() with -fdevirtualize -fipa-cp -fipa-icf-functions)
Fix PR65557.

	* ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
	has already filled up function summary.
	(sem_item_optimizer::update_hash_by_addr_refs): Likewise.
	* g++.dg/ipa/pr65557.C: New test.

From-SVN: r221796
2015-03-31 16:03:03 +00:00
Richard Biener
78f1b5234a tree-sra.c (create_access_replacement): Drop under-/over-alignment of types.
2015-03-31  Richard Biener  <rguenther@suse.de>

	* tree-sra.c (create_access_replacement): Drop under-/over-alignment
	of types.

From-SVN: r221795
2015-03-31 13:32:59 +00:00
Dominik Vogt
2d38d80934 S/390: Hotpatch: Remove special handling of nested functions.
gcc/
2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	    * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
	    nested functions.
	    (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
	    (s390_asm_output_function_label): Adapt to new signature of
	    s390_function_num_hotpatch_hw
	    Optimise the code generating assembler output.
	    Add comments to assembler file.

gcc/testsuite/
2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	    * gcc.target/s390/hotpatch-25.c: New test.
	    * gcc.target/s390/hotpatch-1.c: Update test.
	    * gcc.target/s390/hotpatch-10.c: Update test.
	    * gcc.target/s390/hotpatch-11.c: Update test.
	    * gcc.target/s390/hotpatch-12.c: Update test.
	    * gcc.target/s390/hotpatch-13.c: Update test.
	    * gcc.target/s390/hotpatch-14.c: Update test.
	    * gcc.target/s390/hotpatch-15.c: Update test.
	    * gcc.target/s390/hotpatch-16.c: Update test.
	    * gcc.target/s390/hotpatch-17.c: Update test.
	    * gcc.target/s390/hotpatch-18.c: Update test.
	    * gcc.target/s390/hotpatch-19.c: Update test.
	    * gcc.target/s390/hotpatch-2.c: Update test.
	    * gcc.target/s390/hotpatch-21.c: Update test.
	    * gcc.target/s390/hotpatch-22.c: Update test.
	    * gcc.target/s390/hotpatch-23.c: Update test.
	    * gcc.target/s390/hotpatch-24.c: Update test.
	    * gcc.target/s390/hotpatch-3.c: Update test.
	    * gcc.target/s390/hotpatch-4.c: Update test.
	    * gcc.target/s390/hotpatch-5.c: Update test.
	    * gcc.target/s390/hotpatch-6.c: Update test.
	    * gcc.target/s390/hotpatch-7.c: Update test.
	    * gcc.target/s390/hotpatch-8.c: Update test.
	    * gcc.target/s390/hotpatch-9.c: Update test.
	    * gcc.target/s390/hotpatch-compile-16.c: Update test.

From-SVN: r221794
2015-03-31 12:07:06 +00:00
Richard Biener
bed18fbd09 re PR c++/65626 (ICE in fixup_noreturn_call called by tree-ssa-forwprop.c:2492)
2015-03-31  Richard Biener  <rguenther@suse.de>

	PR middle-end/65626
	* tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
	of the noreturn call so it is last and cleanup_control_flow_bb
	can do the CFG part.

	* g++.dg/torture/pr65626.C: New testcase.

From-SVN: r221790
2015-03-31 09:34:08 +00:00
Tom de Vries
20f234a8d6 Fix bzero warning in child_setup_tty
2015-03-31  Tom de Vries  <tom@codesourcery.com>

	PR ada/65490
	* terminals.c (child_setup_tty): Fix warning 'argument to sizeof in
	bzero call is the same expression as the destination'.

From-SVN: r221789
2015-03-31 08:30:15 +00:00
Ilya Enkovich
b7e85ee107 re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_group are not linked by the same_comdat_group list. with -fcheck-pointer-bounds -mmpx)
gcc/

	PR target/65531
	* ipa-chkp.c (chkp_maybe_create_clone): Don't set
	same_comdat_group for external symbols.
	* symtab.c (symtab_node::verify_symtab_nodes): Avoid
	infinite same_comdat_group traversal loop.

gcc/testsuite/

	PR target/65531
	* gcc.target/i386/mpx/pr65531.cc: New.

From-SVN: r221788
2015-03-31 08:29:28 +00:00
Ilya Enkovich
ce52d8847e re PR target/65602 (gcc.target/i386/mpx tests FAIL)
PR target/65602
	* gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use
	__builtin_alloca instead of alloca.
	* gcc.target/i386/mpx/alloca-1-nov.c (mpx_test): Likewise.
	* gcc.target/i386/mpx/alloca-1-ubv.c (mpx_test): Likewise.
	* lib/mpx-dg.exp (check_effective_target_mpx): Add wrapper
	check.

From-SVN: r221787
2015-03-31 08:24:38 +00:00
Jakub Jelinek
b626318e12 re PR plugins/61176 (plugin builds including gimple.h not building)
PR plugins/61176
	* Makefile.in (install-plugin): Add all gcc/*.{h,def} files
	automatically to $headers.

From-SVN: r221786
2015-03-31 07:31:57 +02:00
GCC Administrator
4a37fb99ea Daily bump.
From-SVN: r221785
2015-03-31 00:16:11 +00:00
Ian Lance Taylor
a7b09e17ad compiler: Mark builtin calls with bad types as errors.
Fixes golang/go/#10285.

From-SVN: r221782
2015-03-31 00:10:46 +00:00
Jakub Jelinek
00a0ea64ee re PR ipa/65610 (Compare debug failure with -g3 -fsanitize=undefined -fno-sanitize=vptr -O3)
PR ipa/65610
	* ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
	* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
	function.
	(decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
	Use it.
	* ipa-prop.c (param_type_may_change_p): Likewise.
	* tree-ssa-live.c: Include ipa-utils.h and its dependencies.
	(remove_unused_scope_block_p): Add in_ctor_dtor_block
	argument.  Before inlining, preserve
	inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
	with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them.  Adjust
	recursive calls.
	(remove_unused_locals): Adjust remove_unused_scope_block_p caller.

	* g++.dg/ubsan/pr65610.C: New test.

From-SVN: r221781
2015-03-30 23:56:02 +02:00
Marek Polacek
ef4bac7802 re PR c++/65398 ([C++11] GCC rejects constexpr variable definitions with valid initialization)
PR c++/65398
	* constexpr.c (cxx_fold_indirect_ref): Don't perform the
	 *(&A[i] p+ j) => A[i + j] transformation here.
	(cxx_eval_pointer_plus_expression): New function.
	(cxx_eval_constant_expression): Use it here.

	* g++.dg/cpp0x/pr65398-2.C: New test.

From-SVN: r221777
2015-03-30 18:39:17 +00:00
Jakub Jelinek
6c384511a3 re PR middle-end/65597 (ICE in build_outer_var_ref, at omp-low.c:1043)
PR fortran/65597
	* trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
	linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
	For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
	instead of the original step on the new iterator - count.

	* testsuite/libgomp.fortran/pr65597.f90: New test.

From-SVN: r221776
2015-03-30 19:54:05 +02:00
Jonathan Wakely
744e26e71e re PR libstdc++/65630 (operator+ for new std::string not exported)
PR libstdc++/65630
	* config/abi/pre/gnu.ver: Export operator+ for new strings.
	* testsuite/21_strings/basic_string/operators/char/65630.cc: New.
	* testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.

From-SVN: r221775
2015-03-30 18:52:37 +01:00
Ian Lance Taylor
c40b69ae69 compiler: implement Go 1 unsafe.Pointer conversion rules
Any type whose underlying type is uintptr can be converted
to unsafe.Pointer, and vice versa.

Fixes golang/go#10284.

From-SVN: r221774
2015-03-30 17:32:06 +00:00
Marek Polacek
233b9db6fb * c-c++-common/pr65556.c: Change the width of bit-fields.
From-SVN: r221771
2015-03-30 14:20:14 +00:00
Jan Hubicka
afd1e7c68a lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on DECL_ARTIFICAL symbols.
* lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
	DECL_ARTIFICAL symbols.

From-SVN: r221770
2015-03-30 08:51:50 +00:00
Jan Hubicka
12daa22a2c re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076
	* ipa-inline.c (edge_badness): Base denominator on callee's
	grwoth squared.

From-SVN: r221769
2015-03-30 02:00:56 +00:00
GCC Administrator
b9b5584df6 Daily bump.
From-SVN: r221768
2015-03-30 00:16:11 +00:00