Commit Graph

147611 Commits

Author SHA1 Message Date
William Schmidt
589584612f divkc3-1.c: Require POWER8 hardware.
2016-07-31  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/divkc3-1.c: Require POWER8 hardware.
	* gcc.target/powerpc/mulkc3-1.c: Likewise.

From-SVN: r238919
2016-07-31 14:27:32 +00:00
Jonathan Wakely
2f2971492b Check __STRICT_ANSI__ for 128-bit arithmetic types
* testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
	not test 128-bit types.
	* testsuite/20_util/is_floating_point/value.cc: Likewise.
	* testsuite/20_util/is_integral/value.cc: Likewise.
	* testsuite/20_util/is_signed/value.cc: Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Likewise.

From-SVN: r238918
2016-07-31 14:06:38 +01:00
Jonathan Wakely
7523c5eb1a Fix file extension of libstdc++ test
* testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.

From-SVN: r238917
2016-07-31 14:03:46 +01:00
Jonathan Wakely
3aa4b66ad9 Make check_effective_target_c++ work for libstdc++
* lib/target-supports.exp (check_effective_target_c): Fix indentation.
	(check_effective_target_c++): Likewise. Also match for libstdc++.

From-SVN: r238916
2016-07-31 14:02:17 +01:00
Steven G. Kargl
93cb9a5aa1 re PR fortran/41922 (Diagnostic: No location shown for overlappingly initialized EQUIVALENCEd character vars)
2016-07-30  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/41922
	* target-memory.c (expr_to_char): Pass in locus and use it in error
	messages.
	(gfc_merge_initializers): Ditto.
	* target-memory.h: Update prototype for gfc_merge_initializers ().
	* trans-common.c (get_init_field): Use the correct locus.

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

	PR fortran/41922
	* gfortran.dg/equiv_constraint_5.f90: Adjust the error message.
	* gfortran.dg/equiv_constraint_7.f90: Ditto.
	* gfortran.dg/pr41922.f90: New test.

From-SVN: r238915
2016-07-31 01:51:37 +00:00
GCC Administrator
01afb976de Daily bump.
From-SVN: r238914
2016-07-31 00:16:16 +00:00
Steven G. Kargl
9fcb28197f re PR fortran/68566 (ICE on using unusable array in reshape (double free or corruption))
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68566
	* check.c (gfc_check_reshape): Check for constant expression.

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

	PR fortran/68566
	* gfortran.dg/pr68566.f90: new test.

From-SVN: r238911
2016-07-30 23:01:06 +00:00
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