1. 17 Sep, 2017 2 commits
    • Fix gccbrig documentation build · 7ac3ed13
      	gcc/brig/
      	* Make-lang.in (GO_TEXI_FILES): Rename to...
      	(BRIG_TEXI_FILES): ... this.
      	(doc/gccbrig.info, doc/gccbrig.dvi, doc/gccbrig.pdf, brig.info)
      	(brig.srcinfo, brig.man, brig.srcman, brig.install-man)
      	($(DESTDIR)$(man1dir)/$(GCCBRIG_INSTALL_NAME)$(man1ext)):
      	Uncomment/enable targets.
      	(gccbrig.pod): New target.
      	* gccbrig.texi: New file.
      
      From-SVN: r252893
      Thomas Schwinge committed
    • Daily bump. · e1595456
      From-SVN: r252892
      GCC Administrator committed
  2. 16 Sep, 2017 6 commits
  3. 15 Sep, 2017 30 commits
    • syscall: fixes for Solaris · d00f9deb
          
          Patch by Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/64170
      
      From-SVN: r252866
      Ian Lance Taylor committed
    • compiler: call error_statement for fallthrough in last case · 7fdaa1f0
          
          It is possible to do this check in backend, by walking the
          block and check whether the last statement is a goto. But it
          seems easier to do it in the frontend, where it can simply use
          is_fallthrough.
          
          Reviewed-on: https://go-review.googlesource.com/63690
      
      From-SVN: r252851
      Ian Lance Taylor committed
    • Add support for -std=c++2a. · 026a79f7
      	* c-common.h (cxx_dialect): Add cxx2a as a dialect.
      	* opt.c: Add options for -std=c++2a and -std=gnu++2a.
      	* c-opts.c (set_std_cxx2a): New.
      	(c_common_handle_option): Set options when -std=c++2a is enabled.
      	(c_common_post_options): Adjust comments.
      	(set_std_cxx14, set_std_cxx17): Likewise.
      
      	* doc/cpp.texi (__cplusplus): Document value for -std=c++2a
      	or -std=gnu+2a.
      	* doc/invoke.texi: Document -std=c++2a and -std=gnu++2a.
      
      	* lib/target-supports.exp (check_effective_target_c++17): Return
      	1 also if check_effective_target_c++2a.
      	(check_effective_target_c++17_down): New.
      	(check_effective_target_c++2a_only): New.
      	(check_effective_target_c++2a): New.
      	* g++.dg/cpp2a/cplusplus.C: New.
      
      	* include/cpplib.h (c_lang): Add CXX2A and GNUCXX2A.
      	* init.c (lang_defaults): Add rows for CXX2A and GNUCXX2A.
      	(cpp_init_builtins): Set __cplusplus to 201709L for C++2a.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r252850
      Andrew Sutton committed
    • compiler: check error expression in Array_type::get_backend_length · 41dfa93f
          
          Otherwise, a zero length is created in the backend and the
          backend doesn't know there is an error.
          
          Reviewed-on: https://go-review.googlesource.com/61610
      
      From-SVN: r252849
      Ian Lance Taylor committed
    • re PR target/82066 (#pragma GCC target documentation does not say it is implemented for aarch64) · efc79e1e
      2017-09-15  Steve Ellcey  <sellcey@cavium.com>
      
      	PR target/82066
      	* doc/extend.texi (Common Function Attributes): Add 
      	references to ARM, AArch64, and S/390 specific attributes.
      	(Function Specific Option Pragmas): Add AArch64 and S/390
              to list of back ends that support the target pragma.
      
      From-SVN: r252848
      Steve Ellcey committed
    • Implement C11 excess precision semantics for conversions (PR c/82071). · bb75facd
      C11 semantics for excess precision (from N1531) are that an implicit
      conversion (from the usual arithmetic conversions, not by assignment)
      from integer to floating point has a result in the corresponding
      evaluation format of that floating-point type, so possibly with excess
      precision (whereas a cast or conversion by assignment from integer to
      floating point must produce a value without excess range or precision,
      as always).  This patch makes GCC support those semantics if
      flag_isoc11 (which in turn means that conditional expressions need to
      support generating a result with excess precision even if neither
      operand had excess precision).
      
      C99 is less than entirely clear in this regard, but my reading as
      outlined at <https://gcc.gnu.org/ml/gcc-patches/2008-11/msg00105.html>
      is that the results of conversions from integer to floating-point
      types are always expected to be representable in the target type
      without excess precision, and this patch conservatively keeps these
      semantics for pre-C11 (i.e. if an older standard is explicitly
      selected).
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      	PR c/82071
      
      gcc/c:
      	* c-typeck.c (ep_convert_and_check): Just call convert_and_check
      	for C11.
      	(build_conditional_expr): For C11, generate result with excess
      	precision when one argument is an integer and the other is of a
      	type using excess precision.
      
      gcc/testsuite:
      	* gcc.target/i386/excess-precision-8.c: New test.
      
      From-SVN: r252847
      Joseph Myers committed
    • re PR c++/64644 ("warning: anonymous union with no members" should be an error… · c01df3c8
      re PR c++/64644 ("warning: anonymous union with no members" should be an error with -pedantic-errors)
      
      /cp
      2017-09-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64644
      	* decl2.c (finish_anon_union): Complain about "anonymous union with
      	no members" with a pedwarn.
      
      /testsuite
      2017-09-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64644
      	* g++.dg/other/anon-union4.C: New.
      	* g++.old-deja/g++.law/union4.C: Adjust.
      	* g++.old-deja/g++.other/anon1.C: Likewise.
      
      Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
      
      From-SVN: r252835
      Manuel López-Ibáñez committed
    • [C++ PATCH] Renames/adjustments of 1z to 17 · 39ebef2c
      https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01051.html
      ReviewedBy: Sandra Loosemore <sandra@codesourcery.com>
      	* doc/standards.texi: Fix C++17 description.  Update URLs for
      	C++11 & 14.
      
      From-SVN: r252834
      Nathan Sidwell committed
    • * MAINTAINERS: Remove myself as a vxworks maintainer. · 500ac452
      From-SVN: r252833
      Nathan Sidwell committed
    • common.opt (Wcast-align=strict): New warning option. · 1d933576
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * common.opt (Wcast-align=strict): New warning option.
              * doc/invoke.texi: Document -Wcast-align=strict.
      
      c:
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-typeck.c (build_c_cast): Implement -Wcast-align=strict.
      
      cp:
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * typeck.c (build_reinterpret_cast_1,
              build_const_cast_1): Implement -Wcast-align=strict.
      
      testsuite:
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-c++-common/Wcast-align.c: New test.
      
      From-SVN: r252832
      Bernd Edlinger committed
    • c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for… · 4a8ca690
      c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for non-uniform endianness and issue a warning in C++.
      
      	* c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
      	message for non-uniform endianness and issue a warning in C++.
      
      From-SVN: r252831
      Eric Botcazou committed
    • re PR c++/78648 (ICE on invalid C++ code on x86_64-linux-gnu (Segmentation… · f5e37f2a
      re PR c++/78648 (ICE on invalid C++ code on x86_64-linux-gnu (Segmentation fault, contains_struct_check))
      
      2017-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78648
      	* g++.dg/cpp0x/lambda/lambda-ice21.C: New.
      
      From-SVN: r252829
      Paolo Carlini committed
    • Add comments to struct cgraph_thunk_info · a3e61d61
      This commit adds comments to fields in the cgraph_thunk_info structure
      declaration from cgraph.h.  They will hopefully answer questions that
      people like myself can ask while discovering the thunk machinery.  I
      also made an assertion stricter in cgraph_node::create_thunk.
      
      Bootsrapped and regtested on x86_64-linux.
      
      gcc/
      
      	* cgraph.h (cgraph_thunk_info): Add comments.
      	* cgraph.c (cgraph_node::create_thunk): Adjust comment, make
      	assert for VIRTUAL_* arguments stricter.
      
      From-SVN: r252828
      Pierre-Marie de Rodat committed
    • re PR tree-optimization/71026 (Missing division optimizations) · ed17cb57
      2017-09-15  Jackson Woodruff  <jackson.woodruff@arm.com>
      
      	PR tree-optimization/71026
      	* match.pd: Move RDIV patterns from fold-const.c
      	* fold-const.c (distribute_real_division): Removed.
      	(fold_binary_loc): Remove calls to distribute_real_divison.
      
      	PR tree-optimization/71026
      	* gcc/testsuire/gcc.dg/fold-div-1.c: Use -O1.
      
      From-SVN: r252827
      Jackson Woodruff committed
    • invoke.texi: Document -std=c++17 and -std=gnu++17 and document c++1z and gnu++1z as deprecated. · 7b936140
      	* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document
      	c++1z and gnu++1z as deprecated.  Change other references to
      	-std=c++1z to -std=c++17 and -std=gnu++1z to -std=gnu++17.
      	Change -Wc++1z-compat to -Wc++17-compat.
      	* doc/cpp.texi: Document -std=c++17 defines __cplusplus 201703L.
      	* dwarf2out.c (highest_c_language): Handle C++17.
      	(gen_compile_unit_die): Likewise.
      c-family/
      	* c.opt (Wc++1z-compat): Change from option to undocumented alias.
      	(Wc++17-compat): Change from undocumented alias to option.
      	(Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
      	change C++1z to C++17 in description.
      	(std=c++1z, std=gnu++1z): Change from option to undocumented
      	deprecated alias.
      	(std=c++17, std=gnu++17): Change from undocumented alias to option.
      	Adjust description.
      	* c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
      	* c-opts.c (set_std_cxx1z): Rename to ...
      	(set_std_cxx17): ... this.
      	(c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
      	and OPT_std_gnu__1z to OPT_std_gnu__17.  Adjust set_std_cxx1z
      	caller.  
      	(c_common_post_options): Use cxx17 instead of cxx1z.  Adjust
      	comments.
      cp/
      	* decl.c (redeclaration_error_message): Use cxx17 instead of cxx1z,
      	adjust diagnostics refering to C++1z or -std=gnu++1z or -std=c++1z
      	to C++17 or -std=gnu++17 or -std=c++17.  Adjust comments.
      	(cxx_init_decl_processing, next_initializable_field,
      	is_direct_enum_init, check_initializer, cp_finish_decl,
      	mark_inline_variable, grokdeclarator, grokparms, xref_basetypes,
      	finish_function): Likewise.
      	* cp-tree.h (DECL_INLINE_VAR_P): Likewise.
      	* pt.c (mark_template_parm, convert_nontype_argument,
      	instantiate_class_template_1, type_unification_real, unify,
      	get_partial_spec_bindings, dependent_type_p_r): Likewise.
      	* typeck.c (cp_build_unary_op): Likewise.
      	* constexpr.c (var_in_maybe_constexpr_fn): Likewise.
      	* call.c (build_user_type_conversion_1, build_over_call,
      	build_special_member_call): Likewise.
      	* lambda.c (begin_lambda_type): Likewise.
      	* typeck2.c (process_init_constructor_record): Likewise.
      	* class.c (build_base_field, finalize_literal_type_property,
      	explain_non_literal_class): Likewise.
      	* parser.c (cp_parser_diagnose_invalid_type_name,
      	cp_parser_primary_expression, cp_parser_lambda_introducer,
      	cp_parser_lambda_declarator_opt, cp_parser_selection_statement,
      	cp_convert_range_for, cp_parser_perform_range_for_lookup,
      	cp_parser_decomposition_declaration, cp_parser_linkage_specification,
      	cp_parser_static_assert, cp_parser_simple_type_specifier,
      	cp_parser_namespace_definition, cp_parser_using_declaration,
      	cp_parser_init_declarator, cp_parser_type_parameter_key,
      	cp_parser_exception_specification_opt, cp_parser_std_attribute_spec,
      	cp_parser_constructor_declarator_p): Likewise.
      	* mangle.c (struct globals): Rename need_cxx1z_warning to
      	need_cxx17_warning.
      	(write_exception_spec, start_mangling, mangle_decl): Likewise.
      	* Make-lang.in (check-c++1z): Rename to check-c++17, depend on
      	it.
      	(check-c++17): New goal.  Use 17 instead of 1z.
      	(check-c++-all): Use 17 instead of 1z.
      testsuite/
      	* lib/g++-dg.exp (g++-dg-runtest): Use 17 instead of 1z.
      	* lib/target-supports.exp (check_effective_target_c++14): Use
      	check_effective_target_c++17 instead of check_effective_target_c++1z.
      	(check_effective_target_c++14_down): Likewise.
      	(check_effective_target_c++1z_only): Rename to ...
      	(check_effective_target_c++17_only): ... this.
      	(check_effective_target_c++1z): Rename to ...
      	(check_effective_target_c++17): ... this.
      	* g++.dg/debug/dwarf2/inline-var-1.C: Use -std=c++17 or -std=gnu++17
      	instead of -std=c++1z or -std=gnu++1z.  Use c++17 instead of c++1z
      	and c++17_only instead of c++1z_only.  Adjust expected diagnostics
      	and comments refering to 1z to 17.
      	* g++.dg/debug/dwarf2/inline-var-2.C: Likewise.
      	* g++.dg/template/partial5.C: Likewise.
      	* g++.dg/template/nontype8.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type5.C: Likewise.
      	* g++.dg/cpp1z/nontype3a.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda4.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type16.C: Likewise.
      	* g++.dg/cpp1z/class-deduction32.C: Likewise.
      	* g++.dg/cpp1z/pr78771.C: Likewise.
      	* g++.dg/cpp1z/elide1.C: Likewise.
      	* g++.dg/cpp1z/fold3.C: Likewise.
      	* g++.dg/cpp1z/class-deduction2.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type12.C: Likewise.
      	* g++.dg/cpp1z/inline-var2.C: Likewise.
      	* g++.dg/cpp1z/eval-order2.C: Likewise.
      	* g++.dg/cpp1z/decomp21.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda11.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda9.C: Likewise.
      	* g++.dg/cpp1z/utf8-neg.C: Likewise.
      	* g++.dg/cpp1z/class-deduction41.C: Likewise.
      	* g++.dg/cpp1z/class-deduction23.C: Likewise.
      	* g++.dg/cpp1z/nodiscard3.C: Likewise.
      	* g++.dg/cpp1z/static_assert-nomsg.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type9.C: Likewise.
      	* g++.dg/cpp1z/class-deduction21.C: Likewise.
      	* g++.dg/cpp1z/range-for1.C: Likewise.
      	* g++.dg/cpp1z/init-statement4.C: Likewise.
      	* g++.dg/cpp1z/udlit-utf8char.C: Likewise.
      	* g++.dg/cpp1z/decomp30.C: Likewise.
      	* g++.dg/cpp1z/class-deduction39.C: Likewise.
      	* g++.dg/cpp1z/register2.C: Likewise.
      	* g++.dg/cpp1z/decomp9.C: Likewise.
      	* g++.dg/cpp1z/regress1.C: Likewise.
      	* g++.dg/cpp1z/direct-enum-init1.C: Likewise.
      	* g++.dg/cpp1z/class-deduction30.C: Likewise.
      	* g++.dg/cpp1z/abbrev2.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto6.C: Likewise.
      	* g++.dg/cpp1z/regress2.C: Likewise.
      	* g++.dg/cpp1z/decomp16.C: Likewise.
      	* g++.dg/cpp1z/bool-increment1.C: Likewise.
      	* g++.dg/cpp1z/aligned-new1.C: Likewise.
      	* g++.dg/cpp1z/decomp3.C: Likewise.
      	* g++.dg/cpp1z/register1.C: Likewise.
      	* g++.dg/cpp1z/namespace-attribs.C: Likewise.
      	* g++.dg/cpp1z/class-deduction1.C: Likewise.
      	* g++.dg/cpp1z/decomp10.C: Likewise.
      	* g++.dg/cpp1z/constexpr-if11.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda10.C: Likewise.
      	* g++.dg/cpp1z/decomp27.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type2.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda6.C: Likewise.
      	* g++.dg/cpp1z/class-deduction9.C: Likewise.
      	* g++.dg/cpp1z/attributes-enum-1.C: Likewise.
      	* g++.dg/cpp1z/decomp11.C: Likewise.
      	* g++.dg/cpp1z/aligned-new3.C: Likewise.
      	* g++.dg/cpp1z/utf8-2.C: Likewise.
      	* g++.dg/cpp1z/lambda-this3.C: Likewise.
      	* g++.dg/cpp1z/decomp-constexpr1.C: Likewise.
      	* g++.dg/cpp1z/byte1.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto9.C: Likewise.
      	* g++.dg/cpp1z/aggr-base4.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda1.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto3.C: Likewise.
      	* g++.dg/cpp1z/utf8-2a.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda7.C: Likewise.
      	* g++.dg/cpp1z/aggr-base6.C: Likewise.
      	* g++.dg/cpp1z/cplusplus.C: Likewise.
      	* g++.dg/cpp1z/class-deduction20.C: Likewise.
      	* g++.dg/cpp1z/aggr-base2.C: Likewise.
      	* g++.dg/cpp1z/class-deduction6.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type3.C: Likewise.
      	* g++.dg/cpp1z/class-deduction31.C: Likewise.
      	* g++.dg/cpp1z/class-deduction25.C: Likewise.
      	* g++.dg/cpp1z/class-deduction18.C: Likewise.
      	* g++.dg/cpp1z/fold9.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type8.C: Likewise.
      	* g++.dg/cpp1z/abbrev1.C: Likewise.
      	* g++.dg/cpp1z/constexpr-if10.C: Likewise.
      	* g++.dg/cpp1z/utf8.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type7.C: Likewise.
      	* g++.dg/cpp1z/aggr-base3.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda8.C: Likewise.
      	* g++.dg/cpp1z/init-statement2.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto4.C: Likewise.
      	* g++.dg/cpp1z/constexpr-if12.C: Likewise.
      	* g++.dg/cpp1z/class-deduction40.C: Likewise.
      	* g++.dg/cpp1z/nontype3.C: Likewise.
      	* g++.dg/cpp1z/class-deduction14.C: Likewise.
      	* g++.dg/cpp1z/fold7.C: Likewise.
      	* g++.dg/cpp1z/nontype2.C: Likewise.
      	* g++.dg/cpp1z/class-deduction15.C: Likewise.
      	* g++.dg/cpp1z/nested-namespace-def1.C: Likewise.
      	* g++.dg/cpp1z/class-deduction13.C: Likewise.
      	* g++.dg/cpp1z/aligned-new7.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type1.C: Likewise.
      	* g++.dg/cpp1z/nontype1.C: Likewise.
      	* g++.dg/cpp1z/init-statement5.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto2.C: Likewise.
      	* g++.dg/cpp1z/decomp17.C: Likewise.
      	* g++.dg/cpp1z/fold4.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda2.C: Likewise.
      	* g++.dg/cpp1z/fold7a.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto5.C: Likewise.
      	* g++.dg/cpp1z/init-statement7.C: Likewise.
      	* g++.dg/cpp1z/aggr-base5.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda5.C: Likewise.
      	* g++.dg/cpp1z/pr79143.C: Likewise.
      	* g++.dg/cpp1z/class-deduction38.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto8.C: Likewise.
      	* g++.dg/cpp1z/class-deduction12.C: Likewise.
      	* g++.dg/cpp1z/decomp20.C: Likewise.
      	* g++.dg/cpp1z/class-deduction22.C: Likewise.
      	* g++.dg/cpp1z/class-deduction29.C: Likewise.
      	* g++.dg/cpp1z/class-deduction8.C: Likewise.
      	* g++.dg/cpp1z/class-deduction43.C: Likewise.
      	* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
      	* g++.dg/cpp1z/fold8.C: Likewise.
      	* g++.dg/cpp1z/init-statement3.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto10.C: Likewise.
      	* g++.dg/cpp1z/class-deduction36.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type17.C: Likewise.
      	* g++.dg/cpp1z/fallthrough1.C: Likewise.
      	* g++.dg/cpp1z/fold1.C: Likewise.
      	* g++.dg/cpp1z/class-deduction26.C: Likewise.
      	* g++.dg/cpp1z/fold-ice1.C: Likewise.
      	* g++.dg/cpp1z/fold5.C: Likewise.
      	* g++.dg/cpp1z/class-deduction34.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type6.C: Likewise.
      	* g++.dg/cpp1z/class-deduction7.C: Likewise.
      	* g++.dg/cpp1z/class-deduction16.C: Likewise.
      	* g++.dg/cpp1z/class-deduction10.C: Likewise.
      	* g++.dg/cpp1z/eval-order3.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda13.C: Likewise.
      	* g++.dg/cpp1z/aggr-base2a.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto1.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda3.C: Likewise.
      	* g++.dg/cpp1z/nontype-auto7.C: Likewise.
      	* g++.dg/cpp1z/decomp15.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type4.C: Likewise.
      	* g++.dg/cpp1z/fold-mangle.C: Likewise.
      	* g++.dg/cpp1z/class-deduction35.C: Likewise.
      	* g++.dg/cpp1z/decomp4.C: Likewise.
      	* g++.dg/cpp1z/class-deduction42.C: Likewise.
      	* g++.dg/cpp1z/init-statement8.C: Likewise.
      	* g++.dg/cpp1z/inline-var1a.C: Likewise.
      	* g++.dg/cpp1z/init-statement6.C: Likewise.
      	* g++.dg/cpp1z/class-deduction17.C: Likewise.
      	* g++.dg/cpp1z/class-deduction28.C: Likewise.
      	* g++.dg/cpp1z/class-deduction27.C: Likewise.
      	* g++.dg/cpp1z/decomp-bitfield1.C: Likewise.
      	* g++.dg/cpp1z/attributes-enum-1a.C: Likewise.
      	* g++.dg/cpp1z/class-deduction11.C: Likewise.
      	* g++.dg/cpp1z/constexpr-lambda12.C: Likewise.
      	* g++.dg/cpp1z/init-statement9.C: Likewise.
      	* g++.dg/cpp1z/class-deduction19.C: Likewise.
      	* g++.dg/cpp1z/class-deduction5.C: Likewise.
      	* g++.dg/cpp1z/fold2.C: Likewise.
      	* g++.dg/cpp1z/class-deduction33.C: Likewise.
      	* g++.dg/cpp1z/class-deduction24.C: Likewise.
      	* g++.dg/cpp1z/aggr-base1.C: Likewise.
      	* g++.dg/cpp1z/fold6.C: Likewise.
      	* g++.dg/cpp1z/decomp12.C: Likewise.
      	* g++.dg/cpp1z/class-deduction4.C: Likewise.
      	* g++.dg/cpp1z/inline-var1.C: Likewise.
      	* g++.dg/cpp1z/aligned-new2.C: Likewise.
      	* g++.dg/cpp1z/class-deduction3.C: Likewise.
      	* g++.dg/other/error3.C: Likewise.
      	* g++.dg/init/new25.C: Likewise.
      	* g++.dg/init/new13.C: Likewise.
      	* g++.dg/tls/diag-2.C: Likewise.
      	* g++.dg/tls/diag-4.C: Likewise.
      	* g++.dg/opt/noreturn-1.C: Likewise.
      	* g++.dg/eh/async-unwind2.C: Likewise.
      	* g++.dg/eh/spec9.C: Likewise.
      	* g++.dg/eh/spec7.C: Likewise.
      	* g++.dg/eh/template1.C: Likewise.
      	* g++.dg/eh/cond4.C: Likewise.
      	* g++.dg/eh/pr41819.C: Likewise.
      	* g++.dg/eh/delete1.C: Likewise.
      	* g++.dg/eh/spec3.C: Likewise.
      	* g++.dg/eh/forced4.C: Likewise.
      	* g++.dg/eh/spec2.C: Likewise.
      	* g++.dg/eh/shadow1.C: Likewise.
      	* g++.dg/eh/pr38662.C: Likewise.
      	* g++.dg/eh/ehopt1.C: Likewise.
      	* g++.dg/eh/spec8.C: Likewise.
      	* g++.dg/eh/init-temp2.C: Likewise.
      	* g++.dg/rtti/crash3.C: Likewise.
      	* g++.dg/warn/Wreturn-type-3.C: Likewise.
      	* g++.dg/warn/register-parm-1.C: Likewise.
      	* g++.dg/warn/register-var-2.C: Likewise.
      	* g++.dg/gcov/gcov-7.C: Likewise.
      	* g++.dg/tree-ssa/pr45605.C: Likewise.
      	* g++.dg/cpp/pr23827_cxx98_neg.C: Likewise.
      	* g++.dg/lookup/exception1.C: Likewise.
      	* g++.dg/ubsan/pr79589.C: Likewise.
      	* g++.dg/tm/pr47340.C: Likewise.
      	* g++.dg/tm/pr46567.C: Likewise.
      	* g++.dg/expr/bitfield5.C: Likewise.
      	* g++.dg/expr/bool1.C: Likewise.
      	* g++.dg/expr/lval3.C: Likewise.
      	* g++.dg/expr/lval4.C: Likewise.
      	* g++.dg/expr/bitfield4.C: Likewise.
      	* g++.dg/expr/bitfield6.C: Likewise.
      	* g++.dg/expr/bool3.C: Likewise.
      	* g++.dg/ext/has_nothrow_constructor.C: Likewise.
      	* g++.dg/ext/has_nothrow_copy-7.C: Likewise.
      	* g++.dg/ext/has_nothrow_copy-1.C: Likewise.
      	* g++.dg/ext/has_nothrow_copy-2.C: Likewise.
      	* g++.dg/ext/has_nothrow_copy-4.C: Likewise.
      	* g++.dg/ext/has_nothrow_copy-5.C: Likewise.
      	* g++.dg/ext/has_nothrow_copy-6.C: Likewise.
      	* g++.dg/ext/has_nothrow_assign.C: Likewise.
      	* g++.dg/parse/register1.C: Likewise.
      	* g++.dg/parse/error15.C: Likewise.
      	* g++.dg/parse/linkage2.C: Likewise.
      	* g++.dg/concepts/intro2.C: Likewise.
      	* g++.dg/concepts/class.C: Likewise.
      	* g++.dg/concepts/traits1.C: Likewise.
      	* g++.dg/concepts/req5.C: Likewise.
      	* g++.dg/concepts/var-concept5.C: Likewise.
      	* g++.dg/concepts/fn-concept2.C: Likewise.
      	* g++.dg/concepts/traits2.C: Likewise.
      	* g++.dg/concepts/placeholder2.C: Likewise.
      	* g++.dg/concepts/class6.C: Likewise.
      	* g++.dg/concepts/memtmpl1.C: Likewise.
      	* g++.dg/concepts/friend2.C: Likewise.
      	* g++.dg/concepts/template-parm3.C: Likewise.
      	* g++.dg/concepts/template-parm10.C: Likewise.
      	* g++.dg/concepts/explicit-spec1.C: Likewise.
      	* g++.dg/concepts/explicit-spec3.C: Likewise.
      	* g++.dg/concepts/var-templ2.C: Likewise.
      	* g++.dg/concepts/intro5.C: Likewise.
      	* g++.dg/concepts/deduction-constraint1.C: Likewise.
      	* g++.dg/concepts/iconv1.C: Likewise.
      	* g++.dg/concepts/constrained-parm.C: Likewise.
      	* g++.dg/concepts/template-template-parm1.C: Likewise.
      	* g++.dg/concepts/var-concept3.C: Likewise.
      	* g++.dg/concepts/class3.C: Likewise.
      	* g++.dg/concepts/memfun2.C: Likewise.
      	* g++.dg/concepts/req1.C: Likewise.
      	* g++.dg/concepts/disjunction1.C: Likewise.
      	* g++.dg/concepts/req17.C: Likewise.
      	* g++.dg/concepts/pr65848.C: Likewise.
      	* g++.dg/concepts/placeholder4.C: Likewise.
      	* g++.dg/concepts/decl-diagnose.C: Likewise.
      	* g++.dg/concepts/intro7.C: Likewise.
      	* g++.dg/concepts/pr68683.C: Likewise.
      	* g++.dg/concepts/partial-spec4.C: Likewise.
      	* g++.dg/concepts/template-parm5.C: Likewise.
      	* g++.dg/concepts/explicit-inst1.C: Likewise.
      	* g++.dg/concepts/class-deduction1.C: Likewise.
      	* g++.dg/concepts/class1.C: Likewise.
      	* g++.dg/concepts/req15.C: Likewise.
      	* g++.dg/concepts/memfun.C: Likewise.
      	* g++.dg/concepts/pr68434.C: Likewise.
      	* g++.dg/concepts/inherit-ctor4.C: Likewise.
      	* g++.dg/concepts/partial-spec6.C: Likewise.
      	* g++.dg/concepts/var-templ1.C: Likewise.
      	* g++.dg/concepts/template-parm8.C: Likewise.
      	* g++.dg/concepts/explicit-inst3.C: Likewise.
      	* g++.dg/concepts/class4.C: Likewise.
      	* g++.dg/concepts/req6.C: Likewise.
      	* g++.dg/concepts/fn8.C: Likewise.
      	* g++.dg/concepts/class5.C: Likewise.
      	* g++.dg/concepts/placeholder5.C: Likewise.
      	* g++.dg/concepts/req16.C: Likewise.
      	* g++.dg/concepts/req10.C: Likewise.
      	* g++.dg/concepts/var-concept2.C: Likewise.
      	* g++.dg/concepts/auto3.C: Likewise.
      	* g++.dg/concepts/generic-fn-err.C: Likewise.
      	* g++.dg/concepts/pr65552.C: Likewise.
      	* g++.dg/concepts/partial-concept-id2.C: Likewise.
      	* g++.dg/concepts/fn1.C: Likewise.
      	* g++.dg/concepts/partial-spec.C: Likewise.
      	* g++.dg/concepts/template-parm12.C: Likewise.
      	* g++.dg/concepts/diagnostic1.C: Likewise.
      	* g++.dg/concepts/intro1.C: Likewise.
      	* g++.dg/concepts/explicit-inst4.C: Likewise.
      	* g++.dg/concepts/req18.C: Likewise.
      	* g++.dg/concepts/explicit-spec5.C: Likewise.
      	* g++.dg/concepts/var-concept6.C: Likewise.
      	* g++.dg/concepts/fn9.C: Likewise.
      	* g++.dg/concepts/req2.C: Likewise.
      	* g++.dg/concepts/template-parm7.C: Likewise.
      	* g++.dg/concepts/req14.C: Likewise.
      	* g++.dg/concepts/template-parm6.C: Likewise.
      	* g++.dg/concepts/variadic4.C: Likewise.
      	* g++.dg/concepts/fn6.C: Likewise.
      	* g++.dg/concepts/req-neg1.C: Likewise.
      	* g++.dg/concepts/alias3.C: Likewise.
      	* g++.dg/concepts/expression2.C: Likewise.
      	* g++.dg/concepts/partial-spec3.C: Likewise.
      	* g++.dg/concepts/expression3.C: Likewise.
      	* g++.dg/concepts/memfun-err.C: Likewise.
      	* g++.dg/concepts/pr66091.C: Likewise.
      	* g++.dg/concepts/explicit-spec2.C: Likewise.
      	* g++.dg/concepts/equiv.C: Likewise.
      	* g++.dg/concepts/friend1.C: Likewise.
      	* g++.dg/concepts/fn4.C: Likewise.
      	* g++.dg/concepts/var-templ3.C: Likewise.
      	* g++.dg/concepts/explicit-inst2.C: Likewise.
      	* g++.dg/concepts/alias2.C: Likewise.
      	* g++.dg/concepts/regress/alias-decl-42.C: Likewise.
      	* g++.dg/concepts/placeholder6.C: Likewise.
      	* g++.dg/concepts/fn10.C: Likewise.
      	* g++.dg/concepts/req3.C: Likewise.
      	* g++.dg/concepts/variadic2.C: Likewise.
      	* g++.dg/concepts/pr65636.C: Likewise.
      	* g++.dg/concepts/intro6.C: Likewise.
      	* g++.dg/concepts/class2.C: Likewise.
      	* g++.dg/concepts/fn2.C: Likewise.
      	* g++.dg/concepts/req20.C: Likewise.
      	* g++.dg/concepts/req8.C: Likewise.
      	* g++.dg/concepts/placeholder1.C: Likewise.
      	* g++.dg/concepts/pr65854.C: Likewise.
      	* g++.dg/concepts/member-concept.C: Likewise.
      	* g++.dg/concepts/template-parm2.C: Likewise.
      	* g++.dg/concepts/variadic1.C: Likewise.
      	* g++.dg/concepts/fn7.C: Likewise.
      	* g++.dg/concepts/intro4.C: Likewise.
      	* g++.dg/concepts/req13.C: Likewise.
      	* g++.dg/concepts/inherit-ctor3.C: Likewise.
      	* g++.dg/concepts/explicit-spec6.C: Likewise.
      	* g++.dg/concepts/auto1.C: Likewise.
      	* g++.dg/concepts/alias1.C: Likewise.
      	* g++.dg/concepts/fn-concept1.C: Likewise.
      	* g++.dg/concepts/template-parm11.C: Likewise.
      	* g++.dg/concepts/explicit-spec4.C: Likewise.
      	* g++.dg/concepts/partial-concept-id1.C: Likewise.
      	* g++.dg/concepts/req9.C: Likewise.
      	* g++.dg/concepts/req4.C: Likewise.
      	* g++.dg/concepts/pr65681.C: Likewise.
      	* g++.dg/concepts/req7.C: Likewise.
      	* g++.dg/concepts/req12.C: Likewise.
      	* g++.dg/concepts/fn5.C: Likewise.
      	* g++.dg/concepts/alias4.C: Likewise.
      	* g++.dg/concepts/generic-fn.C: Likewise.
      	* g++.dg/concepts/feature-macro.C: Likewise.
      	* g++.dg/concepts/req19.C: Likewise.
      	* g++.dg/concepts/placeholder3.C: Likewise.
      	* g++.dg/concepts/intro3.C: Likewise.
      	* g++.dg/concepts/partial-spec5.C: Likewise.
      	* g++.dg/concepts/template-parm4.C: Likewise.
      	* g++.dg/concepts/dr1430.C: Likewise.
      	* g++.dg/concepts/pr65634.C: Likewise.
      	* g++.dg/concepts/var-concept4.C: Likewise.
      	* g++.dg/concepts/pr67249.C: Likewise.
      	* g++.dg/concepts/expression.C: Likewise.
      	* g++.dg/concepts/pr65575.C: Likewise.
      	* g++.dg/concepts/partial-spec2.C: Likewise.
      	* g++.dg/concepts/template-parm9.C: Likewise.
      	* g++.dg/concepts/inherit-ctor1.C: Likewise.
      	* g++.dg/concepts/equiv2.C: Likewise.
      	* g++.dg/concepts/req11.C: Likewise.
      	* g++.dg/concepts/template-parm1.C: Likewise.
      	* g++.dg/concepts/inherit-ctor2.C: Likewise.
      	* g++.dg/concepts/var-concept1.C: Likewise.
      	* g++.dg/concepts/fn3.C: Likewise.
      	* g++.dg/torture/pr46364.C: Likewise.
      	* g++.dg/torture/stackalign/eh-alloca-1.C: Likewise.
      	* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
      	* g++.dg/torture/stackalign/eh-vararg-1.C: Likewise.
      	* g++.dg/torture/stackalign/eh-vararg-2.C: Likewise.
      	* g++.dg/torture/stackalign/eh-global-1.C: Likewise.
      	* g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
      	* g++.dg/torture/stackalign/eh-inline-2.C: Likewise.
      	* g++.dg/torture/stackalign/eh-inline-1.C: Likewise.
      	* g++.dg/torture/pr52918-1.C: Likewise.
      	* g++.dg/torture/pr49394.C: Likewise.
      	* g++.dg/torture/pr57190.C: Likewise.
      	* g++.dg/cpp0x/static_assert8.C: Likewise.
      	* g++.dg/cpp0x/noexcept19.C: Likewise.
      	* g++.dg/cpp0x/variadic-throw.C: Likewise.
      	* g++.dg/cpp0x/variadic73.C: Likewise.
      	* g++.dg/cpp0x/noexcept02.C: Likewise.
      	* g++.dg/cpp0x/defaulted23.C: Likewise.
      	* g++.dg/cpp0x/noexcept08.C: Likewise.
      	* g++.dg/cpp0x/auto9.C: Likewise.
      	* g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise.
      	* g++.dg/cpp0x/error5.C: Likewise.
      	* c-c++-common/gomp/atomic-12.c: Likewise.
      	* c-c++-common/gomp/atomic-13.c: Likewise.
      	* c-c++-common/gomp/atomic-14.c: Likewise.
      	* c-c++-common/Wvarargs-2.c: Likewise.
      	* c-c++-common/Wvarargs.c: Likewise.
      	* c-c++-common/vector-subscript-2.c: Likewise.
      	* g++.old-deja/g++.robertl/eb123.C: Likewise.
      	* g++.old-deja/g++.eh/tmpl3.C: Likewise.
      	* g++.old-deja/g++.eh/cleanup2.C: Likewise.
      	* g++.old-deja/g++.eh/badalloc1.C: Likewise.
      	* g++.old-deja/g++.eh/throw2.C: Likewise.
      	* g++.old-deja/g++.eh/throw1.C: Likewise.
      	* g++.old-deja/g++.eh/tmpl1.C: Likewise.
      	* g++.old-deja/g++.other/new7.C: Likewise.
      	* g++.old-deja/g++.other/crash30.C: Likewise.
      	* g++.old-deja/g++.other/regstack.C: Likewise.
      	* g++.old-deja/g++.other/crash28.C: Likewise.
      	* g++.old-deja/g++.jason/bool5.C: Likewise.
      	* g++.old-deja/g++.mike/p10416.C: Likewise.
      	* g++.old-deja/g++.mike/eh25.C: Likewise.
      	* g++.old-deja/g++.mike/eh55.C: Likewise.
      libcpp/
      	* include/cpplib.h (enum c_lang): Rename CLK_GNUCXX1Z
      	to CLK_GNUCXX17 and CLK_CXX1Z to CLK_CXX17.
      	* init.c (lang_defaults, cpp_init_builtins): Likewise.
      	* expr.c (cpp_classify_number): Use C++17 instead of C++1z
      	in diagnostics.
      libstdc++-v3/
      	* testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or
      	-std=gnu++17 instead of -std=c++1z or -std=gnu++1z.  Use c++17 instead
      	of c++1z and c++17_only instead of c++1z_only.  Adjust expected
      	diagnostics and comments refering to 1z to 17.
      	* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
      	* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
      	* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
      	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise.
      	* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
      	* testsuite/18_support/launder/1.cc (test02): Likewise.
      	* testsuite/18_support/launder/requirements_neg.cc: Likewise.
      	* testsuite/18_support/launder/requirements.cc: Likewise.
      	* testsuite/18_support/byte/requirements.cc: Likewise.
      	* testsuite/18_support/byte/ops.cc: Likewise.
      	* testsuite/18_support/byte/global_neg.cc: Likewise.
      	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
      	Likewise.
      	* testsuite/27_io/types/4.cc: Likewise.
      	* testsuite/25_algorithms/sample/81221.cc: Likewise.
      	* testsuite/25_algorithms/sample/1.cc: Likewise.
      	* testsuite/25_algorithms/sample/2.cc: Likewise.
      	* testsuite/25_algorithms/search/searcher.cc: Likewise.
      	* testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
      	* testsuite/experimental/filesystem/path/construct/string_view.cc:
      	Likewise.
      	* testsuite/24_iterators/range_access_cpp17.cc: Likewise.
      	* testsuite/24_iterators/container_access.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
      	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
      	* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
      	* testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
      	* testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise.
      	* testsuite/20_util/pair/cons/deduction.cc: Likewise.
      	* testsuite/20_util/variant/deduction.cc: Likewise.
      	* testsuite/20_util/tuple/78939.cc: Likewise.
      	* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
      	* testsuite/20_util/void_t/1.cc: Likewise.
      	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise.
      	* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
      	* testsuite/20_util/addressof/requirements/constexpr.cc: Likewise.
      	* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
      	* testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/has_unique_object_representations/value.cc:
      	Likewise.
      	* testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise.
      	* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
      	* testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
      	* testsuite/20_util/function/cons/deduction.cc: Likewise.
      	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
      	Likewise.
      	* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
      	* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/is_aggregate/value.cc: Likewise.
      	* testsuite/26_numerics/lcm/1.cc: Likewise.
      	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
      	* testsuite/26_numerics/gcd/1.cc: Likewise.
      	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
      	* testsuite/26_numerics/valarray/deduction.cc: Likewise.
      	* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise.
      	* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
      	* testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
      	Likewise.
      	* testsuite/23_containers/array/cons/deduction.cc: Likewise.
      	* testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
      	* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
      	Likewise.
      	* testsuite/23_containers/deque/cons/deduction.cc: Likewise.
      	* testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
      	Likewise.
      	* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
      	Likewise.
      	* testsuite/23_containers/list/cons/deduction.cc: Likewise.
      	* testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/cons/deduction.cc: Likewise.
      	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise.
      	* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
      	Likewise.
      	* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
      	* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
      	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise.
      	* testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise.
      	* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
      	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
      	Likewise.
      	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
      	Likewise.
      
      From-SVN: r252826
      Jakub Jelinek committed
    • re PR rtl-optimization/82192 (gcc produces incorrect code with -O2 and bit-field) · a1189286
      	PR rtl-optimization/82192
      	* combine.c (make_extraction): Don't look through non-paradoxical
      	SUBREGs or TRUNCATE if pos + len is or might be bigger than
      	inner's mode.
      
      	* gcc.c-torture/execute/pr82192.c: New test.
      
      From-SVN: r252824
      Jakub Jelinek committed
    • [include] Add macro DISABLE_COPY_AND_ASSIGN · 681f5b7c
      We have many classes that copy cotr and assignment operator are deleted
      in different projects, gcc, gdb and gold.  So this patch adds a macro
      to do this, and replace these existing mechanical code with macro
      DISABLE_COPY_AND_ASSIGN.
      
      The patch was posted in gdb-patches,
      https://sourceware.org/ml/gdb-patches/2017-07/msg00254.html but we
      think it is better to put this macro in include/ansidecl.h so that
      other projects can use it too.
      
      include:
      
      2017-09-15  Yao Qi  <yao.qi@linaro.org>
      	    Pedro Alves  <palves@redhat.com>
      
      	* ansidecl.h (DISABLE_COPY_AND_ASSIGN): New macro.
      
      Co-Authored-By: Pedro Alves <palves@redhat.com>
      
      From-SVN: r252823
      Yao Qi committed
    • Fix compile time error when using ansidecl.h with an old version of GCC. · efae2b2f
      include/
      2017-07-31  Nick Clifton  <nickc@redhat.com>
      
      	Binutils PR 21850
      	* ansidecl.h (OVERRIDE): Protect check of __cplusplus value with
      	#idef __cplusplus.
      
      From-SVN: r252822
      Nick Clifton committed
    • Turn FUNCTION_ARG_OFFSET into a hook · 870118b7
      2017-09-13  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* target.def (function_arg_offset): New hook.
      	* targhooks.h (default_function_arg_offset): Declare.
      	* targhooks.c (default_function_arg_offset): New function.
      	* function.c (locate_and_pad_parm): Use
      	targetm.calls.function_arg_offset instead of FUNCTION_ARG_OFFSET.
      	* doc/tm.texi.in (FUNCTION_ARG_OFFSET): Replace with...
      	(TARGET_FUNCTION_ARG_OFFSET): ...this.
      	* doc/tm.texi: Regenerate.
      	* config/spu/spu.h (FUNCTION_ARG_OFFSET): Delete.
      	* config/spu/spu.c (spu_function_arg_offset): New function.
      	(TARGET_FUNCTION_ARG_OFFSET): Redefine.
      	* system.h (FUNCTION_ARG_OFFSET): Poison.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r252821
      Richard Sandiford committed
    • Turn TRULY_NOOP_TRUNCATION into a hook · bb149ca2
      I'm not sure the documentation is correct that outprec is always less
      than inprec, and each non-default implementation tested for the case
      in which it wasn't, but the patch leaves it as-is.
      
      The SH port had a couple of TRULY_NOOP_TRUNCATION tests that were left
      over from the old shmedia port.
      
      2017-09-13  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayard  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* target.def (truly_noop_truncation): New hook.
      	(mode_rep_extended): Refer to TARGET_TRULY_NOOP_TRUNCATION rather
      	than TRULY_NOOP_TRUNCATION.
      	* hooks.h (hook_bool_uint_uint_true): Declare.
      	* hooks.c (hook_bool_uint_uint_true): New function.
      	* doc/tm.texi.in (TRULY_NOOP_TRUNCATION): Replace with...
      	(TARGET_TRULY_NOOP_TRUNCATION): ...this.
      	* doc/tm.texi: Regenerate.
      	* combine.c (make_extraction): Refer to TARGET_TRULY_NOOP_TRUNCATION
      	rather than TRULY_NOOP_TRUNCATION in comments.
      	(simplify_comparison): Likewise.
      	(record_truncated_value): Likewise.
      	* expmed.c (extract_bit_field_1): Likewise.
      	(extract_split_bit_field): Likewise.
      	* convert.c (convert_to_integer_1): Use targetm.truly_noop_truncation
      	instead of TRULY_NOOP_TRUNCATION.
      	* function.c (assign_parm_setup_block): Likewise.
      	* machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): Likewise.
      	* rtlhooks.c: Include target.h.
      	* config/aarch64/aarch64.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/alpha/alpha.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/arc/arc.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/arm/arm.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/avr/avr.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/bfin/bfin.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/c6x/c6x.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/cr16/cr16.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/cris/cris.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/epiphany/epiphany.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/fr30/fr30.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/frv/frv.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/ft32/ft32.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/h8300/h8300.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/i386/i386.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/ia64/ia64.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/iq2000/iq2000.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/lm32/lm32.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/m32c/m32c.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/m32r/m32r.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/m68k/m68k.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/mcore/mcore.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/microblaze/microblaze.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/mips/mips.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/mips/mips.c (mips_truly_noop_truncation): New function.
      	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
      	* config/mips/mips.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
      	rather than TRULY_NOOP_TRUNCATION in comments.
      	* config/mmix/mmix.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/mn10300/mn10300.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/moxie/moxie.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/msp430/msp430.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/nds32/nds32.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/nios2/nios2.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/nvptx/nvptx.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/pa/pa.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/pdp11/pdp11.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/powerpcspe/powerpcspe.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/riscv/riscv.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/riscv/riscv.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
      	rather than TRULY_NOOP_TRUNCATION in comments.
      	* config/rl78/rl78.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/rs6000/rs6000.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/rx/rx.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/s390/s390.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/sh/sh.h (MAYBE_BASE_REGISTER_RTX_P): Remove
      	TRULY_NOOP_TRUNCATION condition.
      	(MAYBE_INDEX_REGISTER_RTX_P): Likewise.
      	(TRULY_NOOP_TRUNCATION): Delete.
      	* config/sparc/sparc.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/spu/spu.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/spu/spu.c (spu_truly_noop_truncation): New function.
      	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
      	* config/stormy16/stormy16.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/tilegx/tilegx.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/tilegx/tilegx.c (tilegx_truly_noop_truncation): New fuction.
      	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
      	* config/tilegx/tilegx.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
      	rather than TRULY_NOOP_TRUNCATION in comments.
      	* config/tilepro/tilepro.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/v850/v850.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/vax/vax.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/visium/visium.h (TRULY_NOOP_TRUNCATION): Delete.
      	* config/xtensa/xtensa.h (TRULY_NOOP_TRUNCATION): Delete.
      	* system.h (TRULY_NOOP_TRUNCATION): Poison.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r252818
      Richard Sandiford committed
    • [PR target/67591] ARM v8 Thumb IT blocks are deprecated · a75c63e0
      2017-09-15  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	PR target/67591
      	* config/arm/arm.md (*cmp_and): Add enabled_for_depr_it attribute.
      	(*cmp_ior): Likewise.
      	(*ior_scc_scc): Add alternative for enabled_for_depr_it attribute.
      	(*ior_scc_scc_cmp): Likewise.
      	(*and_scc_scc): Likewise.
      	(*and_scc_scc_cmp): Likewise.
      
      From-SVN: r252817
      Christophe Lyon committed
    • Turn CANNOT_CHANGE_MODE_CLASS into a hook · 0d803030
      This also seemed like a good opportunity to reverse the sense of the
      hook to "can", to avoid the awkward double negative in !CANNOT.
      
      2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayard  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* target.def (can_change_mode_class): New hook.
      	(mode_rep_extended): Refer to it instead of CANNOT_CHANGE_MODE_CLASS.
      	(hard_regno_nregs): Likewise.
      	* hooks.h (hook_bool_mode_mode_reg_class_t_true): Declare.
      	* hooks.c (hook_bool_mode_mode_reg_class_t_true): New function.
      	* doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Replace with...
      	(TARGET_CAN_CHANGE_MODE_CLASS): ...this.
      	(LOAD_EXTEND_OP): Update accordingly.
      	* doc/tm.texi: Regenerate.
      	* doc/rtl.texi: Refer to TARGET_CAN_CHANGE_MODE_CLASS instead of
      	CANNOT_CHANGE_MODE_CLASS.
      	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Replace with...
      	(REG_CAN_CHANGE_MODE_P): ...this new macro.
      	* combine.c (simplify_set): Update accordingly.
      	* emit-rtl.c (validate_subreg): Likewise.
      	* recog.c (general_operand): Likewise.
      	* regcprop.c (mode_change_ok): Likewise.
      	* reload1.c (choose_reload_regs): Likewise.
      	(inherit_piecemeal_p): Likewise.
      	* rtlanal.c (simplify_subreg_regno): Likewise.
      	* postreload.c (reload_cse_simplify_set): Use REG_CAN_CHANGE_MODE_P
      	instead of CANNOT_CHANGE_MODE_CLASS.
      	(reload_cse_simplify_operands): Likewise.
      	* reload.c (push_reload): Use targetm.can_change_mode_class
      	instead of CANNOT_CHANGE_MODE_CLASS.
      	(push_reload): Likewise.  Also use REG_CAN_CHANGE_MODE_P instead of
      	REG_CANNOT_CHANGE_MODE_P.
      	* config/alpha/alpha.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/alpha/alpha.c (alpha_can_change_mode_class): New function.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/arm/arm.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(arm_can_change_mode_class): New function.
      	* config/arm/neon.md: Refer to TARGET_CAN_CHANGE_MODE_CLASS rather
      	than CANNOT_CHANGE_MODE_CLASS in comments.
      	* config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/i386/i386-protos.h (ix86_cannot_change_mode_class): Delete.
      	* config/i386/i386.c (ix86_cannot_change_mode_class): Replace with...
      	(ix86_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/ia64/ia64.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(ia64_can_change_mode_class): New function.
      	* config/m32c/m32c.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/m32c/m32c-protos.h (m32c_cannot_change_mode_class): Delete.
      	* config/m32c/m32c.c (m32c_cannot_change_mode_class): Replace with...
      	(m32c_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/mips/mips-protos.h (mips_cannot_change_mode_class): Delete.
      	* config/mips/mips.c (mips_cannot_change_mode_class): Replace with...
      	(mips_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/msp430/msp430.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/msp430/msp430.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(msp430_can_change_mode_class): New function.
      	* config/nvptx/nvptx.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/nvptx/nvptx.c (nvptx_can_change_mode_class): New function.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/pa/pa32-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/pa/pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/pa/pa-protos.h (pa_cannot_change_mode_class): Delete.
      	* config/pa/pa.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(pa_cannot_change_mode_class): Replace with...
      	(pa_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	(pa_modes_tieable_p): Refer to TARGET_CAN_CHANGE_MODE_CLASS rather
      	than CANNOT_CHANGE_MODE_CLASS in comments.
      	* config/pdp11/pdp11.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class): Delete.
      	* config/pdp11/pdp11.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(pdp11_cannot_change_mode_class): Replace with...
      	(pdp11_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	* config/powerpcspe/powerpcspe.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/powerpcspe/powerpcspe-protos.h
      	(rs6000_cannot_change_mode_class_ptr): Delete.
      	* config/powerpcspe/powerpcspe.c
      	(rs6000_cannot_change_mode_class_ptr): Delete.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(rs6000_option_override_internal): Assign to
      	targetm.can_change_mode_class instead of
      	rs6000_cannot_change_mode_class_ptr.
      	(rs6000_cannot_change_mode_class): Replace with...
      	(rs6000_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	(rs6000_debug_cannot_change_mode_class): Replace with...
      	(rs6000_debug_can_change_mode_class): ...this new function.
      	* config/riscv/riscv.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/riscv/riscv.c (riscv_can_change_mode_class): New function.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/rs6000/rs6000-protos.h (rs6000_cannot_change_mode_class_ptr):
      	Delete.
      	* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class_ptr): Delete.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(rs6000_option_override_internal): Assign to
      	targetm.can_change_mode_class instead of
      	rs6000_cannot_change_mode_class_ptr.
      	(rs6000_cannot_change_mode_class): Replace with...
      	(rs6000_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	(rs6000_debug_cannot_change_mode_class): Replace with...
      	(rs6000_debug_can_change_mode_class): ...this new function.
      	* config/s390/s390.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/s390/s390-protos.h (s390_cannot_change_mode_class): Delete.
      	* config/s390/s390.c (s390_cannot_change_mode_class): Replace with...
      	(s390_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/sh/sh.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/sh/sh-protos.h (sh_cannot_change_mode_class): Delete.
      	* config/sh/sh.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(sh_cannot_change_mode_class): Replace with...
      	(sh_can_change_mode_class): ...this new function, inverting the
      	sense of the return value.
      	* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/sparc/sparc.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(sparc_can_change_mode_class): New function.
      	* config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/spu/spu.c (spu_can_change_mode_class): New function.
      	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	* config/visium/visium.h (CANNOT_CHANGE_MODE_CLASS): Delete.
      	* config/visium/visium.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
      	(visium_can_change_mode_class): New function.
      	* system.h (CANNOT_CHANGE_MODE_CLASS): Poison.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r252816
      Richard Sandiford committed
    • [demangler] Fix nested generic lambda · fa0cdfb6
      https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00994.html
      	PR demangler/82195
      	* cp-demangle.c (d_name): Add 'toplevel' parm.  Pass to	...
      	(d_local_name): ... here.  Parse trailing function args on nested
      	local_name.
      	(d_encoding, d_special_name, d_class_enum_type): Adjust d_name calls.
      	* testsuite/demangle-expected: Add tests.
      
      From-SVN: r252815
      Nathan Sidwell committed
    • re PR lto/81968 (early lto debug objects make Solaris ld SEGV) · dc4b8c68
      2017-09-15  Richard Biener  <rguenther@suse.de>
      
      	PR lto/81968
      	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
      	Iterate marking dependent sections necessary.
      
      From-SVN: r252807
      Richard Biener committed
    • [Demangle PATCH] Some pre-fix cleanups · 9d89efeb
      https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00983.html
      
      	* cp-demangle.c (is_fnqual_component_type): Reimplement using
      	FNQUAL_COMPONENT_CASE.
      	(d_encoding): Hold bare_function_type in local var.
      	(d_local_name): Build name in both cases and build result once.
      	Collapse switch-if to single conditional.
      	* testsuite/demangle-expected: Realign blank lines with tests.
      
      From-SVN: r252802
      Nathan Sidwell committed
    • re PR tree-optimization/82217 (ICE on valid code at -O1 and above: in visit_phi,… · 897da303
      re PR tree-optimization/82217 (ICE on valid code at -O1 and above: in visit_phi, at tree-ssa-sccvn.c:3908)
      
      2017-09-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/82217
      	* tree-ssa-sccvn.c (visit_phi): Properly handle all VN_TOP
      	but not undefined case.
      
      	* gcc.dg/torture/pr82217.c: New testcase.
      
      From-SVN: r252796
      Richard Biener committed
    • re PR middle-end/82145 (i386/pr38988.c, i386/pr46254.c, i386/pr55154.c, i386/pr81766.c fails) · 854dde43
      	PR target/82145
      	* postreload.c (reload_cse_simplify_operands): Skip
      	NOTE_INSN_DELETED_LABEL similarly to skipping CODE_LABEL.
      
      	* gcc.target/i386/pr82145.c: New test.
      
      From-SVN: r252791
      Jakub Jelinek committed
    • re PR fortran/82184 (187.facerec in SPEC CPU 2000 miscompares) · 22d07ec2
      2017-09-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82184
      	trans-decl.c (gfc_trans_deferred_vars): Do not null the 'span'
      	field if the symbol is either implicitly or explicitly saved.
      
      
      2017-09-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82184
      	* gfortran.dg/pointer_array_9.f90: New test.
      
      From-SVN: r252781
      Paul Thomas committed
    • re PR tree-optimization/68823 ([graphite] tramp3d-v4 compiled with -floop-nest-optimize crashes) · b6ab6ef8
      2017-09-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68823
      	* graphite-scop-detection.c (build_alias_set): If we have a
      	possible dependence check whether we can handle them by just
      	looking at the DRs DR_ACCESS_FNs.
      	(build_scops): If build_alias_set fails, fail the SCOP.
      
      From-SVN: r252780
      Richard Biener committed
    • Daily bump. · 29d32642
      From-SVN: r252779
      GCC Administrator committed
  4. 14 Sep, 2017 2 commits
    • Introduce libgomp/testsuite/libgomp.c-c++-common · 82419efb
      2017-09-14  Tom de Vries  <tom@codesourcery.com>
      
      	* testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
      	* testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
      	* testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
      	* testsuite/libgomp.c/c.exp: Include test-cases from
      	libgomp.c-c++-common.
      	* testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
      	files.
      
      From-SVN: r252775
      Tom de Vries committed
    • rs6000-builtin.def (BU_FLOAT128_1_HW): New macros to support float128 built-in… · 12fca96e
      rs6000-builtin.def (BU_FLOAT128_1_HW): New macros to support float128 built-in functions that require the ISA 3.0 hardware.
      
      [gcc]
      2017-09-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_1_HW): New macros
      	to support float128 built-in functions that require the ISA 3.0
      	hardware.
      	(BU_FLOAT128_3_HW): Likewise.
      	(SQRTF128): Add support for the IEEE 128-bit square root and fma
      	built-in functions.
      	(FMAF128): Likewise.
      	(FMAQ): Likewise.
      	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
      	support for built-in functions that need the ISA 3.0 IEEE 128-bit
      	floating point instructions.
      	(rs6000_invalid_builtin): Likewise.
      	(rs6000_builtin_mask_names): Likewise.
      	* config/rs6000/rs6000.h (MASK_FLOAT128_HW): Likewise.
      	(RS6000_BTM_FLOAT128_HW): Likewise.
      	(RS6000_BTM_COMMON): Likewise.
      	* config/rs6000/rs6000.md (fma<mode>4_hw): Add a generator
      	function.
      	* doc/extend.texi (RS/6000 built-in functions): Document the
      	IEEE 128-bit floating point square root and fused multiply-add
      	built-in functions.
      
      [gcc/testsuite]
      2017-09-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/abs128-1.c: Use __builtin_fabsf128 instead of
      	__builtin_fabsq.
      	* gcc.target/powerpc/float128-5.c: Use __builtin_fabsf128 instead
      	of __builtin_fabsq.  Prevent the test from running on 32-bit.
      	* gcc.target/powerpc/float128-fma1.c: New test.
      	* gcc.target/powerpc/float128-fma2.c: Likewise.
      	* gcc.target/powerpc/float128-sqrt1.c: Likewise.
      	* gcc.target/powerpc/float128-sqrt2.c: Likewise.
      
      From-SVN: r252771
      Michael Meissner committed