144671 Commits

Author SHA1 Message Date
Joseph Myers
4cd4d5576c * sr.po: Update.
From-SVN: r234006
2016-03-05 12:07:03 +00:00
Jakub Jelinek
df762bb20a re PR c++/70084 (va_arg ((ap), int) regression on s390*-*)
PR c++/70084
	* tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
	of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
	to the right type.

	* g++.dg/expr/stdarg3.C: New test.

From-SVN: r234004
2016-03-05 07:50:23 +01:00
Jeff Law
7d461295b8 re PR tree-optimization/69196 (code size regression with jump threading at -O2)
PR tree-optimization/69196
	* gcc.dg/tree-ssa/pr69196-1.c: Limit this to sparc*-*-* and
	x86_64-*-*.

From-SVN: r234003
2016-03-04 23:12:09 -07:00
Bernd Schmidt
b6b552fd01 re PR c/69973 (ICE on excessive attribute vector_size)
PR c/69973
	* targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.

	PR c/69973
	* gcc.dg/pr69973.c: New test.

From-SVN: r234002
2016-03-04 22:36:42 -07:00
Bernd Schmidt
201d49e91f re PR rtl-optimization/69941 (bogus zero_extend transformation in postreload on aarch64)
PR rtl-optimization/69941
	* postreload.c (reload_combine_recognize_pattern): Ensure all uses of
	the reg share its mode.

	PR rtl-optimization/69941
	* gcc.dg/torture/pr69941.c: New test.

From-SVN: r234001
2016-03-04 22:30:10 -07:00
Bernd Schmidt
29b9828fa4 re PR c/69824 (internal compiler error in unshare_body)
PR c/69824
	* c-decl.c (get_parm_info): Don't queue implicit function declarations
	for later.

	PR c/69824
	* gcc.dg/pr69824.c: New test.

From-SVN: r234000
2016-03-04 22:22:01 -07:00
Jeff Law
5c03c4211d re PR tree-optimization/69196 (code size regression with jump threading at -O2)
PR tree-optimization/69196
	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
	If the both SSA_NAMEs are anonymous, then consider them unassociated
	and include the PHI in the statement count.

From-SVN: r233999
2016-03-04 22:10:58 -07:00
Tom de Vries
640b7e7439 Handle oacc region in oacc routine
2016-03-05  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
	construct in oacc routine.  Check for oacc region in oacc routine.

	* c-c++-common/goacc/nesting-fail-1.c (f_acc_routine): New function.
	* c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_routine): New
	function.

From-SVN: r233998
2016-03-05 02:48:30 +00:00
Patrick Palka
7a3a3fadb0 Fix PR c++/66786 (ICE with nested lambdas in variable template)
gcc/cp/ChangeLog:

	PR c++/66786
	* pt.c (template_class_depth): Given a lambda type, iterate
	into its LAMBDA_TYPE_EXTRA_SCOPE field instead of its
	TYPE_CONTEXT.  Given a VAR_DECL, iterate into its
	CP_DECL_CONTEXT.

gcc/testsuite/ChangeLog:

	PR c++/66786
	* g++.dg/cpp1y/var-templ48.C: New test.
	* g++.dg/cpp1y/var-templ49.C: New test.

From-SVN: r233997
2016-03-05 01:59:04 +00:00
GCC Administrator
b554db5b03 Daily bump.
From-SVN: r233994
2016-03-05 00:16:14 +00:00
Eric Botcazou
cd439aecf9 * g++.dg/Wno-frame-address.C: Skip on IA-64.
From-SVN: r233988
2016-03-04 22:56:18 +00:00
Jason Merrill
d5bcd6d4d7 re PR c++/69203 (ICE in potential_constant_expression_1, at cp/constexpr.c:4754)
PR c++/69203

	* cp-tree.h (COND_EXPR_IS_VEC_DELETE): New.
	* init.c (build_vec_delete_1): Set it.
	* constexpr.c (potential_constant_expression_1) [COND_EXPR]: Check it.

From-SVN: r233987
2016-03-04 17:53:29 -05:00
Cary Coutant
e94da7c6f1 Sync include/plugin-api.h with binutils.
2016-03-03  Than McIntosh <thanm@google.com>

	* plugin-api.h: Add new hooks to the plugin transfer vector to
	to support querying section alignment and section size.
	(ld_plugin_get_input_section_alignment): New hook.
	(ld_plugin_get_input_section_size): New hook.
	(ld_plugin_tag): Add LDPT_GET_INPUT_SECTION_ALIGNMENT
	and LDPT_GET_INPUT_SECTION_SIZE.
	(ld_plugin_tv): Add tv_get_input_section_alignment and
	tv_get_input_section_size.

