Commit Graph

144493 Commits

Author SHA1 Message Date
Kyrylo Tkachov
ac59ad4efc [AArch64] PR target/69613: Return zero TARGET_SHIFT_TRUNCATION_MASK when SHIFT_COUNT_TRUNCATED is false
PR target/69613
	* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
	Return 0 if !SHIFT_COUNT_TRUNCATED.

	* gcc.dg/torture/pr69613.c: New test.

From-SVN: r233744
2016-02-26 15:59:45 +00:00
Jakub Jelinek
a2ad54a07a re PR rtl-optimization/69891 (wrong code with -mstringop-strategy=libcall @ i686)
PR rtl-optimization/69891
	* dse.c (scan_insn): If we can't figure out memset arguments
	or they are non-constant, call clear_rhs_from_active_local_stores.

	* gcc.target/i386/pr69891.c: New test.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r233743
2016-02-26 16:53:43 +01:00
William Schmidt
0884062c2c Fix ChangeLog formatting
From-SVN: r233742
2016-02-26 15:30:18 +00:00
William Schmidt
d2369d4f0b Update ChangeLog to mention pr61397
From-SVN: r233740
2016-02-26 15:25:29 +00:00
Michael Meissner
c163789bfd p8vector-ldst.c: Adjust to test desired functionality for both 32-bit and 64-bit.
2016-02-26  Michael Meissner <meissner@linux.vnet.ibm.com>
	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired
	functionality for both 32-bit and 64-bit.


Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>

From-SVN: r233739
2016-02-26 15:24:55 +00:00
Martin Liska
f443514b82 Mention clog10{,f,l} in documentation (Builtins section)
* doc/extend.texi: Mention clog10, clog10f an clog10l
	in Builtins section.

From-SVN: r233738
2016-02-26 11:56:17 +00:00
Martin Liska
7c8fb356ac Replace ENABLE_CHECKING with CHECKING_P in dwarf2out
* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
	CHECKING_P.
	(resolve_args_picking_1): Likewise.
	* dwarf2out.h (struct GTY): Likewise.

From-SVN: r233737
2016-02-26 10:46:48 +00:00
Martin Liska
ac400631d2 Replace ENABLE_CHECKING macro with flag_checking in HSA
* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
	with flag_checking.
	* hsa-regalloc.c (linear_scan_regalloc): Likewise.

From-SVN: r233736
2016-02-26 10:10:11 +00:00
Markus Trippelsdorf
fb107ea182 Mention --enable-valgrind-annotations in install.texi
Martin Liska  <mliska@suse.cz>

	* doc/install.texi: Mention --enable-valgrind-annotations.

Co-Authored-By: Martin Liska <mliska@suse.cz>

From-SVN: r233735
2016-02-26 10:02:45 +00:00
Richard Biener
5aed7e2c0d re PR target/69551 (Wrong code with single element vector insert)
2016-02-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69551
	* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
	looking through aliases adjust DECL_PT_UID to refer to the
	ultimate alias target.

	* gcc.dg/torture/pr69951.c: New testcase.

From-SVN: r233734
2016-02-26 08:34:58 +00:00
Jason Merrill
8ba8c3757b re PR c++/69889 (ICE: in assign_temp, at function.c:961)
PR c++/69889

	* cp-tree.h (AGGR_INIT_FROM_THUNK_P): New.
	* tree.c (build_aggr_init_expr): Set it.
	* semantics.c (simplify_aggr_init_expr): Check it.
	* cp-gimplify.c (cp_genericize_r): Don't walk into
	a call/aggr_init from a thunk.

