Commit Graph

147604 Commits

Author SHA1 Message Date
Martin Sebor 8bada5cd4e PR c++/60760 - arithmetic on null pointers should not be allowed in constant
PR c++/60760 - arithmetic on null pointers should not be allowed in constant
PR c++/71091 - constexpr reference bound to a null pointer dereference

gcc/cp/ChangeLog:

	PR c++/60760
	PR c++/71091
        * constexpr.c (cxx_eval_binary_expression): Reject invalid expressions
        involving null pointers.
        (cxx_eval_component_reference): Reject null pointer dereferences.
        (cxx_eval_indirect_ref): Reject indirecting through null pointers.
        (cxx_eval_constant_expression): Reject invalid expressions involving
        null pointers.

gcc/testsuite/ChangeLog:

	PR c++/60760
	PR c++/71091
	* g++.dg/cpp0x/constexpr-cast.C: New test.
        * g++.dg/cpp0x/constexpr-nullptr-2.C: New test.
        * g++.dg/cpp1y/constexpr-sfinae.C: Correct.
        * g++.dg/ubsan/pr63956.C: Correct.

From-SVN: r238909
2016-07-30 16:36:56 -06:00
Michael Meissner d0047a2538 rs6000-protos.h (rs6000_adjust_vec_address): New function that takes a vector memory address...
[gcc]
2016-07-30  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-protos.h (rs6000_adjust_vec_address): New
	function that takes a vector memory address, a hard register, an
	element number and a temporary base register, and recreates an
	address that points to the appropriate element within the vector.
	* config/rs6000/rs6000.c (rs6000_adjust_vec_address): Likewise.
	(rs6000_split_vec_extract_var): Add support for the target of a
	vec_extract with variable element number being a scalar memory
	location.
	(rtx_is_swappable_p): VLSO insns (UNSPEC_VSX_VSLOW) are not
	swappable.
	* config/rs6000/vsx.md (vsx_extract_<mode>_load): Replace
	vsx_extract_<mode>_load insn with a new insn that optimizes
	storing either element to a memory location, using scratch
	registers to pick apart the vector and reconstruct the address.
	(vsx_extract_<P:mode>_<VSX_D:mode>_load): Likewise.
	(vsx_extract_<mode>_store): Rework alternatives to more correctly
	support Altivec registers.  Add support for ISA 3.0 Altivec d-form
	store instruction.
	(vsx_extract_<mode>_var): Add support for extracting a variable
	element number from memory.

[gcc/testsuite]
2016-07-30  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-extract-2.c: New tests for vec_extract of
	vector double or vector long where the vector is in memory.
	* gcc.target/powerpc/vec-extract-3.c: Likewise.
	* gcc.target/powerpc/vec-extract-4.c: Likewise.

From-SVN: r238908
2016-07-30 22:31:16 +00:00
Steven G. Kargl e4f7a5dffe re PR fortran/69867 (ICE on initializing character in type with array of incompatible data)
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69867
	* decl.c (build_struct): Ensure that pointers point to something.

2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69867
	* gfortran.dg/pr69867.f90: New test.

From-SVN: r238907
2016-07-30 20:05:10 +00:00
Steven G. Kargl b441ae1d89 re PR fortran/69962 (ICE on missing parameter attribute, in gfc_set_constant_character_len)
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69962
	* decl.c (gfc_set_constant_character_len):  if expr is not
	constant issue an error instead of an ICE.


2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69962
	* gfortran.dg/pr69962.f90: New test.

From-SVN: r238906
2016-07-30 19:24:49 +00:00
Steven G. Kargl 712dff3172 re PR fortran/70006 (Duplicate errors "label not defined")
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/70006
	* io.c (gfc_resolve_dt): Use correct locus.
	* resolve.c (resolve_branch): Ditto.

2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/70006
	* gfortran.dg/pr70006.f90: New test.

From-SVN: r238905
2016-07-30 18:18:49 +00:00
Steven G. Kargl fb42421ef0 re PR fortran/71730 (ICE when character length specification uses an undefined variable)
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71730
	* decl.c (char_len_param_value): Check return value of
	gfc_reduce_init_expr().

2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71730
	* gfortran.dg/pr71730.f90: New test.
	* gfortran.dg/bounds_check_strlen_2.f90: Fix invalid code.
	* gfortran.dg/array_constructor_27.f03: Update dg-error message.
	* gfortran.dg/array_constructor_26.f03: Ditto.