2016-03-03  Evgenii Stepanov  <eugenis@google.com>

	* plugin-api.h (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V3.

From-SVN: r233986
2016-03-04 14:15:55 -08:00
Jakub Jelinek
411d61c4af decl.c (start_preparsed_function): Don't emit start clobber at the start of constructor clones.
* decl.c (start_preparsed_function): Don't emit start clobber at the
	start of constructor clones.

From-SVN: r233985
2016-03-04 23:11:41 +01:00
Jakub Jelinek
0c8825de94 re PR c++/70035 (Calling a non-virtual member in base-class constructor call with ubsan causes segfault when superclass has virtual member with same name)
PR c++/70035
	* cp-tree.h (cp_ubsan_maybe_initialize_vtbl_ptrs): New prototype.
	* decl.c (start_preparsed_function): Call
	cp_ubsan_maybe_initialize_vtbl_ptrs if needed.
	* cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs,
	cp_ubsan_maybe_initialize_vtbl_ptrs): New functions.

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

From-SVN: r233984
2016-03-04 23:10:49 +01:00
Jason Merrill
188e53bd7e re PR c++/67364 ("accessing uninitialized member" error in constexpr context)
PR c++/67364

	* constexpr.c (cxx_eval_component_reference): Further tweak.

From-SVN: r233982
2016-03-04 17:08:22 -05:00
Jason Merrill
39dce2b790 Fix constexpr handling of SAVE_EXPR in loops.
* constexpr.c (struct constexpr_ctx): Add save_exprs field.
	(cxx_eval_loop_expr): Discard SAVE_EXPR values before looping.
	(cxx_eval_constant_expression) [SAVE_EXPR]: Add it to the set.
	(cxx_eval_outermost_constant_expr, is_sub_constant_expr): Initialize.

From-SVN: r233981
2016-03-04 17:08:17 -05:00
Jakub Jelinek
6020455464 re PR target/70062 (ICE: in decide_alg, at config/i386/i386.c:26173 with -mmemcpy-strategy=libcall)
PR target/70062
	* config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
	2016-02-22 changes, instead don't recurse if RECUR is already true.
	Don't change *dynamic_check if RECUR.  Adjust recursive caller
	to pass true to the new argument.
	(ix86_expand_set_or_movmem): Adjust decide_alg caller.

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

From-SVN: r233979
2016-03-04 21:28:27 +01:00
H.J. Lu
f79d4eabaf Remove c++98_only on g++.dg/template/typename21.C
* g++.dg/template/typename21.C: Remove c++98_only.

From-SVN: r233977
2016-03-04 11:51:53 -08:00
H.J. Lu
ea81ce67b9 Replace c++98 with c++98_only
* g++.dg/template/typename21.C: Replace c++98 with c++98_only.

From-SVN: r233975
2016-03-04 11:41:35 -08:00
Jason Merrill
b54eff8bb1 re PR c++/70067 (internal compiler error: in strip_typedefs, at cp/tree.c:1466)
PR c++/70067

	* tree.c (strip_typedefs): Handle TYPENAME_TYPE lookup finding the
	same type.