From-SVN: r233733
2016-02-25 23:53:58 -05:00
GCC Administrator
1569de0fd6 Daily bump.
From-SVN: r233732
2016-02-26 00:16:22 +00:00
Martin Liska
bd545bcf1c Do not gather mem stats in run_exit_handles (PR
PR middle-end/69919
	* alloc-pool.c (after_memory_report): New variable.
	* alloc-pool.h (base_pool_allocator ::release): Do not use
	the infrastructure if after_memory_report.
	* toplev.c (toplev::main): Mark after memory report.

From-SVN: r233722
2016-02-25 16:57:39 +00:00
Jason Merrill
bd28a34f33 re PR c++/69842 (Parameter deduction in polymorphic lambdas)
PR c++/69842
	* method.c (forward_parm): Handle parameter packs.
	* lambda.c (maybe_add_lambda_conv_op): Use it for them.

From-SVN: r233719
2016-02-25 10:23:47 -05:00
Jason Merrill
6a0cc1cd6c re PR c++/67364 ("accessing uninitialized member" error in constexpr context)
PR c++/67364
	* constexpr.c (cxx_eval_component_reference): Don't complain about
	unevaluated empty classes.

From-SVN: r233716
2016-02-25 09:09:24 -05:00
Jason Merrill
6284a979db re PR c++/68049 (template instantiation involving may_alias defines symbol twice)
PR c++/68049
	* tree.c (strip_typedefs): Use DECL_ORIGINAL_TYPE.

From-SVN: r233715
2016-02-25 09:09:18 -05:00
Richard Biener
798e2a8ed8 re PR tree-optimization/48795 (-Warray-bounds false positive)
2016-02-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/48795
	* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.

	* gcc.dg/Warray-bounds-18.c: New testcase.

From-SVN: r233714
2016-02-25 13:20:25 +00:00
Rainer Orth
9559fbacc6 Require init_priority support for g++.dg/ext/attr-constructor1.C
* g++.dg/ext/attr-constructor1.C: Require init_priority support.

From-SVN: r233713
2016-02-25 12:47:28 +00:00
Ilya Verbin
e6861a99f8 re PR driver/68463 (Offloading fails when some objects are compiled with LTO and some without)
gcc/
	PR driver/68463
	* config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
	offloading is enabled and -fopenacc or -fopenmp is specified.
	(CRTOFFLOADEND): Likewise.
	(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
	(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
	* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
	(offload_objects_file_name): New static var.
	(tool_cleanup): Remove offload_objects_file_name file.
	(find_offloadbeginend): Replace with ...
	(find_crtoffloadtable): ... this.
	(run_gcc): Remove offload_argc and offload_argv.
	Get offload_objects_file_name from -foffload-objects=... option.
	Read names of object files with offload from this file, pass them to
	compile_images_for_offload_targets.  Don't call find_offloadbeginend and
	don't pass offloadbegin and offloadend to the linker.  Don't pass
	offload non-LTO files to the linker, because now they're not claimed.
libgcc/
	PR driver/68463
	* Makefile.in (crtoffloadtable$(objext)): New rule.
	* configure.ac (extra_parts): Add crtoffloadtable$(objext) if
	enable_offload_targets is not empty.
	* configure: Regenerate.
	* offloadstuff.c: Move __OFFLOAD_TABLE__ from crtoffloadend to
	crtoffloadtable.
libgomp/
	PR driver/68463
	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
lto-plugin/
	PR driver/68463
	* lto-plugin.c (struct plugin_offload_file): New.
	(offload_files): Change type.
	(offload_files_last, offload_files_last_obj): New.
	(offload_files_last_lto): New.
	(free_2): Adjust accordingly.
	(all_symbols_read_handler): Don't add offload files to lto_arg_ptr.
	Don't call free_1 for offload_files.  Write names of object files with
	offloading to the temporary file.  Add new option to lto_arg_ptr.
	(claim_file_handler): Don't claim file if it contains offload sections
	without LTO sections.  If it contains offload sections, add to the list.

From-SVN: r233712
2016-02-25 12:23:52 +00:00
Jan Hubicka
cf1fcb76fb re PR lto/69630 (LTO ICE in types_same_for_odr at ipa-devirt.c:402)
PR ipa/69630
	* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
	on builtin_unreachable.

From-SVN: r233711
2016-02-25 12:10:04 +00:00
Jakub Jelinek
c049b10722 re PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)
PR rtl-optimization/69896
	* regcprop.c: Include cfgrtl.h.
	(copyprop_hardreg_forward_1): If noop_p insn uses narrower
	than remembered mode, either delete it (if noop_move_p), or
	treat like copy_p but not noop_p instruction.

	* gcc.dg/pr69896.c: New test.

From-SVN: r233692
2016-02-25 09:09:02 +01:00
Patrick Palka
1137001cd9 re PR c++/69736 ("error: too few arguments to function" in c++14 but not c++11)
Fix PR c++/69736

gcc/cp/ChangeLog:

	PR c++/69736
	* cp-tree.h (REF_PARENTHESIZED_P): Adjust documentation.
	(maybe_undo_parenthesized_ref): Declare.
	* semantics.c (maybe_undo_parenthesized_ref): Split out from
	check_return_expr.
	(finish_call_expr): Use it.
	* typeck.c (check_return_expr): Use it.
	* pt.c (tsubst_copy_and_build) [INDIRECT_REF]: Retain the
	REF_PARENTHESIZED_P flag.

gcc/testsuite/ChangeLog:

	PR c++/69736
	* g++.dg/cpp1y/paren2.C: New test.

From-SVN: r233691
2016-02-25 01:14:27 +00:00
GCC Administrator
a8b233b7f2 Daily bump.
From-SVN: r233690
2016-02-25 00:16:13 +00:00
Martin Sebor
2e9c8641aa PR c/51147 - attribute((mode(byte))) on an enum generates wrong code
gcc/testsuite/ChangeLog:
2016-02-24  Martin Sebor  <msebor@redhat.com>

        PR c/51147
        * gcc.dg/enum-mode-2.c: New test.

From-SVN: r233686
2016-02-24 16:26:42 -07:00
Jakub Jelinek
4429358036 re PR debug/69705 (segfault in libgomp.fortran/task1.f90 with -flto -fno-use-linker-plugin -fno-toplevel-reorder -O1 -g)
PR debug/69705
	* dwarf2out.c (gen_variable_die): Work around buggy LTO
	- allow NULL decl for Fortran DW_TAG_common_block variables.

From-SVN: r233685
2016-02-24 23:04:09 +01:00
Jakub Jelinek
03ca8fb3da re PR c++/69922 (Bogus -Wnonnull-compare for: ... ? static_cast<T*>(this) : nullptr)
PR c++/69922
	* class.c (build_base_path): Set TREE_NO_WARNING on the null_test.
	Avoid folding it.
	* init.c (build_vec_delete_1, build_delete): Don't fold the non-NULL
	tests.
	* cp-gimplify.c (cp_fold): For TREE_NO_WARNING comparisons with NULL,
	unless they are folded into INTEGER_CST, error_mark_node or some
	comparison with NULL, avoid folding them and use either the original
	comparison or non-folded comparison of folded arguments.
	* cp-ubsan.c (cp_ubsan_instrument_vptr): Set TREE_NO_WARNING on the
	comparison, don't fold the comparison right away.

	* g++.dg/warn/Wnonnull-compare-6.C: New test.
	* g++.dg/warn/Wnonnull-compare-7.C: New test.
	* g++.dg/ubsan/pr69922.C: New test.

From-SVN: r233684
2016-02-24 23:01:24 +01:00
Marek Polacek
0b05329bbf re PR c/69819 (ICE on invalid code on x86_64-linux-gnu in tree check: expected function_type or method_type, have array_type in function_args_iter_init, at tree.h:4536)
PR c/69819
	* c-decl.c (finish_decl): Don't update the copy of the type of a
	different decl type.

	* gcc.dg/pr69819.c: New test.

From-SVN: r233683
2016-02-24 21:47:59 +00:00
Jason Merrill
944e9f5fee PR c++/69323 - errors
* friend.c (make_friend_class): Likewise.
	* decl.c (lookup_and_check_tag): Diagnose invalid dependent friend.

From-SVN: r233682
2016-02-24 14:56:09 -05:00
Jason Merrill
b8599b68ed PR c++/69323 - valid
* pt.c (instantiate_class_template_1): Set
	processing_template_decl before substituting friend_type.

From-SVN: r233681
2016-02-24 14:56:03 -05:00
Jason Merrill
4e7bcf32fe * doc/invoke.texi: Adjust -flifetime-dse documentation.
From-SVN: r233680
2016-02-24 14:55:57 -05:00
Martin Sebor
3b96b93aec PR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
PR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
	a flexible array member

gcc/testsuite/ChangeLog:
2016-02-24  Martin Sebor  <msebor@redhat.com>

	PR c++/69912
	* g++.dg/ext/flexary15.C: New test.

gcc/cp/ChangeLog:
2016-02-24  Martin Sebor  <msebor@redhat.com>

	PR c++/69912
	* tree.c (build_ctor_subob_ref): Compare types' main variants
        instead of the types as they are.

From-SVN: r233678
2016-02-24 10:23:35 -07:00
Martin Sebor
57c2c374df Avoid making unportable assumptions about the relationship between SIZE_MAX
and UINT_MAX.

gcc/testsuite/ChangeLog:
        * gcc/testsuite/gcc.dg/builtins-68.c: Avoid making unportable
        assumptions about the relationship between SIZE_MAX and UINT_MAX.
        * gcc/testsuite/g++.dg/ext/builtin_alloca.C: Same.

From-SVN: r233677
2016-02-24 10:04:03 -07:00
Maxim Kuvyrkov
65433bb5b6 re PR debug/61033 (Infinite loop in variable tracking)
PR debug/61033
	* g++.dg/pr61033.C: Add a regression testcase for PR debug/61033.

Co-Authored-By: Charles Baylis <charles.baylis@linaro.org>

From-SVN: r233675
2016-02-24 16:41:52 +00:00
Jason Merrill
a021961c05 Add -flifetime-dse=1.
gcc/
	* common.opt (flifetime-dse): Add -flifetime-dse=1.
gcc/cp/
	* decl.c (start_preparsed_function): Condition ctor clobber on
	flag_lifetime_dse > 1.

From-SVN: r233672
2016-02-24 10:18:04 -05:00
Jason Merrill
28577b8683 * cp-gimplify.c (cp_fold): Don't fold constexpr calls if -fno-inline.
From-SVN: r233671
2016-02-24 10:17:58 -05:00
Ian Lance Taylor
4501d9ad44 runtime: lock M during cgo call
cgo should lock the M.
    
    
    See also https://golang.org/cl/18882 .
    
    Reviewed-on: https://go-review.googlesource.com/18883

From-SVN: r233670
2016-02-24 15:03:04 +00:00
Richard Biener
f802a42401 re PR tree-optimization/69760 (Wrong 64-bit memory address caused by an unneeded overflowing 32-bit integer multiplication on x86_64 under -O2 and -O3 code optimization)
2016-02-24  Richard Biener  <rguenther@suse.de>
	Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/69760
	* tree-scalar-evolution.c (interpret_rhs_expr): Re-write
	conditionally executed ops to well-defined overflow behavior.

	* gcc.dg/torture/pr69760.c: New testcase.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r233669
2016-02-24 14:54:01 +00:00
Rainer Orth
525f795f86 Adapt gcc.dg/debug/dwarf2/prod-options.c for Solaris assembler
* gcc.dg/debug/dwarf2/prod-options.c: Use different DW_AT_producer
	pattern on Solaris with as.

From-SVN: r233668
2016-02-24 14:46:07 +00:00
Kyrylo Tkachov
cd7bbcebb1 [ARM] Tests for arm_restrict_it patterns in thumb2.md
* gcc.target/arm/cond_sub_restrict_it.c: New test.
	* gcc.target/arm/condarith_restrict_it.c: Likewise.
	* gcc.target/arm/movcond_restrict_it.c: Likewise.
	* gcc.target/arm/negscc_restrict_it.c: Likewise.

From-SVN: r233667
2016-02-24 14:21:52 +00:00
Jonathan Wakely
86715b0917 libstdc++/69939 Qualify get and forward
PR libstdc++/69939
	* include/experimental/tuple (__apply_impl): Qualify get and forward.

From-SVN: r233666
2016-02-24 13:59:29 +00:00
Jakub Jelinek
89c0c1fd5c re PR middle-end/69915 (ICE: SIGSEGV with -O -ftracer with broken backtrace)
PR middle-end/69915
	* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
	elements.

	* gcc.dg/pr69915.c: New test.

From-SVN: r233664
2016-02-24 14:54:39 +01:00
Kyrylo Tkachov
0683fd27de [gcse] PR rtl-optimization/69886: Check target mode in can_assign_to_reg_without_clobbers_p
PR rtl-optimization/69886
	* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
	argument.  Use it when checking validity of set instructions.
	(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
	(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
	callsite.
	* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
	* store-motion.c (find_moveable_store): Update
	can_assign_to_reg_without_clobbers_p callsite.

	* gcc.dg/torture/pr69886.c: New test.

From-SVN: r233662
2016-02-24 13:00:10 +00:00
Richard Biener
e53d562a36 re PR tree-optimization/68963 (O3 vs. O2 discards part of loop and terminates early)
2016-02-24  Richard Biener  <rguenther@suse.de>

	PR middle-end/68963
	* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
	bogus check.
	(record_nonwrapping_iv): Do not fall back to the low/high bound
	for non-constant IV bases if the stmt is not always executed.

	* gcc.dg/torture/pr68963.c: New testcase.

From-SVN: r233660
2016-02-24 12:03:27 +00:00
Kyrylo Tkachov
debc68edb4 [ARM] Add initial support for the Cortex-A32
* config/arm/arm-cores.def (cortex-a32): New entry.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
	* config/arm/t-aprofile: Handle mcpu=cortex-a32.
	* doc/invoke.texi (ARM Options): Document cortex-a32 as value
	for -mcpu and -mtune.

From-SVN: r233659
2016-02-24 11:02:04 +00:00
Kyrylo Tkachov
74a002883c [ARM] PR target/69875 Fix atomic_loaddi expansion
PR target/69875
	* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
	* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
	* config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
	(atomic_loaddi_1): Delete.
	(atomic_loaddi): Rewrite expander using the above changes.

	* gcc.target/arm/atomic_loaddi_acquire.x: New file.
	* gcc.target/arm/atomic_loaddi_relaxed.x: Likewise.
	* gcc.target/arm/atomic_loaddi_seq_cst.x: Likewise.
	* gcc.target/arm/atomic_loaddi_1.c: New test.
	* gcc.target/arm/atomic_loaddi_2.c: Likewise.
	* gcc.target/arm/atomic_loaddi_3.c: Likewise.
	* gcc.target/arm/atomic_loaddi_4.c: Likewise.
	* gcc.target/arm/atomic_loaddi_5.c: Likewise.
	* gcc.target/arm/atomic_loaddi_6.c: Likewise.
	* gcc.target/arm/atomic_loaddi_7.c: Likewise.
	* gcc.target/arm/atomic_loaddi_8.c: Likewise.
	* gcc.target/arm/atomic_loaddi_9.c: Likewise.

From-SVN: r233658
2016-02-24 11:00:28 +00:00
Jakub Jelinek
d46cfcc0b9 re PR c/69918 (gcc.dg/torture/builtin-integral-1.c FAILs)
PR c/69918
	* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
	2 to 3.

From-SVN: r233657
2016-02-24 09:37:41 +01:00
Jakub Jelinek
340fd4c9ce re PR middle-end/69909 (wrong code with -Os and vectors @ x86_64)
PR middle-end/69909
	* expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
	set_mem_attributes if tem is SSA_NAME which got expanded
	as a MEM.

	* gcc.dg/torture/pr69909.c: New test.

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

From-SVN: r233656
2016-02-24 09:36:16 +01:00
Richard Biener
47d3fdb242 re PR tree-optimization/69907 (wrong code at -O3 on x86_64-linux-gnu)
2016-02-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69907
	* tree-vect-stmts.c (vectorizable_load): Check for gaps at the
	end of permutations for BB vectorization.

	* gcc.dg/vect/bb-slp-pr69907.c: New testcase.
	* gcc.dg/vect/bb-slp-34.c: XFAIL.
	* gcc.dg/vect/bb-slp-pr68892.c: Likewise.

From-SVN: r233655
2016-02-24 08:27:25 +00:00
Christian Bruel
dab73e7317 arm-c.c (arm_option_override): Initialize target_option_current_node.
2016-02-24  Christian Bruel  <christian.bruel@st.com>

	* config/arm/arm-c.c (arm_option_override): Initialize
	target_option_current_node.
	* config/arm/arm.c (arm_pragma_target_parse): Replace
	build_target_option_node call by target_option_current_node.
	Set target_option_current_node.
	Fix comments.

From-SVN: r233654
2016-02-24 09:19:12 +01:00
GCC Administrator
641487910a Daily bump.
From-SVN: r233652
2016-02-24 00:16:14 +00:00