Commit Graph

137319 Commits

Author SHA1 Message Date
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
John David Anglin dc84325087 re PR libffi/65567 (ERROR: tcl error sourcing /test/gnu/gcc/gcc/libffi/testsuite/libffi.complex/complex.exp)
PR libffi/65567
	* testsuite/lib/libffi.exp (libffi_feature_test): Use split to ensure
	lindex is applied to a list.

From-SVN: r221765
2015-03-29 20:46:17 +00:00
Jan Hubicka 43b11666cc re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
	* gcc.target/i386/pr65588.c: New testcase.

From-SVN: r221764
2015-03-29 15:41:55 +00:00
Martin Jambor af21714c7b re PR ipa/65478 (crafty performance regression)
PR ipa/65478
	* params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
	(PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
	* ipa-prop.h (ipa_node_params): New flags node_within_scc and
	node_calling_single_call.
	* ipa-cp.c (count_callers): New function.
	(set_single_call_flag): Likewise.
	(initialize_node_lattices): Count callers and set single_flag_call if
	necessary.
	(incorporate_penalties): New function.
	(good_cloning_opportunity_p): Use it, dump new flags.
	(propagate_constants_topo): Set node_within_scc flag if appropriate.
	* doc/invoke.texi (ipa-cp-recursion-penalty,
	ipa-cp-single-call-pentalty): Document.

From-SVN: r221763
2015-03-29 15:38:52 +00:00
Thomas Koenig a1bff765cb re PR libfortran/65563 (Segfault on reopening fort.xxx file with explicit name)
2015-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libgfortran/65563
	Refer to correct PR in ChangeLog.

From-SVN: r221762
2015-03-29 14:33:09 +00:00
Thomas Koenig 4c22e58cde re PR target/65564 (builtin-bnd-narrow-ptr-bounds-2-nov.c:15:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:5745)
2015-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libgfortran/65564
	* gfortran.dg/open_errors_2.f90:  New test.

From-SVN: r221761
2015-03-29 14:20:29 +00:00
GCC Administrator 7954e61571 Daily bump.
From-SVN: r221760
2015-03-29 00:16:13 +00:00
John David Anglin f5ffa61d75 re PR libstdc++/65500 (FAIL: 17_intro/headers/c++2014/all_attributes.cc (test for excess errors))
PR libstdc++/65500
	* inclhack.def (hpux11_lwp_rwlock_valid): New fix.
	* fixincl.x: Regenerate.
	* tests/base/sys/pthread.h [HPUX11_LWP_RWLOCK_VALID_CHECK]: New test.

From-SVN: r221757
2015-03-28 17:27:22 +00:00
Jerry DeLisle 9ddb384381 re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/65596
	* gfortran.dg/namelist_86.f90: New test.

From-SVN: r221756
2015-03-28 14:25:29 +00:00
Jerry DeLisle d520fea881 re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/65596
	* io/transfer.c (data_transfer_init): If in namelist mode and
	delimiter is not specified, set it to DELIM_QUOTE, independent
	of -std.
	* io/unit.c (init_units): Set flags.delim to the correct
	initial value of DELIM_UNSPECIFIED.

From-SVN: r221753
2015-03-28 13:27:58 +00:00
Andre Vehreschild 85b237bb66 unlimited_polymorphic_24.f03: Fixing copyright statement to reflect new ownership.
* gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright
	statement to reflect new ownership.

From-SVN: r221752
2015-03-28 11:39:24 +01:00
Paolo Carlini f8f40e69b0 re PR c++/42328 (rejects valid friend)
2015-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/42328
	* g++.dg/template/friend58.C: New.
	* g++.dg/template/friend59.C: Likewise.

From-SVN: r221751
2015-03-28 10:28:14 +00:00
Tim Shen 2894311302 re PR libstdc++/65420 (Enumerators in std::regex_constants should be constexpr variables instead)
PR libstdc++/65420
	* include/bits/regex_constants.h: Use constexpr variables for flags.
	* testsuite/28_regex/constants/constexpr.cc: New testcase.

From-SVN: r221750
2015-03-28 04:17:12 +00:00
GCC Administrator 5351658ccc Daily bump.
From-SVN: r221749
2015-03-28 00:16:11 +00:00
Jan Hubicka c97de76414 re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
	* symtab.c (symtab_node::get_partitioning_class): Register vars
	are duplicated.
	* varpool.c (symbol_table::output_variables) Do not assemble unefined
	decls for non-symbols.

From-SVN: r221745
2015-03-27 21:35:51 +00:00
Tobias Burnus 62021f64e5 re PR c/65586 (-fopenmp-simd rejects valid input)
2015-03-27  Tobias Burnus  <burnus@net-b.de>

        PR c/65586
gcc/c/
        * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
        error out.
        (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
        c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
        Update calls to not error for skipped omp pragmas with -fopenmp-simd.

gcc/cp/
        * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
        cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
        cp_parser_omp_declare): Don't show error for skipped omp pragmas
        with -fopenmp-simd.

gcc/testsuite/
        * g++.dg/gomp/openmp-simd-3.C: New.
        * gcc.dg/gomp/openmp-simd-3.c: New.

From-SVN: r221744
2015-03-27 21:21:52 +01:00
H.J. Lu a5eef8e9b0 Add default_binds_local_p_2 and use it for x86
Protected data symbol means that it can't be pre-emptied.  It doesn't mean
its address won't be external.  This is true for pointer to protected
function.  With copy relocation, address of protected data defined in the
shared library may also be external.  We only know that for sure at
run-time.  TARGET_BINDS_LOCAL_P should return false on protected data
symbol.

gcc/

	PR target/65248
	* output.h (default_binds_local_p_2): New.
	* varasm.c (default_binds_local_p_2): Renamed to ...
	(default_binds_local_p_3): This.  Don't return true on protected
	data symbol if protected data may be external.
	(default_binds_local_p): Use default_binds_local_p_3.
	(default_binds_local_p_1): Likewise.
	(default_binds_local_p_2): New.
	* config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
	default_binds_local_p_2 if TARGET_MACHO is undefined.

gcc/testsuite/

	PR target/65248
	* gcc.target/i386/pr65248-1.c: New file.
	* gcc.target/i386/pr65248-2.c: Likewise.
	* gcc.target/i386/pr65248-3.c: Likewise.
	* gcc.target/i386/pr65248-4.c: Likewise.

From-SVN: r221742
2015-03-27 11:11:00 -07:00
Jakub Jelinek f21a589997 re PR target/65593 (internal compiler error: in extract_insn, at recog.c:2343)
PR target/65593
	* config/i386/i386.c (legitimize_pic_address): If base
	is SYMBOL_REF or LABEL_REF using %rip addressing, force
	it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.

	* gcc.c-torture/compile/pr65593.c: New test.

From-SVN: r221741
2015-03-27 18:35:14 +01:00
Paolo Carlini 4e55d61a1b re PR c++/59329 (Using `assert(...)` is not allowed in constexpr functions)
2015-03-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59329
	* g++.dg/cpp1y/constexpr-assert1.C: New.

From-SVN: r221740
2015-03-27 17:21:32 +00:00
Uros Bizjak 13be44ed9d Install back PR target/47230 fix (Revert the revert).
From-SVN: r221739
2015-03-27 18:08:44 +01:00
Marek Polacek 5964a3a672 re PR c++/65556 (ICE: verify_gimple failed (type precision mismatch in switch statement))
PR c++/65556
	* semantics.c (finish_switch_cond): If the unlowered type is not an
	enum, use the type of the condition.

	* c-c++-common/pr65556.c: New test.

From-SVN: r221738
2015-03-27 16:46:44 +00:00
Jason Merrill 0b7dccc63e re PR c++/65509 ([C++11] GCC rejects operator== with two distinct pointers as not constexpr)
PR c++/65509
	* decl.c (make_rtl_for_nonlocal_decl): Don't defer static
	constants.

From-SVN: r221737
2015-03-27 12:36:32 -04:00
Jan Hubicka 6e85fbaadd 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)
PR target/65531
	* symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
	comdat groups.

From-SVN: r221736
2015-03-27 15:19:35 +00:00