From-SVN: r233973
2016-03-04 11:07:20 -05:00
David Malcolm
64b23c13dc PR c/68187: fix overzealous -Wmisleading-indentation (comment #1)
gcc/c-family/ChangeLog:
	PR c/68187
	* c-indentation.c (get_visual_column): Move code to determine next
	tab stop to...
	(next_tab_stop): ...this new function.
	(line_contains_hash_if): Delete function.
	(detect_preprocessor_logic): Delete function.
	(get_first_nws_vis_column): New function.
	(detect_intervening_unindent): New function.
	(should_warn_for_misleading_indentation): Replace call to
	detect_preprocessor_logic with a call to
	detect_intervening_unindent.

gcc/testsuite/ChangeLog:
	PR c/68187
	* c-c++-common/Wmisleading-indentation.c (fn_42_a): New test
	function.
	(fn_42_b): Likewise.
	(fn_42_c): Likewise.

From-SVN: r233972
2016-03-04 15:50:27 +00:00
David Malcolm
729526f5d4 PR c/68187: fix overzealous -Wmisleading-indentation (comment #0)
gcc/c-family/ChangeLog:
	PR c/68187
	* c-indentation.c (should_warn_for_misleading_indentation): When
	suppressing warnings about cases where the guard and body are on
	the same column, only use the first non-whitespace column in place
	of the guard token column when dealing with "else" clauses.
	When rejecting aligned BODY and NEXT, loosen the requirement
	from equality with the first non-whitespace of guard to simply
	that they not be indented relative to it.

gcc/testsuite/ChangeLog:
	PR c/68187
	* c-c++-common/Wmisleading-indentation.c (fn_40_a): New test
	function.
	(fn_40_b): Likewise.
	(fn_41_a): Likewise.
	(fn_41_b): Likewise.

From-SVN: r233971
2016-03-04 15:45:19 +00:00
Jakub Jelinek
f9ea11ac19 re PR target/70059 (Invalid codegen on AVX-512 when using _mm512_inserti64x4(x, y, 0))
PR target/70059
	* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
	<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
	fixes.
	(vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.

	* gcc.target/i386/avx512f-pr70059.c: New test.
	* gcc.target/i386/avx512dq-pr70059.c: New test.

From-SVN: r233968
2016-03-04 15:45:56 +01:00
Bernd Schmidt
b6c38c6958 Avoid terminating early in LRA, unless -fchecking (PR57676)
gcc/
	PR rtl-optimization/57676
	* lra-assigns.c (lra_assign): Guard test for maximum iterations
	with flag_checking.

gcc/testsuite/
	PR rtl-optimization/57676
	* gcc.dg/torture/pr57676.c: New test.

From-SVN: r233967
2016-03-04 14:12:36 +00:00
Ilya Enkovich
af3cdd3433 tree-vect-patterns.c (search_type_for_mask): Handle comparison of booleans.
gcc/

	* tree-vect-patterns.c (search_type_for_mask): Handle
	comparison of booleans.

gcc/testsuite/

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

From-SVN: r233966
2016-03-04 13:49:54 +00:00
Marek Polacek
7ff6ca3899 re PR c/69798 (ICE on invalid code on x86_64-linux-gnu in c_parser_braced_init, at c/c-parser.c:4338)
PR c/69798
	* c-parser.c (c_parser_postfix_expression): Call
	c_parser_cast_expression rather than c_parser_postfix_expression.

	* gcc.dg/cilk-plus/pr69798-1.c: New test.
	* gcc.dg/cilk-plus/pr69798-2.c: New test.

From-SVN: r233965
2016-03-04 13:26:25 +00:00
Kyrylo Tkachov
a6bf62d5f8 [AArch64][testsuite] PR target/70004: Remove check using undefined behaviour
PR target/70004
	* gcc.target/aarch64/scalar_shift_1.c: (test_corners_sisd_di):
	Delete.
	(test_corners_sisd_si): Likewise.
	(main): Remove checks of the above.
	* gcc.target/aarch64/shift_wide_invalid_1.c: New test.

From-SVN: r233964
2016-03-04 11:09:11 +00:00
Eric Botcazou
ae4cdc6a98 * gcc.dg/Wno-frame-address.c: Skip on IA-64.
From-SVN: r233963
2016-03-04 08:46:33 +00:00
Christophe Lyon
08455559f4 pr69951.c: Accept argc==0.
2016-03-04  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.dg/torture/pr69951.c: Accept argc==0.

From-SVN: r233962
2016-03-04 09:43:27 +01:00
Richard Biener
e9a35493b0 re PR middle-end/70054 (GCC 6 gives a strict-aliasing warning on use of std::aligned_storage)
2016-03-04  Richard Biener  <rguenther@suse.de>

	PR c++/70054
	* c-common.c (strict_aliasing_warning): Use alias_set_subset_of
	instead of alias_sets_conflict_p.

	* g++.dg/warn/Wstrict-aliasing-bogus-union-2.C: New testcase.
	* gcc.dg/Wstrict-aliasing-struct-member.c: New testcase.

From-SVN: r233961
2016-03-04 08:31:19 +00:00
Jakub Jelinek
6a27431a54 extend.texi (__builtin_alloca, [...]): Fix @xref usage.
* doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
	Fix @xref usage.

From-SVN: r233960
2016-03-04 08:39:21 +01:00
Dominik Vogt
fba054c268 S/390: Set GOARCH to the current target when testing multiarch.
The attached patch fixes a test failure of go.test/test/env.go on
s390x biarch.  Bootstrapped and regression tested on s390x biarch
and s390.

gcc/testsuite/ChangeLog

2016-03-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR testsuite/69766
	* go.test/go-test.exp: S/390: Set GOARCH to the current target when
	testing multiarch.

From-SVN: r233959
2016-03-04 07:33:16 +00:00
Jakub Jelinek
f10cdc6c14 re PR debug/69947 (DW_OP_GNU_implicit_pointer broken on the trunk)
PR debug/69947
	* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
	all other ops that have dw_val_class_die_ref operands,
	and DW_OP_GNU_entry_value.

	* gcc.dg/guality/pr69947.c: New test.

From-SVN: r233958
2016-03-04 08:27:15 +01:00
Jason Merrill
b47d1d904d * method.c (synthesized_method_walk): operator= can also be constexpr.
From-SVN: r233956
2016-03-03 20:48:33 -05:00
Jason Merrill
a0a6a8c966 pt.c (tsubst_copy_and_build): Get LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Get
	LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.

From-SVN: r233955
2016-03-03 20:45:48 -05:00
Jason Merrill
264fd1424e re PR c++/67164 (ICE: tree check: expected class ‘expression’, have ‘exceptional’ (argument_pack_select) in tree_operand_check, at tree.h:3356)
PR c++/67164

	* pt.c (copy_template_args): New.
	(tsubst_pack_expansion): Use it.

From-SVN: r233954
2016-03-03 20:45:43 -05:00
GCC Administrator
6fdb0d67d0 Daily bump.
From-SVN: r233953
2016-03-04 00:16:16 +00:00
Jason Merrill
45c3e69bb7 * call.c (build_aggr_conv): Use get_nsdmi.
From-SVN: r233947
2016-03-03 17:43:14 -05:00
Jason Merrill
16dc6b178a re PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base class.)
PR c++/51406

	* typeck.c (build_static_cast_1): Avoid folding back to lvalue.

From-SVN: r233946
2016-03-03 17:43:09 -05:00
Jason Merrill
639475f047 re PR c++/67364 ("accessing uninitialized member" error in constexpr context)
PR c++/67364

	* constexpr.c (cxx_eval_component_reference): Just return an empty
	CONSTRUCTOR for an empty class.

From-SVN: r233945
2016-03-03 17:43:03 -05:00
Jakub Jelinek
2e981ba068 re PR ada/70017 (c52103x and c52104x test failure on s390x)
PR ada/70017
	* gcc.dg/pr70017.c (foo): Store 0 to first element of each array.

From-SVN: r233944
2016-03-03 21:52:40 +01:00
Kyrylo Tkachov
0ba3bfa2b0 [ARM] PR rtl-optimization/69904: Disallow copying/duplicating of load-exclusive operations
PR rtl-optimization/69904
	* config/arm/arm.c (arm_cannot_copy_insn_p):
	Return true for load-exclusive instructions.

	* gcc.target/arm/pr69904.c: New test.

From-SVN: r233941
2016-03-03 17:25:43 +00:00
Jakub Jelinek
97ecdb46b1 re PR target/70021 (Test miscompiled with -O3 option for -march=core-avx2.)
PR target/70021
	* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
	argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
	the pattern no matter if it is used just by non-pattern, pattern
	or mix thereof.
	(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
	oprnd1 def_stmt is in pattern, don't look through it.

	* gcc.dg/vect/pr70021.c: New test.
	* gcc.target/i386/pr70021.c: New test.

From-SVN: r233940
2016-03-03 15:32:15 +01:00
Rainer Orth
bc33dc51d9 Fix passing object names to make_sunver.pl
* Makefile.am (libffi.map-sun): Properly convert
	$(libffi_la_OBJECTS) to object names.
	* Makefile.in: Regenerate.

From-SVN: r233938
2016-03-03 13:40:30 +00:00
Marek Polacek
a2a743a13a re PR middle-end/70050 (ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have vector_type in generic_simplify_162, at generic-match.c:6175)
PR middle-end/70050
	* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.

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

From-SVN: r233937
2016-03-03 11:42:19 +00:00
Rainer Orth
fd2298e3e1 Tabify libffi/Makefile.am
* Makefile.am (libffi.map-sun): Tabify:
	* Makefile.in: Regenerate.

From-SVN: r233936
2016-03-03 10:30:25 +00:00
James Greenhalgh
fa07ecdd21 [Patch testsuite] Change xfail conditions for bb-slp-34.c
gcc/testsuite/

	* gcc.dg/vect/bb-slp-34.c: Don't XFAIL for ARM/AArch64.

From-SVN: r233935
2016-03-03 10:18:05 +00:00
Martin Liska
2350426232 Skip properly debug stmt in optimize_mask_stores (PR
PR tree-optimization/70043
	* tree-vect-loop.c (optimize_mask_stores): Move iterator to
	previous statement if we see a debug statement.
	* gfortran.dg/vect/pr70043.f90: New test.

From-SVN: r233934
2016-03-03 10:08:09 +00:00
Eric Botcazou
b7b9e1a958 * gnat.dg/specs/task1.ads: New test.
From-SVN: r233932
2016-03-03 09:56:30 +00:00