1. 01 Aug, 2016 4 commits
  2. 31 Jul, 2016 16 commits
    • Change std::conditional test to compile-only · c4da1da2
      	* testsuite/20_util/conditional/requirements/typedefs.cc: Change to
      	compile-only test.
      
      From-SVN: r238930
      Jonathan Wakely committed
    • Ensure std::atomic test is compiled with optimization · 9d5b70b0
      	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
      	Ensure test is compiled with optimization.
      
      From-SVN: r238929
      Jonathan Wakely committed
    • Fix DR 438 std::list test to pass in C++98 mode · ee628057
      	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
      	Adjust dg-prune-output pattern for error in C++98 mode.
      
      From-SVN: r238928
      Jonathan Wakely committed
    • Enable std::regex test for C++11 or later · d23d1bee
      	* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
      	run for C++11 or later.
      
      From-SVN: r238927
      Jonathan Wakely committed
    • Fix non-portable std::regex test and test more cases · f2738d6c
      	* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
      	test to not rely on GNU extension (escaped normal characters in POSIX
      	BRE). Enable tests for other strings which are now supported.
      
      From-SVN: r238926
      Jonathan Wakely committed
    • Allow std::pair test to run in C++11 mode too · 77f3d979
      	* testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
      	c++11 instead of setting -std=gnu++14.
      
      From-SVN: r238925
      Jonathan Wakely committed
    • libstdc++/72745 add static assertion for invalid tuple access · 3c040fa4
      	PR libstdc++/72745
      	* include/std/array (get): Use positive message for static assertions.
      	* include/std/functional (_Safe_tuple_element_t): Fix indentation.
      	* include/std/tuple (tuple_element<I, tuple<>>): Add partial
      	specialization for invalid indices, with static assertion.
      	* testsuite/20_util/tuple/element_access/get_neg.cc: New test.
      
      From-SVN: r238924
      Jonathan Wakely committed
    • Move dg-error directives to relevant lines · f245e3a0
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
      	dg-error to relevant line.
      	* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	assign_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	insert_neg.cc: Likewise.
      	* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
      	Likewise.
      	* testsuite/26_numerics/random/linear_congruential_engine/
      	requirements/non_uint_neg.cc: Likewise.
      	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
      	Likewise. Also test for std::atomic_address.
      
      From-SVN: r238923
      Jonathan Wakely committed
    • Oops, ChangeLog didn't commit · 35029597
      From-SVN: r238922
      William Schmidt committed
    • Add missing variable traits, fix testsuite failures. · 8c914227
      	* include/bits/uses_allocator.h (uses_allocator_v): New.
      	* include/std/functional (is_bind_expression_v, is_placeholder_v):
      	Likewise.
      	* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
      	* testsuite/20_util/duration/literals/range.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
      	Likewise.
      	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
      	* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
      	New.
      
      From-SVN: r238921
      Ville Voutilainen committed
    • divkc3-1.c: Require POWER8 hardware. · 58958461
      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
      William Schmidt committed
    • Check __STRICT_ANSI__ for 128-bit arithmetic types · 2f297149
      	* 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
      Jonathan Wakely committed
    • Fix file extension of libstdc++ test · 7523c5eb
      	* testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
      
      From-SVN: r238917
      Jonathan Wakely committed
    • Make check_effective_target_c++ work for libstdc++ · 3aa4b66a
      	* lib/target-supports.exp (check_effective_target_c): Fix indentation.
      	(check_effective_target_c++): Likewise. Also match for libstdc++.
      
      From-SVN: r238916
      Jonathan Wakely committed
    • re PR fortran/41922 (Diagnostic: No location shown for overlappingly initialized… · 93cb9a5a
      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
      Steven G. Kargl committed
    • Daily bump. · 01afb976
      From-SVN: r238914
      GCC Administrator committed
  3. 30 Jul, 2016 8 commits
    • re PR fortran/68566 (ICE on using unusable array in reshape (double free or corruption)) · 9fcb2819
      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
      Steven G. Kargl committed
    • PR c++/60760 - arithmetic on null pointers should not be allowed in constant · 8bada5cd
      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
      Martin Sebor committed
    • rs6000-protos.h (rs6000_adjust_vec_address): New function that takes a vector memory address... · d0047a25
      [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
      Michael Meissner committed
    • re PR fortran/69867 (ICE on initializing character in type with array of incompatible data) · e4f7a5df
      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
      Steven G. Kargl committed
    • re PR fortran/69962 (ICE on missing parameter attribute, in gfc_set_constant_character_len) · b441ae1d
      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
      Steven G. Kargl committed
    • re PR fortran/70006 (Duplicate errors "label not defined") · 712dff31
      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
      Steven G. Kargl committed
    • re PR fortran/71730 (ICE when character length specification uses an undefined variable) · fb42421e
      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
      Steven G. Kargl committed
    • Daily bump. · 12f549f4
      From-SVN: r238902
      GCC Administrator committed
  4. 29 Jul, 2016 12 commits
    • _divkc3.c: Add copyright/license boilerplate. · d6e69705
      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
      Bill Schmidt committed
    • Implement C++17 variable templates for type traits. · 137422c8
      	* 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
      Ville Voutilainen committed
    • pr70098.C: Remove XFAIL for powerpc64_no_dm. · 466effe0
      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
      William Schmidt committed
    • re PR c/71926 (wrong location for -Wparentheses warning) · 638fc14f
      	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
      Marek Polacek committed
    • re PR c/71573 (ICE on invalid C code on x86_64-linux-gnu (tree check: expected… · e00dceaf
      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
      Marek Polacek committed
    • re PR c/71853 (ICE on an ill-formed case statement in c_do_switch_warnings) · efd0786f
      	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
      Marek Polacek committed
    • re PR c/71742 (Wrong formulation of "error: flexible array member in otherwise empty struct") · f618a472
      	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
      Marek Polacek committed
    • libiberty.h (MAX_ALLOCA_SIZE): New macro. · ac631cbe
      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
      Aldy Hernandez committed
    • avr.c (avr_out_compare): Use const0_rtx instead of 0 when testing for compares… · d51553e0
      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
      Georg-Johann Lay committed
    • pr59833.c: Use dg-add-options ieee. · 61c73a7f
      	* gcc.dg/pr59833.c: Use dg-add-options ieee.
      
      From-SVN: r238878
      Uros Bizjak committed
    • re PR tree-optimization/57558 (Loop not vectorized if iteration count could be infinite) · 01d32b2b
      	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
      Bin Cheng committed
    • cfgloop.h (struct loop): New field constraints. · 18767ebc
      	* 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
      Bin Cheng committed