From-SVN: r238904
2016-07-30 16:19:14 +00:00
GCC Administrator 12f549f4a4 Daily bump.
From-SVN: r238902
2016-07-30 00:16:14 +00:00
Bill Schmidt d6e69705e2 _divkc3.c: Add copyright/license boilerplate.
2016-07-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/_divkc3.c: Add copyright/license boilerplate.
	* config/rs6000/_mulkc3.c: Likewise.

From-SVN: r238894
2016-07-29 20:15:54 +00:00
Ville Voutilainen 137422c80c Implement C++17 variable templates for type traits.
* include/std/chrono (treat_as_floating_point_v): New.
	* include/std/ratio (ratio_equal_v, ratio_not_equal_v)
	(ratio_less_v, ratio_less_equal_v, ratio_greater_v)
	(ratio_greater_equal_v): Likewise.
	* include/std/system_error (is_error_code_enum_v)
	(is_error_condition_enum_v): Likewise.
	* include/std/tuple (tuple_size_v): Likewise.
	* type_traits (conjunction_v, disjunction_v, negation_v)
	(is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
	(is_array_v, is_pointer_v, is_lvalue_reference_v)
	(is_rvalue_reference_v, is_member_object_pointer_v)
	(is_member_function_pointer_v, is_enum_v, is_union_v)
	(is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
	(is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
	(is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
	(is_trivially_copyable_v, is_standard_layout_v)
	(is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
	(is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
	(is_constructible_v, is_default_constructible_v)
	(is_copy_constructible_v, is_move_constructible_v)
	(is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
	(is_destructible_v, is_trivially_constructible_v)
	(is_trivially_default_constructible_v)
 	(is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
	(is_trivially_assignable_v, is_trivially_copy_assignable_v)
	(is_trivially_move_assignable_v, is_trivially_destructible_v)
	(is_nothrow_constructible_v, is_nothrow_default_constructible_v)
	(is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
	(is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
	(is_nothrow_move_assignable_v, is_nothrow_destructible_v)
	(has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
	(is_same_v, is_base_of_v, is_convertible_v): Likewise.
	* testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
	* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
	Likewise.
	* testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
	* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
	* testsuite/20_util/variable_templates_for_traits.cc: Likewise.

From-SVN: r238892
2016-07-29 22:01:39 +03:00
William Schmidt 466effe027 pr70098.C: Remove XFAIL for powerpc64_no_dm.
2016-07-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* g++.dg/pr70098.C: Remove XFAIL for powerpc64_no_dm.
	* gcc.target/powerpc/pr71763.c: Likewise.

From-SVN: r238891
2016-07-29 18:29:01 +00:00
Marek Polacek 638fc14f07 re PR c/71926 (wrong location for -Wparentheses warning)
PR c/71926
	* c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
	parentheses warning.

	* semantics.c (maybe_convert_cond): Use the location of COND for the
	parentheses warning.

	* g++.dg/warn/Wparentheses-30.C: New test.
	* gcc.dg/Wparentheses-14.c: New test.

From-SVN: r238886
2016-07-29 17:39:39 +00:00
Marek Polacek e00dceafd2 re PR c/71573 (ICE on invalid C code on x86_64-linux-gnu (tree check: expected function_decl, have var_decl in implicitly_declare))
PR c/71573
	* c-decl.c (implicitly_declare): Return decl early not only for
	error_mark_nodes, but for anything that is not a FUNCTION_DECL.

	* gcc.dg/noncompile/pr71573.c: New test.

From-SVN: r238885
2016-07-29 17:36:46 +00:00
Marek Polacek efd0786f21 re PR c/71853 (ICE on an ill-formed case statement in c_do_switch_warnings)
PR c/71853
	* c-parser.c (c_parser_switch_statement): Initialize ce.original_type
	to error node for invalid code.

	* gcc.dg/noncompile/pr71853.c: New test.

From-SVN: r238884
2016-07-29 17:34:55 +00:00
Marek Polacek f618a47208 re PR c/71742 (Wrong formulation of "error: flexible array member in otherwise empty struct")
PR c/71742
	* c-decl.c (finish_struct): Rephrase an error message.

	* gcc.dg/940510-1.c: Adjust dg-error.
	* gcc.dg/c99-flex-array-1.c: Likewise.
	* gcc.dg/c99-flex-array-typedef-1.c: Likewise.

From-SVN: r238883
2016-07-29 17:32:27 +00:00
Aldy Hernandez ac631cbe70 libiberty.h (MAX_ALLOCA_SIZE): New macro.
include/
	* libiberty.h (MAX_ALLOCA_SIZE): New macro.

libiberty/
	* make-relative-prefix.c (make_relative_prefix_1): Fall back to
	malloc if alloca argument is greater than MAX_ALLOCA_SIZE.

From-SVN: r238880
2016-07-29 16:40:55 +00:00
Georg-Johann Lay d51553e083 avr.c (avr_out_compare): Use const0_rtx instead of 0 when testing for compares against constants of the...
* config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
	when testing for compares against constants of the form 0xabab.

From-SVN: r238879
2016-07-29 16:09:39 +00:00
Uros Bizjak 61c73a7fed pr59833.c: Use dg-add-options ieee.
* gcc.dg/pr59833.c: Use dg-add-options ieee.

From-SVN: r238878
2016-07-29 18:07:09 +02:00
Bin Cheng 01d32b2b8b re PR tree-optimization/57558 (Loop not vectorized if iteration count could be infinite)
PR tree-optimization/57558
	* tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
	function.
	(vect_loop_versioning): Support versioning with niter assumptions.
	* tree-vect-loop.c (tree-ssa-loop.h): Include header file.
	(vect_get_loop_niters): New parameter.  Reimplement to support
	assumptions in loop niter info.
	(vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
	(new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
	(vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
	Support loop versioning for niters.
	* tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
	(vect_free_loop_info_assumptions): New function.
	(vectorize_loops): Free loop niter info for loops with flag
	LOOP_F_ASSUMPTIONS set if vectorization failed.
	* tree-vectorizer.h (struct _loop_vec_info): New field
	num_iters_assumptions.
	(LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
	(LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
	(LOOP_REQUIRES_VERSIONING): New macro.
	(vect_free_loop_info_assumptions): New decl.

	gcc/testsuite
	PR tree-optimization/57558
	* gcc.dg/vect/pr57558-1.c: New test.
	* gcc.dg/vect/pr57558-2.c: New test.

From-SVN: r238877
2016-07-29 15:48:25 +00:00
Bin Cheng 18767ebc32 cfgloop.h (struct loop): New field constraints.
* cfgloop.h (struct loop): New field constraints.
	(LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
	(loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
	functions.
	* cfgloop.c (alloc_loop): Initialize new field.
	* cfgloopmanip.c (copy_loop_info): Copy constraints.
	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
	Adjust niter analysis wrto loop constraints.
	* doc/loop.texi (@node Number of iterations): Add description for loop
	constraints.

From-SVN: r238876
2016-07-29 15:44:00 +00:00
Prathamesh Kulkarni f6c7a248d5 2016-07-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
testsuite/
	gcc.dg/pr70920-4.c: Restrict to lp64 targets and make scan-tree-dump
	to scan forwprop1 dump pass.

From-SVN: r238874
2016-07-29 15:37:23 +00:00
Jason Merrill 201e6861f9 * decl.c (build_enumerator): Tweak diagnostic.
From-SVN: r238873
2016-07-29 11:10:58 -04:00
Georg-Johann Lay 35909ec3a3 * config/avr/avr.md: Fix " in comment.
From-SVN: r238871
2016-07-29 14:54:04 +00:00
Paolo Carlini f54ea774e3 re PR c++/51488 (ICE on infinite template recursion)
2016-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51488
	* g++.dg/template/pr51488.C: New.

From-SVN: r238870
2016-07-29 14:49:03 +00:00
Jason Merrill 49b5925f02 PR c++/72457 - ICE with list-value-initialized base.
* init.c (expand_aggr_init_1): Only handle value-init of bases.
	* constexpr.c (build_data_member_initialization): Handle multiple
	initializers for the same field.

From-SVN: r238867
2016-07-29 10:03:26 -04:00
Marek Polacek c63b1732d5 re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652
	* config/i386/i386.c (ix86_expand_args_builtin): Add break.
	(ix86_expand_round_builtin): Likewise.

From-SVN: r238864
2016-07-29 12:39:25 +00:00
Segher Boessenkool cc80b225c5 re PR rtl-optimization/71976 (insn-combiner deletes a live 64-bit shift)
gcc/
	PR rtl-optimization/71976
	* combine.c (get_last_value): Return 0 if the argument for which
	the function is called has a wider mode than the recorded value.

Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>

From-SVN: r238863
2016-07-29 12:34:21 +00:00
Jakub Jelinek 673a107a40 re PR c/71969 (Wrong setting of DECL_DISREGARD_INLINE_LIMITS in the C FE)
PR c/71969
	* c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
	on GNU extern inline functions.

	* gcc.dg/alias-11.c (add_cfi, new_cfi): Change __inline__ to
	static __inline__.
	* gcc.dg/pr71969-1.c: New test.
	* gcc.dg/pr71969-2.c: New test.
	* gcc.dg/pr71969-3.c: New test.

From-SVN: r238862
2016-07-29 12:00:43 +00:00
Marek Polacek a5b5c8b624 re PR c/71583 (ICE on invalid code on x86_64-linux-gnu (in c_parser_postfix_expression_after_paren_type, at c/c-parser.c:8192))
PR c/71583
	* c-parser.c (c_parser_postfix_expression_after_paren_type): Also
	check expr.value.

	* gcc.dg/noncompile/pr71583.c: New test.

From-SVN: r238861
2016-07-29 11:48:36 +00:00
Andreas Schwab 0c4c49092a Update libstdc++ baseline symbols for aarch64, ia64, m68k
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r238860
2016-07-29 11:41:05 +00:00
Marek Polacek 78169471c9 re PR c/71574 (ICE on code with alloc_align attribute on x86_64-linux-gnu: in default_conversion, at c/c-typeck.c:2126)
PR c/71574
	* c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.

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

From-SVN: r238859
2016-07-29 11:28:57 +00:00
Marek Polacek bb3aa3f830 re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652
	* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Likewise.
	(altivec_expand_st_builtin): Likewise.

From-SVN: r238856
2016-07-29 11:16:20 +00:00
Jonathan Wakely 13ec6e5e06 Update libstdc++ docs for library version history
* doc/xml/manual/abi.xml: Document 6.0.22 library version.
	* doc/html/manual/abi.html: Regenerate.

From-SVN: r238855
2016-07-29 11:55:03 +01:00
Jonathan Wakely 62589e99d1 New libstdc++ symbol version for new basic_string symbols
* acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
	* config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
	symbols.
	* configure: Regenerate.
	* testsuite/util/testsuite_abi.cc: Add new symbol version.

From-SVN: r238853
2016-07-29 11:42:17 +01:00
Jonathan Wakely fe97ccec24 Update libstdc++ baseline symbols for x86 and ppc
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Likewise.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r238852
2016-07-29 11:42:06 +01:00
Georg-Johann Lay 4301dca150 avr.md (addqi3): Revert glitch in insn attribute introduced in r238381.
* config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
	introduced in r238381.

From-SVN: r238851
2016-07-29 09:26:52 +00:00
Georg-Johann Lay 96aa1f9558 lib1funcs.S (__muldi3): No need to clear zero_reg as previous call to __umulhisi3 already cleared it.
* config/avr/lib1funcs.S (__muldi3) [have MUL]: No need to clear
	zero_reg as previous call to __umulhisi3 already cleared it.

From-SVN: r238850
2016-07-29 09:14:02 +00:00
Dominik Vogt 7b11fbb838 gfortran: Fix allocation of diagnostig string (was too small).
The attached patch fixes an out of bound write to memory allocated
with alloca() on the stack.  This rarely ever happened because on
one hand -fbounds-check needs to be enabled, and on the other hand
alloca() used to allocate a few bytes extra most of the time so
most of the time the excess write did no harm.

gcc/fortran/ChangeLog:

	* trans-array.c (gfc_conv_array_ref): Fix allocation of diagnostic
	message (was too small).

From-SVN: r238849
2016-07-29 08:04:01 +00:00
Kugan Vivekanandarajah 883b6d4e1b re PR rtl-optimization/68217 (Wrong constant folding)
gcc/ChangeLog:

2016-07-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/68217
	* tree-vrp.c (extract_range_from_binary_expr_1): In case of signed
	& sign-bit-CST, generate [-INF, 0] instead of [-INF, INF].


gcc/testsuite/ChangeLog:

2016-07-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/68217
	* gcc.dg/pr68217.c: New test.

From-SVN: r238846
2016-07-29 00:35:23 +00:00
GCC Administrator 257490974f Daily bump.
From-SVN: r238845
2016-07-29 00:16:17 +00:00
Steven G. Kargl 89f1f37ea6 re PR fortran/71067 (ICE on data initialization with insufficient value)
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71067
	* decl.c (match_data_constant): On error, set 'result' to NULL.

2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71067
	* gfortran.dg/pr71067_1.f90: New test.
	* gfortran.dg/pr71067_2.f90: Ditto.

From-SVN: r238842
2016-07-28 23:12:23 +00:00
Joseph Myers 204ada0caa * sv.po: Update.
From-SVN: r238839
2016-07-28 22:15:06 +01:00
Michael Meissner e0d321856b rs6000-protos.h (rs6000_split_vec_extract_var): New declaration.
[gcc]
2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
	New declaration.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Add support for vec_extract of vector double or vector long having
	a variable element number on 64-bit ISA 2.07 systems or newer.
	* config/rs6000/rs6000.c (rs6000_expand_vector_extract):
	Likewise.
	(rs6000_split_vec_extract_var): New function to split a
	vec_extract built-in function with variable element number.
	(rtx_is_swappable_p): Variable vec_extracts and shifts are not
	swappable.
	* config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
	(UNSPEC_VSX_EXTRACT): Likewise.
	(vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
	direct move instructions to be generated on 64-bit ISA 2.07
	systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
	instruction.
	(vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
	arguments for vec_extract variable element.
	(vsx_extract_<mode>_var, VSX_D iterator): New insn to support
	vec_extract with variable element on V2DFmode and V2DImode
	vectors.
	* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
	-mupper-regs-df requirement, since it isn't needed.
	(TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
	do direct moves on 64-bit systems, which allows optimization of
	vec_extract on 64-bit ISA 2.07 systems and newer.

[gcc/testsuite]
2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-extract-1.c: New test.

From-SVN: r238838
2016-07-28 21:02:06 +00:00
Jonathan Wakely 1a2196e484 Fix DR 438 container tests to pass in C++98 mode
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-prune-output pattern for error in C++98 mode.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r238837
2016-07-28 22:00:45 +01:00
Jonathan Wakely e539b4ff2f Fix std::vector test to pass in C++98 mode
* testsuite/23_containers/vector/check_construct_destroy.cc: Account
	for different construct/destroy counts in C++98 mode.

From-SVN: r238836
2016-07-28 22:00:39 +01:00
Jonathan Wakely c3c2f97308 Use dg-additional-options in libstdc++ tests
* testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
	dg-options to dg-additional-options so that default options are used.
	* testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
	Likewise.
	* testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
	* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
	Likewise.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
	Use dg-additional-options instead of repeating the common options.

From-SVN: r238835
2016-07-28 22:00:34 +01:00
Jonathan Wakely 2de6b25424 Fix invalid dg-do directives in libstdc++ tests
* testsuite/22_locale/conversions/string/1.cc: Remove unintended
	dg-do compile directive.
	* testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
	dg-do directive.
	* testsuite/26_numerics/valarray/const_bracket.cc: Likewise.

From-SVN: r238834
2016-07-28 22:00:19 +01:00
Steven G. Kargl c851722d5a re PR fortran/71799 (ICE in DO loop code emission (gfc_resolve_iterator))
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71799
	* resolve.c(gfc_resolve_iterator): Failure of type conversion need
	not ICE.

2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71799
	* gfortran.dg/pr71799.f90: New test.

From-SVN: r238830
2016-07-28 19:04:12 +00:00
Paolo Carlini f064da6af5 re PR c++/71665 (ICE on invalid C++ code with non-integral constant enumerator value: in cxx_eval_constant_expression, at cp/constexpr.c:3918)
/cp
2016-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71665
	* decl.c (build_enumerator): Check the type of the enumerator before
	calling cxx_constant_value.

/testsuite
2016-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71665
	* g++.dg/cpp0x/pr71665-1.C: New.
	* g++.dg/cpp0x/pr71665-2.C: Likewise.
	* g++.dg/cpp0x/enum29.C: Adjust dg-error string.
	* g++.dg/ext/label10.C: Likewise.
	* g++.dg/parse/constant5.C: Likewise.

From-SVN: r238828
2016-07-28 18:43:29 +00:00
Steven G. Kargl 1b70aaad4c re PR fortran/71859 (ICE on same variable/subroutine name (verify_gimple failed))
2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71859
	* check.c(numeric_check): Prevent ICE.  Issue error for invalid
	subroutine as an actual argument when numeric argument is expected.

2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71859
	* gfortran.dg/pr71859.f90: New test.
	* gfortran.dg/intrinsic_numeric_arg.f: Update error message.
	* gfortran.dg/coarray_collectives_1.f90: Ditto.

From-SVN: r238825
2016-07-28 17:48:54 +00:00
Marek Polacek 717a767378 re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652
	* jcf-dump.c (print_constant): Add break.

From-SVN: r238824
2016-07-28 15:46:07 +00:00