summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-15 16:15:46 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-15 16:15:46 +0000
commit40e2decbffa1438a199a34a75cf1518d753a02fc (patch)
treeab528462949004d5d5871813f8f16e42bae6dd2b
parente6ebe51eba85c24cc5337a7f40e57eeba91cd65e (diff)
downloadgcc-40e2decbffa1438a199a34a75cf1518d753a02fc.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@252826 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/c-family/ChangeLog19
-rw-r--r--gcc/c-family/c-common.h4
-rw-r--r--gcc/c-family/c-opts.c30
-rw-r--r--gcc/c-family/c.opt24
-rw-r--r--gcc/cp/ChangeLog39
-rw-r--r--gcc/cp/Make-lang.in9
-rw-r--r--gcc/cp/call.c6
-rw-r--r--gcc/cp/class.c8
-rw-r--r--gcc/cp/constexpr.c2
-rw-r--r--gcc/cp/cp-tree.h2
-rw-r--r--gcc/cp/decl.c37
-rw-r--r--gcc/cp/lambda.c2
-rw-r--r--gcc/cp/mangle.c8
-rw-r--r--gcc/cp/parser.c80
-rw-r--r--gcc/cp/pt.c16
-rw-r--r--gcc/cp/typeck.c4
-rw-r--r--gcc/cp/typeck2.c4
-rw-r--r--gcc/doc/cpp.texi4
-rw-r--r--gcc/doc/invoke.texi42
-rw-r--r--gcc/dwarf2out.c5
-rw-r--r--gcc/testsuite/ChangeLog415
-rw-r--r--gcc/testsuite/c-c++-common/Wvarargs-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/Wvarargs.c4
-rw-r--r--gcc/testsuite/c-c++-common/gomp/atomic-12.c2
-rw-r--r--gcc/testsuite/c-c++-common/gomp/atomic-13.c2
-rw-r--r--gcc/testsuite/c-c++-common/gomp/atomic-14.c2
-rw-r--r--gcc/testsuite/c-c++-common/vector-subscript-2.c2
-rw-r--r--gcc/testsuite/g++.dg/concepts/alias1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/alias2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/alias3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/alias4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/auto1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/auto3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class-deduction1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/class6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/constrained-parm.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/decl-diagnose.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/deduction-constraint1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/diagnostic1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/disjunction1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/dr1430.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/equiv.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/equiv2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-inst1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-inst2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-inst3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-inst4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-spec1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-spec2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-spec3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-spec4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-spec5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/explicit-spec6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/expression.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/expression2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/expression3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/feature-macro.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn-concept1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn-concept2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn10.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn7.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn8.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn9.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/friend1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/friend2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/generic-fn-err.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/generic-fn.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/iconv1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/inherit-ctor1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/inherit-ctor2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/inherit-ctor3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/inherit-ctor4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/intro1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/intro2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/intro3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/intro4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/intro5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/intro6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/intro7.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/member-concept.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/memfun-err.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/memfun.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/memfun2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/memtmpl1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-concept-id1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-concept-id2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-spec.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-spec2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-spec3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-spec4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-spec5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/partial-spec6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/placeholder1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/placeholder2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/placeholder3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/placeholder4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/placeholder5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/placeholder6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr65552.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr65575.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr65634.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr65636.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr65681.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr65848.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr65854.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr66091.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr67249.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr68434.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/pr68683.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/regress/alias-decl-42.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req-neg1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req10.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req11.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req12.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req13.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req14.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req15.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req16.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req17.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req18.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req19.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req20.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req7.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req8.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/req9.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm10.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm11.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm12.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm7.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm8.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-parm9.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/template-template-parm1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/traits1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/traits2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-concept1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-concept2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-concept3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-concept4.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-concept5.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-concept6.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-templ1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-templ2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/var-templ3.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/variadic1.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/variadic2.C2
-rw-r--r--gcc/testsuite/g++.dg/concepts/variadic4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp/pr23827_cxx98_neg.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/auto9.C10
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted23.C16
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/error5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept02.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept08.C28
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept19.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/static_assert8.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic-throw.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic73.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/abbrev1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/abbrev2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aggr-base1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aggr-base2.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aggr-base2a.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aggr-base3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aggr-base4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aggr-base5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aggr-base6.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aligned-new1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aligned-new2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aligned-new3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/aligned-new7.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/bool-increment1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/byte1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction10.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction11.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction13.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction14.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction15.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction16.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction17.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction18.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction19.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction20.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction21.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction22.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction23.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction24.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction25.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction26.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction27.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction28.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction29.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction30.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction31.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction32.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction33.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction34.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction35.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction36.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction38.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction39.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction40.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction41.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction42.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction43.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction6.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction7.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction8.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction9.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-if12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda10.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda11.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda13.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda6.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda7.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda8.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda9.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/cplusplus.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp10.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp11.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp15.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp16.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp17.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp20.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp21.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp27.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp3.C42
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp30.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp4.C18
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp9.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/direct-enum-init1.C66
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/elide1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/eval-order2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/eval-order3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fallthrough1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold-ice1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold-mangle.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold6.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold7.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold7a.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold8.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold9.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement6.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement7.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement8.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement9.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/inline-var1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/inline-var1a.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/inline-var2.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/lambda-this3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/namespace-attribs.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nested-namespace-def1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nodiscard3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type6.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type7.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type8.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type9.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto10.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto5.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto6.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto7.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto8.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype-auto9.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/nontype3a.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/pr78771.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/pr79143.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/range-for1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/register1.C10
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/register2.C10
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/regress1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/regress2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/static_assert-nomsg.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/udlit-utf8char.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/utf8-2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/utf8-2a.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/utf8-neg.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/utf8.C2
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/inline-var-1.C2
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/inline-var-2.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/async-unwind2.C8
-rw-r--r--gcc/testsuite/g++.dg/eh/cond4.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/delete1.C4
-rw-r--r--gcc/testsuite/g++.dg/eh/ehopt1.C4
-rw-r--r--gcc/testsuite/g++.dg/eh/forced4.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/init-temp2.C6
-rw-r--r--gcc/testsuite/g++.dg/eh/pr38662.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/pr41819.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/shadow1.C12
-rw-r--r--gcc/testsuite/g++.dg/eh/spec2.C20
-rw-r--r--gcc/testsuite/g++.dg/eh/spec3.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/spec7.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/spec8.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/spec9.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/template1.C2
-rw-r--r--gcc/testsuite/g++.dg/expr/bitfield4.C8
-rw-r--r--gcc/testsuite/g++.dg/expr/bitfield5.C8
-rw-r--r--gcc/testsuite/g++.dg/expr/bitfield6.C4
-rw-r--r--gcc/testsuite/g++.dg/expr/bool1.C8
-rw-r--r--gcc/testsuite/g++.dg/expr/bool3.C8
-rw-r--r--gcc/testsuite/g++.dg/expr/lval3.C2
-rw-r--r--gcc/testsuite/g++.dg/expr/lval4.C4
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_assign.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C4
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C2
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov-7.C2
-rw-r--r--gcc/testsuite/g++.dg/init/new13.C4
-rw-r--r--gcc/testsuite/g++.dg/init/new25.C8
-rw-r--r--gcc/testsuite/g++.dg/lookup/exception1.C8
-rw-r--r--gcc/testsuite/g++.dg/opt/noreturn-1.C8
-rw-r--r--gcc/testsuite/g++.dg/other/error3.C4
-rw-r--r--gcc/testsuite/g++.dg/parse/error15.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/linkage2.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/register1.C2
-rw-r--r--gcc/testsuite/g++.dg/rtti/crash3.C2
-rw-r--r--gcc/testsuite/g++.dg/template/nontype8.C2
-rw-r--r--gcc/testsuite/g++.dg/template/partial5.C2
-rw-r--r--gcc/testsuite/g++.dg/tls/diag-2.C2
-rw-r--r--gcc/testsuite/g++.dg/tls/diag-4.C2
-rw-r--r--gcc/testsuite/g++.dg/tm/pr46567.C4
-rw-r--r--gcc/testsuite/g++.dg/tm/pr47340.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/pr46364.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/pr49394.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/pr52918-1.C4
-rw-r--r--gcc/testsuite/g++.dg/torture/pr57190.C8
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-global-1.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-inline-1.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C2
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr45605.C2
-rw-r--r--gcc/testsuite/g++.dg/ubsan/pr79589.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wreturn-type-3.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/register-parm-1.C4
-rw-r--r--gcc/testsuite/g++.dg/warn/register-var-2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/cleanup2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/throw1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/throw2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool5.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh25.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh55.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10416.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash28.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash30.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/new7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/regstack.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb123.C2
-rw-r--r--gcc/testsuite/lib/g++-dg.exp4
-rw-r--r--gcc/testsuite/lib/target-supports.exp10
-rw-r--r--libcpp/ChangeLog8
-rw-r--r--libcpp/expr.c2
-rw-r--r--libcpp/include/cpplib.h2
-rw-r--r--libcpp/init.c8
-rw-r--r--libstdc++-v3/ChangeLog117
-rw-r--r--libstdc++-v3/testsuite/18_support/byte/global_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/byte/ops.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/byte/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/launder/1.cc4
-rw-r--r--libstdc++-v3/testsuite/18_support/launder/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/launder/requirements_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/is_aggregate/requirements/typedefs.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/is_aggregate/value.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/arithmetic/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/78939.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/deduction_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/variant/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/void_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/79162.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/79162.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/cons/deduction_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/members/emplace_cxx17_return.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/members/emplace_cxx17_return.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/emplace_cxx17_return.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/container_access.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/range_access_cpp17.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sample/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sample/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sample/81221.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search/searcher.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/gcd/1.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/lcm/1.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/types/4.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock_guard/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/scoped_lock/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/scoped_lock/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/deduction.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/construct/string_view.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc4
521 files changed, 1439 insertions, 826 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8c9988fccfb..71191121ce3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,15 @@
2017-09-15 Jakub Jelinek <jakub@redhat.com>
+ * 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.
+
+2017-09-15 Jakub Jelinek <jakub@redhat.com>
+
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
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 6391ced934d..4fffa315644 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,22 @@
+2017-09-15 Jakub Jelinek <jakub@redhat.com>
+
+ * 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.
+
2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
* c-attribs.c (common_handle_aligned_attribute): Don't warn
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 0de549d2412..d57829bc89a 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -702,8 +702,8 @@ enum cxx_dialect {
cxx11 = cxx0x,
/* C++14 */
cxx14,
- /* C++1z (C++17?) */
- cxx1z
+ /* C++17 */
+ cxx17
};
/* The C++ dialect being used. C++98 is the default. */
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index 9e7f0a361ca..cdbcd6cf874 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -110,7 +110,7 @@ static void handle_OPT_d (const char *);
static void set_std_cxx98 (int);
static void set_std_cxx11 (int);
static void set_std_cxx14 (int);
-static void set_std_cxx1z (int);
+static void set_std_cxx17 (int);
static void set_std_c89 (int, int);
static void set_std_c99 (int);
static void set_std_c11 (int);
@@ -631,10 +631,10 @@ c_common_handle_option (size_t scode, const char *arg, int value,
set_std_cxx14 (code == OPT_std_c__14 /* ISO */);
break;
- case OPT_std_c__1z:
- case OPT_std_gnu__1z:
+ case OPT_std_c__17:
+ case OPT_std_gnu__17:
if (!preprocessing_asm_p)
- set_std_cxx1z (code == OPT_std_c__1z /* ISO */);
+ set_std_cxx17 (code == OPT_std_c__17 /* ISO */);
break;
case OPT_std_c90:
@@ -886,7 +886,7 @@ c_common_post_options (const char **pfilename)
/* -Wregister is enabled by default in C++17. */
if (!global_options_set.x_warn_register)
- warn_register = cxx_dialect >= cxx1z;
+ warn_register = cxx_dialect >= cxx17;
/* Declone C++ 'structors if -Os. */
if (flag_declone_ctor_dtor == -1)
@@ -923,9 +923,9 @@ c_common_post_options (const char **pfilename)
if (!global_options_set.x_flag_new_inheriting_ctors)
flag_new_inheriting_ctors = abi_version_at_least (11);
- /* For GCC 7, only enable DR150 resolution by default if -std=c++1z. */
+ /* For GCC 7, only enable DR150 resolution by default if -std=c++17. */
if (!global_options_set.x_flag_new_ttp)
- flag_new_ttp = (cxx_dialect >= cxx1z);
+ flag_new_ttp = (cxx_dialect >= cxx17);
if (cxx_dialect >= cxx11)
{
@@ -938,7 +938,7 @@ c_common_post_options (const char **pfilename)
warn_narrowing = 1;
/* Unless -f{,no-}ext-numeric-literals has been used explicitly,
- for -std=c++{11,14,1z} default to -fno-ext-numeric-literals. */
+ for -std=c++{11,14,17} default to -fno-ext-numeric-literals. */
if (flag_iso && !global_options_set.x_flag_ext_numeric_literals)
cpp_opts->ext_numeric_literals = 0;
}
@@ -949,7 +949,7 @@ c_common_post_options (const char **pfilename)
for earlier C++ as well, so chaining works as expected. */
if (c_dialect_cxx ()
&& flag_strong_eval_order == -1)
- flag_strong_eval_order = (cxx_dialect >= cxx1z ? 2 : 1);
+ flag_strong_eval_order = (cxx_dialect >= cxx17 ? 2 : 1);
/* Global sized deallocation is new in C++14. */
if (flag_sized_deallocation == -1)
@@ -1581,7 +1581,7 @@ set_std_cxx11 (int iso)
lang_hooks.name = "GNU C++11";
}
-/* Set the C++ 2014 draft standard (without GNU extensions if ISO). */
+/* Set the C++ 2014 standard (without GNU extensions if ISO). */
static void
set_std_cxx14 (int iso)
{
@@ -1596,11 +1596,11 @@ set_std_cxx14 (int iso)
lang_hooks.name = "GNU C++14";
}
-/* Set the C++ 201z draft standard (without GNU extensions if ISO). */
+/* Set the C++ 2017 standard (without GNU extensions if ISO). */
static void
-set_std_cxx1z (int iso)
+set_std_cxx17 (int iso)
{
- cpp_set_lang (parse_in, iso ? CLK_CXX1Z: CLK_GNUCXX1Z);
+ cpp_set_lang (parse_in, iso ? CLK_CXX17: CLK_GNUCXX17);
flag_no_gnu_keywords = iso;
flag_no_nonansi_builtin = iso;
flag_iso = iso;
@@ -1608,8 +1608,8 @@ set_std_cxx1z (int iso)
flag_isoc94 = 1;
flag_isoc99 = 1;
flag_isoc11 = 1;
- cxx_dialect = cxx1z;
- lang_hooks.name = "GNU C++14"; /* Pretend C++14 till standarization. */
+ cxx_dialect = cxx17;
+ lang_hooks.name = "GNU C++17";
}
/* Args to -d specify what to dump. Silently ignore
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 3435fe90cca..ed5938f0ea4 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -378,11 +378,11 @@ C++ ObjC++ Var(warn_cxx14_compat) Warning LangEnabledBy(C++ ObjC++,Wall)
Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014.
Wc++1z-compat
-C++ ObjC++ Var(warn_cxx1z_compat) Warning LangEnabledBy(C++ ObjC++,Wall)
-Warn about C++ constructs whose meaning differs between ISO C++ 2014 and (forthcoming) ISO C++ 201z(7?).
+C++ ObjC++ Warning Alias(Wc++17-compat) Undocumented
Wc++17-compat
-C++ ObjC++ Warning Alias(Wc++1z-compat) Undocumented
+C++ ObjC++ Var(warn_cxx17_compat) Warning LangEnabledBy(C++ ObjC++,Wall)
+Warn about C++ constructs whose meaning differs between ISO C++ 2014 and ISO C++ 2017.
Wcast-qual
C ObjC C++ ObjC++ Var(warn_cast_qual) Warning
@@ -809,8 +809,8 @@ C++ ObjC++ Var(warn_noexcept) Warning
Warn when a noexcept expression evaluates to false even though the expression can't actually throw.
Wnoexcept-type
-C++ ObjC++ Warning Var(warn_noexcept_type) LangEnabledBy(C++ ObjC++,Wabi || Wc++1z-compat)
-Warn if C++1z noexcept function type will change the mangled name of a symbol.
+C++ ObjC++ Warning Var(warn_noexcept_type) LangEnabledBy(C++ ObjC++,Wabi || Wc++17-compat)
+Warn if C++17 noexcept function type will change the mangled name of a symbol.
Wnon-template-friend
C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning
@@ -1925,11 +1925,12 @@ C++ ObjC++
Conform to the ISO 2014 C++ standard.
std=c++1z
-C++ ObjC++
-Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support).
+C++ ObjC++ Alias(std=c++17) Undocumented
+Deprecated in favor of -std=c++17.
std=c++17
-C++ ObjC++ Alias(std=c++1z) Undocumented
+C++ ObjC++
+Conform to the ISO 2017 C++ standard.
std=c11
C ObjC
@@ -1982,11 +1983,12 @@ C++ ObjC++
Conform to the ISO 2014 C++ standard with GNU extensions.
std=gnu++1z
-C++ ObjC++
-Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support).
+C++ ObjC++ Alias(std=gnu++17) Undocumented
+Deprecated in favor of -std=gnu++17.
std=gnu++17
-C++ ObjC++ Alias(std=gnu++1z) Undocumented
+C++ ObjC++
+Conform to the ISO 2017 C++ standard with GNU extensions.
std=gnu11
C ObjC
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1bda58141ce..0a3b80f4518 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,42 @@
+2017-09-15 Jakub Jelinek <jakub@redhat.com>
+
+ * 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.
+
2017-09-14 Jakub Jelinek <jakub@redhat.com>
PR c++/81314
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index f860645bfe5..24e9d7ced5b 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -169,13 +169,14 @@ c++.srcman: doc/g++.1
# entry point. We feed the former to the latter here.
check-c++ : check-g++
-# Run the testsuite in C++1z mode.
-check-c++1z:
- $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS)" GXX_TESTSUITE_STDS=1z check-g++
+# Run the testsuite in C++17 mode.
+check-c++1z: check-c++17
+check-c++17:
+ $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS)" GXX_TESTSUITE_STDS=17 check-g++
# Run the testsuite in all standard conformance levels.
check-c++-all:
- $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) --stds=98,11,14,1z,concepts" check-g++
+ $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) --stds=98,11,14,17,concepts" check-g++
# Run the testsuite with garbage collection at every opportunity.
check-g++-strict-gc:
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 88af0d31446..4fa0d035c80 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -3743,7 +3743,7 @@ build_user_type_conversion_1 (tree totype, tree expr, int flags,
/* FIXME P0135 doesn't say what to do in C++17 about list-initialization from
a single element. For now, let's handle constructors as before and also
consider conversion operators from the element. */
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& BRACE_ENCLOSED_INITIALIZER_P (expr)
&& CONSTRUCTOR_NELTS (expr) == 1)
fromtype = TREE_TYPE (CONSTRUCTOR_ELT (expr, 0)->value);
@@ -8035,7 +8035,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
/* In C++17 we shouldn't be copying a TARGET_EXPR except into a base
subobject. */
- if (CHECKING_P && cxx_dialect >= cxx1z)
+ if (CHECKING_P && cxx_dialect >= cxx17)
gcc_assert (TREE_CODE (arg) != TARGET_EXPR
/* It's from binding the ref parm to a packed field. */
|| convs[0]->need_temporary_p
@@ -8792,7 +8792,7 @@ build_special_member_call (tree instance, tree name, vec<tree, va_gc> **args,
of the destination, the initializer expression is used to initialize the
destination object." Handle that here to avoid doing overload
resolution. */
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& args && vec_safe_length (*args) == 1
&& name == complete_ctor_identifier)
{
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index cd63c21567a..97e29c0604e 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -4317,7 +4317,7 @@ build_base_field (record_layout_info rli, tree binfo,
back end issues with overlapping FIELD_DECLs, but that doesn't seem to
be a problem anymore. We need them to handle initialization of C++17
aggregate bases. */
- if (cxx_dialect >= cxx1z && !BINFO_VIRTUAL_P (binfo))
+ if (cxx_dialect >= cxx17 && !BINFO_VIRTUAL_P (binfo))
{
tree decl = build_base_field_1 (t, basetype, next_field);
DECL_FIELD_OFFSET (decl) = BINFO_OFFSET (binfo);
@@ -5351,7 +5351,7 @@ finalize_literal_type_property (tree t)
|| TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t))
CLASSTYPE_LITERAL_P (t) = false;
else if (CLASSTYPE_LITERAL_P (t) && LAMBDA_TYPE_P (t))
- CLASSTYPE_LITERAL_P (t) = (cxx_dialect >= cxx1z);
+ CLASSTYPE_LITERAL_P (t) = (cxx_dialect >= cxx17);
else if (CLASSTYPE_LITERAL_P (t) && !TYPE_HAS_TRIVIAL_DFLT (t)
&& CLASSTYPE_NON_AGGREGATE (t)
&& !TYPE_HAS_CONSTEXPR_CTOR (t))
@@ -5394,9 +5394,9 @@ explain_non_literal_class (tree t)
return;
inform (0, "%q+T is not literal because:", t);
- if (cxx_dialect < cxx1z && LAMBDA_TYPE_P (t))
+ if (cxx_dialect < cxx17 && LAMBDA_TYPE_P (t))
inform (0, " %qT is a closure type, which is only literal in "
- "C++1z and later", t);
+ "C++17 and later", t);
else if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t))
inform (0, " %q+T has a non-trivial destructor", t);
else if (CLASSTYPE_NON_AGGREGATE (t)
diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c
index 2d2f3b854ba..a89ee499394 100644
--- a/gcc/cp/constexpr.c
+++ b/gcc/cp/constexpr.c
@@ -3304,7 +3304,7 @@ var_in_constexpr_fn (tree t)
bool
var_in_maybe_constexpr_fn (tree t)
{
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& DECL_FUNCTION_SCOPE_P (t)
&& LAMBDA_FUNCTION_P (DECL_CONTEXT (t)))
return true;
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f4d6f802cbe..e5085989e7d 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3884,7 +3884,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
declared with constexpr specifier are implicitly inline variables. */
#define DECL_INLINE_VAR_P(NODE) \
(DECL_VAR_DECLARED_INLINE_P (NODE) \
- || (cxx_dialect >= cxx1z \
+ || (cxx_dialect >= cxx17 \
&& DECL_DECLARED_CONSTEXPR_P (NODE) \
&& DECL_CLASS_SCOPE_P (NODE)))
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 6101bdf2bc8..858747eecfc 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2909,7 +2909,7 @@ redeclaration_error_message (tree newdecl, tree olddecl)
if the variable is defined within the class with constexpr
specifier is declaration rather than definition (and
deprecated). */
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& DECL_CLASS_SCOPE_P (olddecl)
&& DECL_DECLARED_CONSTEXPR_P (olddecl)
&& !DECL_INITIAL (newdecl))
@@ -4050,7 +4050,7 @@ cxx_init_decl_processing (void)
std_node = current_namespace;
pop_namespace ();
- flag_noexcept_type = (cxx_dialect >= cxx1z);
+ flag_noexcept_type = (cxx_dialect >= cxx17);
c_common_nodes_and_builtins ();
@@ -4150,7 +4150,7 @@ cxx_init_decl_processing (void)
aligned_new_threshold = 1;
}
if (aligned_new_threshold == -1)
- aligned_new_threshold = (cxx_dialect >= cxx1z) ? 1 : 0;
+ aligned_new_threshold = (cxx_dialect >= cxx17) ? 1 : 0;
if (aligned_new_threshold == 1)
aligned_new_threshold = malloc_alignment () / BITS_PER_UNIT;
@@ -5573,7 +5573,7 @@ next_initializable_field (tree field)
&& (TREE_CODE (field) != FIELD_DECL
|| (DECL_C_BIT_FIELD (field) && !DECL_NAME (field))
|| (DECL_ARTIFICIAL (field)
- && !(cxx_dialect >= cxx1z && DECL_FIELD_IS_BASE (field)))))
+ && !(cxx_dialect >= cxx17 && DECL_FIELD_IS_BASE (field)))))
field = DECL_CHAIN (field);
return field;
@@ -5585,7 +5585,7 @@ next_initializable_field (tree field)
bool
is_direct_enum_init (tree type, tree init)
{
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& TREE_CODE (type) == ENUMERAL_TYPE
&& ENUM_FIXED_UNDERLYING_TYPE_P (type)
&& TREE_CODE (init) == CONSTRUCTOR
@@ -6351,7 +6351,7 @@ check_initializer (tree decl, tree init, int flags, vec<tree, va_gc> **cleanups)
if (cxx_dialect < cxx11)
error ("initializer invalid for static member with constructor");
- else if (cxx_dialect < cxx1z)
+ else if (cxx_dialect < cxx17)
error ("non-constant in-class initialization invalid for static "
"member %qD", decl);
else
@@ -6727,9 +6727,9 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
or local register variable extension. */
if (VAR_P (decl) && DECL_REGISTER (decl) && asmspec_tree == NULL_TREE)
{
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
pedwarn (DECL_SOURCE_LOCATION (decl), OPT_Wregister,
- "ISO C++1z does not allow %<register%> storage "
+ "ISO C++17 does not allow %<register%> storage "
"class specifier");
else
warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wregister,
@@ -9787,10 +9787,10 @@ mark_inline_variable (tree decl)
"%qD declared at block scope", decl);
inlinep = false;
}
- else if (cxx_dialect < cxx1z)
+ else if (cxx_dialect < cxx17)
pedwarn (DECL_SOURCE_LOCATION (decl), 0,
"inline variables are only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
if (inlinep)
{
retrofit_lang_decl (decl);
@@ -10522,7 +10522,7 @@ grokdeclarator (const cp_declarator *declarator,
/* We might have ignored or rejected some of the qualifiers. */
type_quals = cp_type_quals (type);
- if (cxx_dialect >= cxx1z && type && is_auto (type)
+ if (cxx_dialect >= cxx17 && type && is_auto (type)
&& innermost_code != cdk_function
&& id_declarator && declarator != id_declarator)
if (tree tmpl = CLASS_PLACEHOLDER_TEMPLATE (type))
@@ -11730,7 +11730,7 @@ grokdeclarator (const cp_declarator *declarator,
error ("cannot use %<::%> in parameter declaration");
if (type_uses_auto (type)
- && !(cxx_dialect >= cxx1z && template_parm_flag))
+ && !(cxx_dialect >= cxx17 && template_parm_flag))
{
if (cxx_dialect >= cxx14)
error ("%<auto%> parameter not permitted in this context");
@@ -12063,7 +12063,7 @@ grokdeclarator (const cp_declarator *declarator,
mark_inline_variable (decl);
if (!DECL_VAR_DECLARED_INLINE_P (decl)
- && !(cxx_dialect >= cxx1z && constexpr_p))
+ && !(cxx_dialect >= cxx17 && constexpr_p))
/* Even if there is an in-class initialization, DECL
is considered undefined until an out-of-class
definition is provided, unless this is an inline
@@ -12332,9 +12332,9 @@ grokdeclarator (const cp_declarator *declarator,
/* Warn about register storage specifiers on PARM_DECLs. */
if (TREE_CODE (decl) == PARM_DECL)
{
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
pedwarn (DECL_SOURCE_LOCATION (decl), OPT_Wregister,
- "ISO C++1z does not allow %<register%> storage "
+ "ISO C++17 does not allow %<register%> storage "
"class specifier");
else
warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wregister,
@@ -12601,8 +12601,7 @@ grokparms (tree parmlist, tree *parms)
}
else if (abstract_virtuals_error (decl, type))
any_error = 1; /* Seems like a good idea. */
- else if (cxx_dialect < cxx1z
- && POINTER_TYPE_P (type))
+ else if (cxx_dialect < cxx17 && POINTER_TYPE_P (type))
{
/* Before C++17 DR 393:
[dcl.fct]/6, parameter types cannot contain pointers
@@ -13803,7 +13802,7 @@ xref_basetypes (tree ref, tree base_list)
/* Before C++17, an aggregate cannot have base classes. In C++17, an
aggregate can't have virtual, private, or protected base classes. */
- if (cxx_dialect < cxx1z
+ if (cxx_dialect < cxx17
|| access != access_public_node
|| via_virtual)
CLASSTYPE_NON_AGGREGATE (ref) = true;
@@ -15574,7 +15573,7 @@ finish_function (int flags)
check_function_concept (fndecl);
/* Lambda closure members are implicitly constexpr if possible. */
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& LAMBDA_TYPE_P (CP_DECL_CONTEXT (fndecl)))
DECL_DECLARED_CONSTEXPR_P (fndecl)
= ((processing_template_decl
diff --git a/gcc/cp/lambda.c b/gcc/cp/lambda.c
index 9ba3df10363..e4412569a61 100644
--- a/gcc/cp/lambda.c
+++ b/gcc/cp/lambda.c
@@ -155,7 +155,7 @@ begin_lambda_type (tree lambda)
/* In C++17, assume the closure is literal; we'll clear the flag later if
necessary. */
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
CLASSTYPE_LITERAL_P (type) = true;
/* Clear base types. */
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 15f442133e6..33cd00e3314 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -116,7 +116,7 @@ struct GTY(()) globals {
bool need_abi_warning;
/* True if the mangling will be different in C++17 mode. */
- bool need_cxx1z_warning;
+ bool need_cxx17_warning;
};
static GTY (()) globals G;
@@ -362,7 +362,7 @@ write_exception_spec (tree spec)
if (!flag_noexcept_type)
{
- G.need_cxx1z_warning = true;
+ G.need_cxx17_warning = true;
return;
}
@@ -3666,7 +3666,7 @@ start_mangling (const tree entity)
{
G.entity = entity;
G.need_abi_warning = false;
- G.need_cxx1z_warning = false;
+ G.need_cxx17_warning = false;
obstack_free (&name_obstack, name_base);
mangle_obstack = &name_obstack;
name_base = obstack_alloc (&name_obstack, 0);
@@ -3853,7 +3853,7 @@ mangle_decl (const tree decl)
}
SET_DECL_ASSEMBLER_NAME (decl, id);
- if (G.need_cxx1z_warning
+ if (G.need_cxx17_warning
&& (TREE_PUBLIC (decl) || DECL_REALLY_EXTERN (decl)))
warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wnoexcept_type,
"mangled name for %qD will change in C++17 because the "
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 4bfae3655d5..c9cb3cbe55b 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -3163,9 +3163,9 @@ cp_parser_diagnose_invalid_type_name (cp_parser *parser, tree id,
error_at (location,
"invalid use of template-name %qE without an argument list",
decl);
- if (DECL_CLASS_TEMPLATE_P (decl) && cxx_dialect < cxx1z)
+ if (DECL_CLASS_TEMPLATE_P (decl) && cxx_dialect < cxx17)
inform (location, "class template argument deduction is only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
inform (DECL_SOURCE_LOCATION (decl), "%qD declared here", decl);
}
else if (TREE_CODE (id) == BIT_NOT_EXPR)
@@ -5034,10 +5034,10 @@ cp_parser_primary_expression (cp_parser *parser,
{
expr = cp_parser_fold_expression (parser, expr);
if (expr != error_mark_node
- && cxx_dialect < cxx1z
+ && cxx_dialect < cxx17
&& !in_system_header_at (input_location))
pedwarn (input_location, 0, "fold-expressions only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
}
else
/* Let the front end know that this expression was
@@ -10200,9 +10200,9 @@ cp_parser_lambda_introducer (cp_parser* parser, tree lambda_expr)
&& cp_lexer_nth_token_is_keyword (parser->lexer, 2, RID_THIS))
{
location_t loc = cp_lexer_peek_token (parser->lexer)->location;
- if (cxx_dialect < cxx1z)
+ if (cxx_dialect < cxx17)
pedwarn (loc, 0, "%<*this%> capture only available with "
- "-std=c++1z or -std=gnu++1z");
+ "-std=c++17 or -std=gnu++17");
cp_lexer_consume_token (parser->lexer);
cp_lexer_consume_token (parser->lexer);
add_capture (lambda_expr,
@@ -10474,12 +10474,12 @@ cp_parser_lambda_declarator_opt (cp_parser* parser, tree lambda_expr)
if (lambda_specs.locations[ds_constexpr])
{
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
return_type_specs.locations[ds_constexpr]
= lambda_specs.locations[ds_constexpr];
else
error_at (lambda_specs.locations[ds_constexpr], "%<constexpr%> "
- "lambda only available with -std=c++1z or -std=gnu++1z");
+ "lambda only available with -std=c++17 or -std=gnu++17");
}
p = obstack_alloc (&declarator_obstack, 0);
@@ -11284,9 +11284,9 @@ cp_parser_selection_statement (cp_parser* parser, bool *if_p,
{
cx = true;
cp_token *tok = cp_lexer_consume_token (parser->lexer);
- if (cxx_dialect < cxx1z && !in_system_header_at (tok->location))
+ if (cxx_dialect < cxx17 && !in_system_header_at (tok->location))
pedwarn (tok->location, 0, "%<if constexpr%> only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
}
/* Look for the `('. */
@@ -11310,10 +11310,10 @@ cp_parser_selection_statement (cp_parser* parser, bool *if_p,
if (cp_parser_init_statement_p (parser))
{
tree decl;
- if (cxx_dialect < cxx1z)
+ if (cxx_dialect < cxx17)
pedwarn (cp_lexer_peek_token (parser->lexer)->location, 0,
"init-statement in selection statements only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
cp_parser_init_statement (parser, &decl);
}
@@ -11884,7 +11884,7 @@ cp_convert_range_for (tree statement, tree range_decl, tree range_expr,
/*is_constant_init*/false, NULL_TREE,
LOOKUP_ONLYCONVERTING);
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
iter_type = cv_unqualified (TREE_TYPE (end_expr));
end = build_decl (input_location, VAR_DECL,
get_identifier ("__for_end"), iter_type);
@@ -12024,7 +12024,7 @@ cp_parser_perform_range_for_lookup (tree range, tree *begin, tree *end)
be the same, as required by the multiple auto declaration. */
if (!same_type_p (iter_type, cv_unqualified (TREE_TYPE (*end))))
{
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& (build_x_binary_op (input_location, NE_EXPR,
*begin, ERROR_MARK,
*end, ERROR_MARK,
@@ -13178,9 +13178,9 @@ cp_parser_decomposition_declaration (cp_parser *parser,
}
}
- if (cxx_dialect < cxx1z)
+ if (cxx_dialect < cxx17)
pedwarn (loc, 0, "structured bindings only available with "
- "-std=c++1z or -std=gnu++1z");
+ "-std=c++17 or -std=gnu++17");
tree pushed_scope;
cp_declarator *declarator = make_declarator (cdk_decomp);
@@ -13771,7 +13771,7 @@ cp_parser_linkage_specification (cp_parser* parser)
static_assert-declaration:
static_assert ( constant-expression , string-literal ) ;
- static_assert ( constant-expression ) ; (C++1Z)
+ static_assert ( constant-expression ) ; (C++17)
If MEMBER_P, this static_assert is a class member. */
@@ -13812,10 +13812,10 @@ cp_parser_static_assert(cp_parser *parser, bool member_p)
if (cp_lexer_peek_token (parser->lexer)->type == CPP_CLOSE_PAREN)
{
- if (cxx_dialect < cxx1z)
+ if (cxx_dialect < cxx17)
pedwarn (input_location, OPT_Wpedantic,
"static_assert without a message "
- "only available with -std=c++1z or -std=gnu++1z");
+ "only available with -std=c++17 or -std=gnu++17");
/* Eat the ')' */
cp_lexer_consume_token (parser->lexer);
message = build_string (1, "");
@@ -17040,7 +17040,7 @@ cp_parser_simple_type_specifier (cp_parser* parser,
/* Don't gobble tokens or issue error messages if this is an
optional type-specifier. */
- if ((flags & CP_PARSER_FLAGS_OPTIONAL) || cxx_dialect >= cxx1z)
+ if ((flags & CP_PARSER_FLAGS_OPTIONAL) || cxx_dialect >= cxx17)
cp_parser_parse_tentatively (parser);
token = cp_lexer_peek_token (parser->lexer);
@@ -17088,10 +17088,10 @@ cp_parser_simple_type_specifier (cp_parser* parser,
&& identifier_p (DECL_NAME (type)))
maybe_note_name_used_in_class (DECL_NAME (type), type);
/* If it didn't work out, we don't have a TYPE. */
- if (((flags & CP_PARSER_FLAGS_OPTIONAL) || cxx_dialect >= cxx1z)
+ if (((flags & CP_PARSER_FLAGS_OPTIONAL) || cxx_dialect >= cxx17)
&& !cp_parser_parse_definitely (parser))
type = NULL_TREE;
- if (!type && cxx_dialect >= cxx1z)
+ if (!type && cxx_dialect >= cxx17)
{
if (flags & CP_PARSER_FLAGS_OPTIONAL)
cp_parser_parse_tentatively (parser);
@@ -18425,10 +18425,10 @@ cp_parser_namespace_definition (cp_parser* parser)
if (cp_lexer_next_token_is_not (parser->lexer, CPP_SCOPE))
break;
- if (!nested_definition_count && cxx_dialect < cxx1z)
+ if (!nested_definition_count && cxx_dialect < cxx17)
pedwarn (input_location, OPT_Wpedantic,
"nested namespace definitions only available with "
- "-std=c++1z or -std=gnu++1z");
+ "-std=c++17 or -std=gnu++17");
/* Nested namespace names can create new namespaces (unlike
other qualified-ids). */
@@ -18657,11 +18657,11 @@ cp_parser_using_declaration (cp_parser* parser,
else if (cp_lexer_next_token_is (parser->lexer, CPP_ELLIPSIS))
{
cp_token *ell = cp_lexer_consume_token (parser->lexer);
- if (cxx_dialect < cxx1z
+ if (cxx_dialect < cxx17
&& !in_system_header_at (ell->location))
pedwarn (ell->location, 0,
"pack expansion in using-declaration only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
qscope = make_pack_expansion (qscope);
}
@@ -18720,10 +18720,10 @@ cp_parser_using_declaration (cp_parser* parser,
&& cp_lexer_next_token_is (parser->lexer, CPP_COMMA))
{
cp_token *comma = cp_lexer_consume_token (parser->lexer);
- if (cxx_dialect < cxx1z)
+ if (cxx_dialect < cxx17)
pedwarn (comma->location, 0,
"comma-separated list in using-declaration only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
goto again;
}
@@ -19317,7 +19317,7 @@ cp_parser_init_declarator (cp_parser* parser,
/* Handle C++17 deduction guides. */
if (!decl_specifiers->type
&& ctor_dtor_or_conv_p <= 0
- && cxx_dialect >= cxx1z)
+ && cxx_dialect >= cxx17)
{
cp_declarator *id = get_id_declarator (declarator);
tree name = id->u.id.unqualified_name;
@@ -23085,12 +23085,12 @@ cp_parser_type_parameter_key (cp_parser* parser)
if ((tag_type = cp_parser_token_is_type_parameter_key (token)) != none_type)
{
cp_lexer_consume_token (parser->lexer);
- if (pedantic && tag_type == typename_type && cxx_dialect < cxx1z)
+ if (pedantic && tag_type == typename_type && cxx_dialect < cxx17)
/* typename is not allowed in a template template parameter
- by the standard until C++1Z. */
+ by the standard until C++17. */
pedwarn (token->location, OPT_Wpedantic,
"ISO C++ forbids typename key in template template parameter;"
- " use -std=c++1z or -std=gnu++1z");
+ " use -std=c++17 or -std=gnu++17");
}
else
cp_parser_error (parser, "expected %<class%> or %<typename%>");
@@ -24122,9 +24122,9 @@ cp_parser_exception_specification_opt (cp_parser* parser)
/* Restore the saved message. */
parser->type_definition_forbidden_message = saved_message;
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
{
- error_at (loc, "ISO C++1z does not allow dynamic exception "
+ error_at (loc, "ISO C++17 does not allow dynamic exception "
"specifications");
type_id_list = NULL_TREE;
}
@@ -24136,7 +24136,7 @@ cp_parser_exception_specification_opt (cp_parser* parser)
/* In C++17, throw() is equivalent to noexcept (true). throw()
is deprecated in C++11 and above as well, but is still widely used,
so don't warn about it yet. */
- else if (cxx_dialect >= cxx1z)
+ else if (cxx_dialect >= cxx17)
type_id_list = noexcept_true_spec;
else
type_id_list = empty_except_spec;
@@ -25133,11 +25133,11 @@ cp_parser_std_attribute_spec (cp_parser *parser)
if (attr_ns
&& cp_lexer_nth_token_is (parser->lexer, 3, CPP_COLON))
{
- if (cxx_dialect < cxx1z
+ if (cxx_dialect < cxx17
&& !in_system_header_at (input_location))
pedwarn (input_location, 0,
"attribute using prefix only available "
- "with -std=c++1z or -std=gnu++1z");
+ "with -std=c++17 or -std=gnu++17");
cp_lexer_consume_token (parser->lexer);
cp_lexer_consume_token (parser->lexer);
@@ -26197,7 +26197,7 @@ cp_parser_constructor_declarator_p (cp_parser *parser, bool friend_p)
nested-name-specifier. Except in C++17 mode, where we
might be declaring a guiding declaration. */
if (!nested_name_specifier && outside_class_specifier_p
- && cxx_dialect < cxx1z)
+ && cxx_dialect < cxx17)
constructor_p = false;
else if (nested_name_specifier == error_mark_node)
constructor_p = false;
@@ -26228,7 +26228,7 @@ cp_parser_constructor_declarator_p (cp_parser *parser, bool friend_p)
};
we must recognize that the nested `S' names a class. */
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
cp_parser_parse_tentatively (parser);
tree type_decl;
@@ -26240,7 +26240,7 @@ cp_parser_constructor_declarator_p (cp_parser *parser, bool friend_p)
/*class_head_p=*/false,
/*is_declaration=*/false);
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& !cp_parser_parse_definitely (parser))
{
type_decl = NULL_TREE;
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index ec7bbc890c6..f12ab2605d8 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -4551,7 +4551,7 @@ mark_template_parm (tree t, void* data)
}
/* In C++17 the type of a non-type argument is a deduced context. */
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
&& TREE_CODE (t) == TEMPLATE_PARM_INDEX)
for_each_template_parm (TREE_TYPE (t),
&mark_template_parm,
@@ -6475,7 +6475,7 @@ convert_nontype_argument (tree type, tree expr, tsubst_flags_t complain)
to leave it in that form rather than lower it to a
CONSTRUCTOR. */;
else if (INTEGRAL_OR_ENUMERATION_TYPE_P (type)
- || cxx_dialect >= cxx1z)
+ || cxx_dialect >= cxx17)
{
/* C++17: A template-argument for a non-type template-parameter shall
be a converted constant expression (8.20) of the type of the
@@ -6663,7 +6663,7 @@ convert_nontype_argument (tree type, tree expr, tsubst_flags_t complain)
orig_expr, type, decl);
return NULL_TREE;
}
- else if ((cxx_dialect >= cxx11 && cxx_dialect < cxx1z)
+ else if ((cxx_dialect >= cxx11 && cxx_dialect < cxx17)
&& decl_linkage (decl) == lk_none)
{
if (complain & tf_error)
@@ -10817,7 +10817,7 @@ instantiate_class_template_1 (tree type)
tree decl = lambda_function (type);
if (decl)
{
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
CLASSTYPE_LITERAL_P (type) = true;
if (!DECL_TEMPLATE_INFO (decl)
@@ -19543,7 +19543,7 @@ type_unification_real (tree tparms,
tsubst_flags_t complain = (explain_p
? tf_warning_or_error
: tf_none);
- bool tried_array_deduction = (cxx_dialect < cxx1z);
+ bool tried_array_deduction = (cxx_dialect < cxx17);
for (i = 0; i < ntparms; i++)
{
@@ -20918,7 +20918,7 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict,
else if (uses_template_parms (tparm))
{
/* We haven't deduced the type of this parameter yet. */
- if (cxx_dialect >= cxx1z
+ if (cxx_dialect >= cxx17
/* We deduce from array bounds in try_array_deduction. */
&& !(strict & UNIFY_ALLOW_INTEGER))
{
@@ -21890,7 +21890,7 @@ get_partial_spec_bindings (tree tmpl, tree spec_tmpl, tree args)
else
deduced_args = innermost_deduced_args;
- bool tried_array_deduction = (cxx_dialect < cxx1z);
+ bool tried_array_deduction = (cxx_dialect < cxx17);
again:
if (unify (tparms, deduced_args,
INNERMOST_TEMPLATE_ARGS (spec_args),
@@ -23707,7 +23707,7 @@ dependent_type_p_r (tree type)
arg_type = TREE_CHAIN (arg_type))
if (dependent_type_p (TREE_VALUE (arg_type)))
return true;
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
{
/* A value-dependent noexcept-specifier makes the type dependent. */
tree spec = TYPE_RAISES_EXCEPTIONS (type);
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 0a09998aa21..aa5d1288a5a 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -6177,11 +6177,11 @@ cp_build_unary_op (enum tree_code code, tree xarg, bool noconvert,
}
else
{
- if (cxx_dialect >= cxx1z)
+ if (cxx_dialect >= cxx17)
{
if (complain & tf_error)
error ("use of an operand of type %qT in "
- "%<operator++%> is forbidden in C++1z",
+ "%<operator++%> is forbidden in C++17",
boolean_type_node);
return error_mark_node;
}
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index e9aca395911..82e18ecb178 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -1364,7 +1364,7 @@ process_init_constructor_record (tree type, tree init,
gcc_assert (TREE_CODE (type) == RECORD_TYPE);
gcc_assert (!CLASSTYPE_VBASECLASSES (type));
gcc_assert (!TYPE_BINFO (type)
- || cxx_dialect >= cxx1z
+ || cxx_dialect >= cxx17
|| !BINFO_N_BASE_BINFOS (TYPE_BINFO (type)));
gcc_assert (!TYPE_POLYMORPHIC_P (type));
@@ -1384,7 +1384,7 @@ process_init_constructor_record (tree type, tree init,
if (TREE_CODE (field) != FIELD_DECL
|| (DECL_ARTIFICIAL (field)
- && !(cxx_dialect >= cxx1z && DECL_FIELD_IS_BASE (field))))
+ && !(cxx_dialect >= cxx17 && DECL_FIELD_IS_BASE (field))))
continue;
/* If this is a bitfield, first convert to the declared type. */
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index 6e16ffb0e65..8e9cba378c3 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -1877,9 +1877,7 @@ selected, the value of the macro is
@code{199711L} for the 1998 C++ standard,
@code{201103L} for the 2011 C++ standard,
@code{201402L} for the 2014 C++ standard,
-or an unspecified value strictly larger than @code{201402L} for the
-experimental languages enabled by @option{-std=c++1z} and
-@option{-std=gnu++1z}.
+@code{201703L} for the 2017 C++ standard.
@item __OBJC__
This macro is defined, with value 1, when the Objective-C compiler is in
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e4cacf26bdb..a727d952fd2 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1870,15 +1870,15 @@ GNU dialect of @option{-std=c++14}.
This is the default for C++ code.
The name @samp{gnu++1y} is deprecated.
-@item c++1z
-The next revision of the ISO C++ standard, tentatively planned for
-2017. Support is highly experimental, and will almost certainly
-change in incompatible ways in future releases.
-
-@item gnu++1z
-GNU dialect of @option{-std=c++1z}. Support is highly experimental,
-and will almost certainly change in incompatible ways in future
-releases.
+@item c++17
+@itemx c++1z
+The 2017 ISO C++ standard plus amendments.
+The name @samp{c++1z} is deprecated.
+
+@item gnu++17
+@itemx gnu++1z
+GNU dialect of @option{-std=c++17}.
+The name @samp{gnu++1z} is deprecated.
@end table
@item -fgnu89-inline
@@ -2304,7 +2304,7 @@ specify how much alignment (in bytes) is provided by that function,
but few users will need to override the default of
@code{alignof(std::max_align_t)}.
-This flag is enabled by default for @option{-std=c++1z}.
+This flag is enabled by default for @option{-std=c++17}.
@item -fcheck-new
@opindex fcheck-new
@@ -2479,7 +2479,7 @@ Enable the P0522 resolution to Core issue 150, template template
parameters and default arguments: this allows a template with default
template arguments as an argument for a template template parameter
with fewer template parameters. This flag is enabled by default for
-@option{-std=c++1z}.
+@option{-std=c++17}.
@item -fno-nonansi-builtins
@opindex fno-nonansi-builtins
@@ -2573,10 +2573,10 @@ cast to convert an arbitrary integer value to the enumerated type.
@opindex fstrong-eval-order
Evaluate member access, array subscripting, and shift expressions in
left-to-right order, and evaluate assignment in right-to-left order,
-as adopted for C++17. Enabled by default with @option{-std=c++1z}.
+as adopted for C++17. Enabled by default with @option{-std=c++17}.
@option{-fstrong-eval-order=some} enables just the ordering of member
access and shift expressions, and is the default without
-@option{-std=c++1z}.
+@option{-std=c++17}.
@item -ftemplate-backtrace-limit=@var{n}
@opindex ftemplate-backtrace-limit
@@ -2913,14 +2913,14 @@ the compiler to never throw an exception.
@item -Wnoexcept-type @r{(C++ and Objective-C++ only)}
@opindex Wnoexcept-type
@opindex Wno-noexcept-type
-Warn if the C++1z feature making @code{noexcept} part of a function
+Warn if the C++17 feature making @code{noexcept} part of a function
type changes the mangled name of a symbol relative to C++14. Enabled
-by @option{-Wabi} and @option{-Wc++1z-compat}.
+by @option{-Wabi} and @option{-Wc++17-compat}.
@smallexample
template <class T> void f(T t) @{ t(); @};
void g() noexcept;
-void h() @{ f(g); @} // in C++14 calls f<void(*)()>, in C++1z calls f<void(*)()noexcept>
+void h() @{ f(g); @} // in C++14 calls f<void(*)()>, in C++17 calls f<void(*)()noexcept>
@end smallexample
@item -Wclass-memaccess @r{(C++ and Objective-C++ only)}
@@ -2957,7 +2957,7 @@ Warn on uses of the @code{register} storage class specifier, except
when it is part of the GNU @ref{Explicit Register Variables} extension.
The use of the @code{register} keyword as storage class specifier has
been deprecated in C++11 and removed in C++17.
-Enabled by default with @option{-std=c++1z}.
+Enabled by default with @option{-std=c++17}.
@item -Wreorder @r{(C++ and Objective-C++ only)}
@opindex Wreorder
@@ -5391,7 +5391,7 @@ Warn about suspicious operations on expressions of a boolean type. For
instance, bitwise negation of a boolean is very likely a bug in the program.
For C, this warning also warns about incrementing or decrementing a boolean,
which rarely makes sense. (In C++, decrementing a boolean is always invalid.
-Incrementing a boolean is invalid in C++1z, and deprecated otherwise.)
+Incrementing a boolean is invalid in C++17, and deprecated otherwise.)
This warning is enabled by @option{-Wall}.
@@ -5898,10 +5898,10 @@ enabled by @option{-Wall}.
Warn about C++ constructs whose meaning differs between ISO C++ 2011
and ISO C++ 2014. This warning is enabled by @option{-Wall}.
-@item -Wc++1z-compat @r{(C++ and Objective-C++ only)}
-@opindex Wc++1z-compat
+@item -Wc++17-compat @r{(C++ and Objective-C++ only)}
+@opindex Wc++17-compat
Warn about C++ constructs whose meaning differs between ISO C++ 2014
-and the forthoming ISO C++ 2017(?). This warning is enabled by @option{-Wall}.
+and ISO C++ 2017. This warning is enabled by @option{-Wall}.
@item -Wcast-qual
@opindex Wcast-qual
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 6a4cd602795..1a4f1a2b12b 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -23395,6 +23395,8 @@ gen_producer_string (void)
static const char *
highest_c_language (const char *lang1, const char *lang2)
{
+ if (strcmp ("GNU C++17", lang1) == 0 || strcmp ("GNU C++17", lang2) == 0)
+ return "GNU C++17";
if (strcmp ("GNU C++14", lang1) == 0 || strcmp ("GNU C++14", lang2) == 0)
return "GNU C++14";
if (strcmp ("GNU C++11", lang1) == 0 || strcmp ("GNU C++11", lang2) == 0)
@@ -23491,6 +23493,9 @@ gen_compile_unit_die (const char *filename)
language = DW_LANG_C_plus_plus_11;
else if (strcmp (language_string, "GNU C++14") == 0)
language = DW_LANG_C_plus_plus_14;
+ else if (strcmp (language_string, "GNU C++17") == 0)
+ /* For now. */
+ language = DW_LANG_C_plus_plus_14;
}
}
else if (strcmp (language_string, "GNU F77") == 0)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index eadffc16861..e53e7be5d64 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,420 @@
2017-09-15 Jakub Jelinek <jakub@redhat.com>
+ * 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.
+
PR rtl-optimization/82192
* gcc.c-torture/execute/pr82192.c: New test.
diff --git a/gcc/testsuite/c-c++-common/Wvarargs-2.c b/gcc/testsuite/c-c++-common/Wvarargs-2.c
index 1eacde1cbf2..a6b51f19e60 100644
--- a/gcc/testsuite/c-c++-common/Wvarargs-2.c
+++ b/gcc/testsuite/c-c++-common/Wvarargs-2.c
@@ -23,7 +23,7 @@ foo0 (int a, int b, ...)
}
void
-foo1 (int a, register int b, ...) // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+foo1 (int a, register int b, ...) // { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
{
va_list vp;
/* 'b' is declared with register storage, but don't warn
diff --git a/gcc/testsuite/c-c++-common/Wvarargs.c b/gcc/testsuite/c-c++-common/Wvarargs.c
index 20d8ec77c03..71d8c5dff93 100644
--- a/gcc/testsuite/c-c++-common/Wvarargs.c
+++ b/gcc/testsuite/c-c++-common/Wvarargs.c
@@ -23,7 +23,7 @@ foo0 (int a, int b, ...)
}
void
-foo1 (int a, register int b, ...) // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+foo1 (int a, register int b, ...) // { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
{
va_list vp;
/* 'b' is declared with register storage, but don't warn
@@ -45,7 +45,7 @@ foo2 (int a, int b, ...)
}
void
-foo3 (int a, register int b, ...) // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+foo3 (int a, register int b, ...) // { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
{
va_list vp;
/* 'b' is declared with register storage, so warn. */
diff --git a/gcc/testsuite/c-c++-common/gomp/atomic-12.c b/gcc/testsuite/c-c++-common/gomp/atomic-12.c
index 07790d9c451..a750a7f71a4 100644
--- a/gcc/testsuite/c-c++-common/gomp/atomic-12.c
+++ b/gcc/testsuite/c-c++-common/gomp/atomic-12.c
@@ -4,7 +4,7 @@
/* atomicvar should never be referenced in between the barrier and
following #pragma omp atomic_load. */
/* { dg-final { scan-tree-dump-not "barrier\[^#\]*atomicvar" "gimple" } } */
-/* { dg-skip-if "invalid in C++1z" { c++1z } } */
+/* { dg-skip-if "invalid in C++17" { c++17 } } */
#ifdef __cplusplus
bool atomicvar, c;
diff --git a/gcc/testsuite/c-c++-common/gomp/atomic-13.c b/gcc/testsuite/c-c++-common/gomp/atomic-13.c
index 83c6560761a..5fd9c101660 100644
--- a/gcc/testsuite/c-c++-common/gomp/atomic-13.c
+++ b/gcc/testsuite/c-c++-common/gomp/atomic-13.c
@@ -4,6 +4,6 @@
/* atomicvar should never be referenced in between the barrier and
following #pragma omp atomic_load. */
/* { dg-final { scan-tree-dump-not "barrier\[^#\]*atomicvar" "gimple" } } */
-/* { dg-skip-if "invalid in C++1z" { c++1z } } */
+/* { dg-skip-if "invalid in C++17" { c++17 } } */
#include "atomic-12.c"
diff --git a/gcc/testsuite/c-c++-common/gomp/atomic-14.c b/gcc/testsuite/c-c++-common/gomp/atomic-14.c
index f2dd9fcf89d..06b76692ec7 100644
--- a/gcc/testsuite/c-c++-common/gomp/atomic-14.c
+++ b/gcc/testsuite/c-c++-common/gomp/atomic-14.c
@@ -1,7 +1,7 @@
/* PR middle-end/45423 */
/* { dg-do compile } */
/* { dg-options "-fopenmp -Wno-deprecated" } */
-/* { dg-skip-if "invalid in C++1z" { c++1z } } */
+/* { dg-skip-if "invalid in C++17" { c++17 } } */
#ifdef __cplusplus
bool *baz ();
diff --git a/gcc/testsuite/c-c++-common/vector-subscript-2.c b/gcc/testsuite/c-c++-common/vector-subscript-2.c
index bfe01fc2740..b81195fdedf 100644
--- a/gcc/testsuite/c-c++-common/vector-subscript-2.c
+++ b/gcc/testsuite/c-c++-common/vector-subscript-2.c
@@ -7,6 +7,6 @@
float vf(int i)
{
- register vector float a; // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+ register vector float a; // { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
return a[0];
}
diff --git a/gcc/testsuite/g++.dg/concepts/alias1.C b/gcc/testsuite/g++.dg/concepts/alias1.C
index fdd54bd2af1..1b643cdd1c9 100644
--- a/gcc/testsuite/g++.dg/concepts/alias1.C
+++ b/gcc/testsuite/g++.dg/concepts/alias1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/alias2.C b/gcc/testsuite/g++.dg/concepts/alias2.C
index 7879d441961..2de2aa4da94 100644
--- a/gcc/testsuite/g++.dg/concepts/alias2.C
+++ b/gcc/testsuite/g++.dg/concepts/alias2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/alias3.C b/gcc/testsuite/g++.dg/concepts/alias3.C
index a8f0f67e04f..6e1c39ce174 100644
--- a/gcc/testsuite/g++.dg/concepts/alias3.C
+++ b/gcc/testsuite/g++.dg/concepts/alias3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/alias4.C b/gcc/testsuite/g++.dg/concepts/alias4.C
index 8ffa0a10e3f..e7d93d5875f 100644
--- a/gcc/testsuite/g++.dg/concepts/alias4.C
+++ b/gcc/testsuite/g++.dg/concepts/alias4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/auto1.C b/gcc/testsuite/g++.dg/concepts/auto1.C
index be9237d69fa..0c6fa465fa6 100644
--- a/gcc/testsuite/g++.dg/concepts/auto1.C
+++ b/gcc/testsuite/g++.dg/concepts/auto1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T1, class T2> class A { };
diff --git a/gcc/testsuite/g++.dg/concepts/auto3.C b/gcc/testsuite/g++.dg/concepts/auto3.C
index e1a4d7342aa..7b80fe314b8 100644
--- a/gcc/testsuite/g++.dg/concepts/auto3.C
+++ b/gcc/testsuite/g++.dg/concepts/auto3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class...> class tuple {};
diff --git a/gcc/testsuite/g++.dg/concepts/class-deduction1.C b/gcc/testsuite/g++.dg/concepts/class-deduction1.C
index ad48cf838ff..476830d9252 100644
--- a/gcc/testsuite/g++.dg/concepts/class-deduction1.C
+++ b/gcc/testsuite/g++.dg/concepts/class-deduction1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
concept bool Isint = __is_same_as(T,int);
diff --git a/gcc/testsuite/g++.dg/concepts/class.C b/gcc/testsuite/g++.dg/concepts/class.C
index 061105756cb..1c5242f8089 100644
--- a/gcc/testsuite/g++.dg/concepts/class.C
+++ b/gcc/testsuite/g++.dg/concepts/class.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Class() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/class1.C b/gcc/testsuite/g++.dg/concepts/class1.C
index a2c4f5d1aed..94a5d23a873 100644
--- a/gcc/testsuite/g++.dg/concepts/class1.C
+++ b/gcc/testsuite/g++.dg/concepts/class1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/class2.C b/gcc/testsuite/g++.dg/concepts/class2.C
index 4b8706d8001..63891282085 100644
--- a/gcc/testsuite/g++.dg/concepts/class2.C
+++ b/gcc/testsuite/g++.dg/concepts/class2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/class3.C b/gcc/testsuite/g++.dg/concepts/class3.C
index c25c801f1f6..b2757567d4f 100644
--- a/gcc/testsuite/g++.dg/concepts/class3.C
+++ b/gcc/testsuite/g++.dg/concepts/class3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/class4.C b/gcc/testsuite/g++.dg/concepts/class4.C
index af6db2509db..86eecbc4572 100644
--- a/gcc/testsuite/g++.dg/concepts/class4.C
+++ b/gcc/testsuite/g++.dg/concepts/class4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Class() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/class5.C b/gcc/testsuite/g++.dg/concepts/class5.C
index 218ec9f5a9f..76398609709 100644
--- a/gcc/testsuite/g++.dg/concepts/class5.C
+++ b/gcc/testsuite/g++.dg/concepts/class5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool One() { return sizeof(T) >= 4; }
diff --git a/gcc/testsuite/g++.dg/concepts/class6.C b/gcc/testsuite/g++.dg/concepts/class6.C
index 4a3a3d70a85..29dcb8ff97e 100644
--- a/gcc/testsuite/g++.dg/concepts/class6.C
+++ b/gcc/testsuite/g++.dg/concepts/class6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool One() { return sizeof(T) >= 4; }
diff --git a/gcc/testsuite/g++.dg/concepts/constrained-parm.C b/gcc/testsuite/g++.dg/concepts/constrained-parm.C
index 2650caeb9c4..feaf3bb6429 100644
--- a/gcc/testsuite/g++.dg/concepts/constrained-parm.C
+++ b/gcc/testsuite/g++.dg/concepts/constrained-parm.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/decl-diagnose.C b/gcc/testsuite/g++.dg/concepts/decl-diagnose.C
index 65785b25fe9..fcbfc8f6595 100644
--- a/gcc/testsuite/g++.dg/concepts/decl-diagnose.C
+++ b/gcc/testsuite/g++.dg/concepts/decl-diagnose.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
typedef concept int CINT; // { dg-error "'concept' cannot appear in a typedef declaration" }
diff --git a/gcc/testsuite/g++.dg/concepts/deduction-constraint1.C b/gcc/testsuite/g++.dg/concepts/deduction-constraint1.C
index dfb0c6e9436..5eec87b3c0b 100644
--- a/gcc/testsuite/g++.dg/concepts/deduction-constraint1.C
+++ b/gcc/testsuite/g++.dg/concepts/deduction-constraint1.C
@@ -1,5 +1,5 @@
// PR c++/67007
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class U>
concept bool A =
diff --git a/gcc/testsuite/g++.dg/concepts/diagnostic1.C b/gcc/testsuite/g++.dg/concepts/diagnostic1.C
index 0552c4b0623..c977eaa8fcd 100644
--- a/gcc/testsuite/g++.dg/concepts/diagnostic1.C
+++ b/gcc/testsuite/g++.dg/concepts/diagnostic1.C
@@ -1,5 +1,5 @@
// PR c++/67159
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class U>
concept bool SameAs = __is_same_as(T, U);
diff --git a/gcc/testsuite/g++.dg/concepts/disjunction1.C b/gcc/testsuite/g++.dg/concepts/disjunction1.C
index 24472cc296d..9bd50974f57 100644
--- a/gcc/testsuite/g++.dg/concepts/disjunction1.C
+++ b/gcc/testsuite/g++.dg/concepts/disjunction1.C
@@ -1,5 +1,5 @@
// PR c++/66962
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <typename> struct remove_cv;
template <typename> struct is_reference;
diff --git a/gcc/testsuite/g++.dg/concepts/dr1430.C b/gcc/testsuite/g++.dg/concepts/dr1430.C
index 178467a1691..9fd4f4301fc 100644
--- a/gcc/testsuite/g++.dg/concepts/dr1430.C
+++ b/gcc/testsuite/g++.dg/concepts/dr1430.C
@@ -1,5 +1,5 @@
// PR c++/66092
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <type_traits>
diff --git a/gcc/testsuite/g++.dg/concepts/equiv.C b/gcc/testsuite/g++.dg/concepts/equiv.C
index 11e232fe2d5..d666d9a7567 100644
--- a/gcc/testsuite/g++.dg/concepts/equiv.C
+++ b/gcc/testsuite/g++.dg/concepts/equiv.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Check equivalence of short- and longhand declarations.
diff --git a/gcc/testsuite/g++.dg/concepts/equiv2.C b/gcc/testsuite/g++.dg/concepts/equiv2.C
index 24d419b2ed3..694d87a2c56 100644
--- a/gcc/testsuite/g++.dg/concepts/equiv2.C
+++ b/gcc/testsuite/g++.dg/concepts/equiv2.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// template<typename T>
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-inst1.C b/gcc/testsuite/g++.dg/concepts/explicit-inst1.C
index 89eeb156b57..58d8dec0db6 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-inst1.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-inst1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-inst2.C b/gcc/testsuite/g++.dg/concepts/explicit-inst2.C
index 0319756bfc5..f47b7585e62 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-inst2.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-inst2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-inst3.C b/gcc/testsuite/g++.dg/concepts/explicit-inst3.C
index 177fc6c1368..00dee2fb2b9 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-inst3.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-inst3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-inst4.C b/gcc/testsuite/g++.dg/concepts/explicit-inst4.C
index cf0d8988bd3..c0f585c957a 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-inst4.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-inst4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-spec1.C b/gcc/testsuite/g++.dg/concepts/explicit-spec1.C
index c6f559cd1af..38730680e14 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-spec1.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-spec1.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-spec2.C b/gcc/testsuite/g++.dg/concepts/explicit-spec2.C
index 8fa7e8aef16..17d48e7c220 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-spec2.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-spec2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-spec3.C b/gcc/testsuite/g++.dg/concepts/explicit-spec3.C
index 6294cef5845..1edc83e95a8 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-spec3.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-spec3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-spec4.C b/gcc/testsuite/g++.dg/concepts/explicit-spec4.C
index 16698cbb366..963c030d464 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-spec4.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-spec4.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-spec5.C b/gcc/testsuite/g++.dg/concepts/explicit-spec5.C
index e889c2192bf..e0d89bce2d6 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-spec5.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-spec5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/explicit-spec6.C b/gcc/testsuite/g++.dg/concepts/explicit-spec6.C
index 0bf7640df27..0af1df46d60 100644
--- a/gcc/testsuite/g++.dg/concepts/explicit-spec6.C
+++ b/gcc/testsuite/g++.dg/concepts/explicit-spec6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
struct A {
diff --git a/gcc/testsuite/g++.dg/concepts/expression.C b/gcc/testsuite/g++.dg/concepts/expression.C
index de68ef89ee6..6430f89e309 100644
--- a/gcc/testsuite/g++.dg/concepts/expression.C
+++ b/gcc/testsuite/g++.dg/concepts/expression.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/concepts/expression2.C b/gcc/testsuite/g++.dg/concepts/expression2.C
index 32b79c8f32b..3583452d47e 100644
--- a/gcc/testsuite/g++.dg/concepts/expression2.C
+++ b/gcc/testsuite/g++.dg/concepts/expression2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1()
diff --git a/gcc/testsuite/g++.dg/concepts/expression3.C b/gcc/testsuite/g++.dg/concepts/expression3.C
index 77b414e5cfc..4148aa6511e 100644
--- a/gcc/testsuite/g++.dg/concepts/expression3.C
+++ b/gcc/testsuite/g++.dg/concepts/expression3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C()
diff --git a/gcc/testsuite/g++.dg/concepts/feature-macro.C b/gcc/testsuite/g++.dg/concepts/feature-macro.C
index d8ea3698147..ad2bfb080a0 100644
--- a/gcc/testsuite/g++.dg/concepts/feature-macro.C
+++ b/gcc/testsuite/g++.dg/concepts/feature-macro.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#ifndef __cpp_concepts
#error __cpp_concepts not defined
diff --git a/gcc/testsuite/g++.dg/concepts/fn-concept1.C b/gcc/testsuite/g++.dg/concepts/fn-concept1.C
index 4a8437f010b..b858c1ac93f 100644
--- a/gcc/testsuite/g++.dg/concepts/fn-concept1.C
+++ b/gcc/testsuite/g++.dg/concepts/fn-concept1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Tuple() { // { dg-error "multiple statements" }
diff --git a/gcc/testsuite/g++.dg/concepts/fn-concept2.C b/gcc/testsuite/g++.dg/concepts/fn-concept2.C
index 86ba936d842..9acc24177ce 100644
--- a/gcc/testsuite/g++.dg/concepts/fn-concept2.C
+++ b/gcc/testsuite/g++.dg/concepts/fn-concept2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept auto C1() { return 0; } // { dg-error "deduced return type" }
diff --git a/gcc/testsuite/g++.dg/concepts/fn1.C b/gcc/testsuite/g++.dg/concepts/fn1.C
index c4f9f555e0a..800a0d36f0b 100644
--- a/gcc/testsuite/g++.dg/concepts/fn1.C
+++ b/gcc/testsuite/g++.dg/concepts/fn1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/fn10.C b/gcc/testsuite/g++.dg/concepts/fn10.C
index 859c1d5eb21..71bd82c5f60 100644
--- a/gcc/testsuite/g++.dg/concepts/fn10.C
+++ b/gcc/testsuite/g++.dg/concepts/fn10.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Test that constraint satisfaction checks work even when
// processing template declarations.
diff --git a/gcc/testsuite/g++.dg/concepts/fn2.C b/gcc/testsuite/g++.dg/concepts/fn2.C
index 51a3fb5fd8e..67e35acc362 100644
--- a/gcc/testsuite/g++.dg/concepts/fn2.C
+++ b/gcc/testsuite/g++.dg/concepts/fn2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/fn3.C b/gcc/testsuite/g++.dg/concepts/fn3.C
index ef704f7e135..6695f2f98a6 100644
--- a/gcc/testsuite/g++.dg/concepts/fn3.C
+++ b/gcc/testsuite/g++.dg/concepts/fn3.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/fn4.C b/gcc/testsuite/g++.dg/concepts/fn4.C
index 9fa5790fd5e..ecc3d7b1bee 100644
--- a/gcc/testsuite/g++.dg/concepts/fn4.C
+++ b/gcc/testsuite/g++.dg/concepts/fn4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/fn5.C b/gcc/testsuite/g++.dg/concepts/fn5.C
index dd9a19e9f19..d4a2e003b9c 100644
--- a/gcc/testsuite/g++.dg/concepts/fn5.C
+++ b/gcc/testsuite/g++.dg/concepts/fn5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Check shorthand notation.
diff --git a/gcc/testsuite/g++.dg/concepts/fn6.C b/gcc/testsuite/g++.dg/concepts/fn6.C
index f6f165e0999..12936076449 100644
--- a/gcc/testsuite/g++.dg/concepts/fn6.C
+++ b/gcc/testsuite/g++.dg/concepts/fn6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Redefinition errors.
diff --git a/gcc/testsuite/g++.dg/concepts/fn7.C b/gcc/testsuite/g++.dg/concepts/fn7.C
index dd16a9ae65b..1df21fe9024 100644
--- a/gcc/testsuite/g++.dg/concepts/fn7.C
+++ b/gcc/testsuite/g++.dg/concepts/fn7.C
@@ -1,5 +1,5 @@
// { dg-do link }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// FIXME: What is this actually testing?
diff --git a/gcc/testsuite/g++.dg/concepts/fn8.C b/gcc/testsuite/g++.dg/concepts/fn8.C
index e7481be2f05..5c796c7e3b2 100644
--- a/gcc/testsuite/g++.dg/concepts/fn8.C
+++ b/gcc/testsuite/g++.dg/concepts/fn8.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Class() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/fn9.C b/gcc/testsuite/g++.dg/concepts/fn9.C
index c135bd7010a..1efde5f744a 100644
--- a/gcc/testsuite/g++.dg/concepts/fn9.C
+++ b/gcc/testsuite/g++.dg/concepts/fn9.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/friend1.C b/gcc/testsuite/g++.dg/concepts/friend1.C
index c78940ce813..c437c79d01f 100644
--- a/gcc/testsuite/g++.dg/concepts/friend1.C
+++ b/gcc/testsuite/g++.dg/concepts/friend1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Eq() { return requires(T t) { t == t; }; }
diff --git a/gcc/testsuite/g++.dg/concepts/friend2.C b/gcc/testsuite/g++.dg/concepts/friend2.C
index 6268801a260..5f14905a738 100644
--- a/gcc/testsuite/g++.dg/concepts/friend2.C
+++ b/gcc/testsuite/g++.dg/concepts/friend2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Eq() { return requires(T t) { t == t; }; }
diff --git a/gcc/testsuite/g++.dg/concepts/generic-fn-err.C b/gcc/testsuite/g++.dg/concepts/generic-fn-err.C
index 03a47d5c959..c34f832816e 100644
--- a/gcc/testsuite/g++.dg/concepts/generic-fn-err.C
+++ b/gcc/testsuite/g++.dg/concepts/generic-fn-err.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/generic-fn.C b/gcc/testsuite/g++.dg/concepts/generic-fn.C
index d74ea21b6ef..7a48e7640d0 100644
--- a/gcc/testsuite/g++.dg/concepts/generic-fn.C
+++ b/gcc/testsuite/g++.dg/concepts/generic-fn.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
#include <type_traits>
diff --git a/gcc/testsuite/g++.dg/concepts/iconv1.C b/gcc/testsuite/g++.dg/concepts/iconv1.C
index 28f3566d417..38a0b17b1f8 100644
--- a/gcc/testsuite/g++.dg/concepts/iconv1.C
+++ b/gcc/testsuite/g++.dg/concepts/iconv1.C
@@ -1,5 +1,5 @@
// PR c++/67240
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
int foo(int x)
{
diff --git a/gcc/testsuite/g++.dg/concepts/inherit-ctor1.C b/gcc/testsuite/g++.dg/concepts/inherit-ctor1.C
index 6f5115c6c85..952c8f61ef4 100644
--- a/gcc/testsuite/g++.dg/concepts/inherit-ctor1.C
+++ b/gcc/testsuite/g++.dg/concepts/inherit-ctor1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/inherit-ctor2.C b/gcc/testsuite/g++.dg/concepts/inherit-ctor2.C
index 435745a1fa9..b36b993098a 100644
--- a/gcc/testsuite/g++.dg/concepts/inherit-ctor2.C
+++ b/gcc/testsuite/g++.dg/concepts/inherit-ctor2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/inherit-ctor3.C b/gcc/testsuite/g++.dg/concepts/inherit-ctor3.C
index 07499bb40f9..c7ad84aa6e7 100644
--- a/gcc/testsuite/g++.dg/concepts/inherit-ctor3.C
+++ b/gcc/testsuite/g++.dg/concepts/inherit-ctor3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/inherit-ctor4.C b/gcc/testsuite/g++.dg/concepts/inherit-ctor4.C
index 4c53205466d..26940ba44be 100644
--- a/gcc/testsuite/g++.dg/concepts/inherit-ctor4.C
+++ b/gcc/testsuite/g++.dg/concepts/inherit-ctor4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/intro1.C b/gcc/testsuite/g++.dg/concepts/intro1.C
index 5f036c4b645..ac8a708b107 100644
--- a/gcc/testsuite/g++.dg/concepts/intro1.C
+++ b/gcc/testsuite/g++.dg/concepts/intro1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C = __is_class(T);
diff --git a/gcc/testsuite/g++.dg/concepts/intro2.C b/gcc/testsuite/g++.dg/concepts/intro2.C
index 1db1d7a493f..928cc2e5487 100644
--- a/gcc/testsuite/g++.dg/concepts/intro2.C
+++ b/gcc/testsuite/g++.dg/concepts/intro2.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/intro3.C b/gcc/testsuite/g++.dg/concepts/intro3.C
index 3cb3ecbb8b4..78d091d3a88 100644
--- a/gcc/testsuite/g++.dg/concepts/intro3.C
+++ b/gcc/testsuite/g++.dg/concepts/intro3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename ... T>
concept bool C1 = true;
diff --git a/gcc/testsuite/g++.dg/concepts/intro4.C b/gcc/testsuite/g++.dg/concepts/intro4.C
index 18212916555..2a3e2ba17e4 100644
--- a/gcc/testsuite/g++.dg/concepts/intro4.C
+++ b/gcc/testsuite/g++.dg/concepts/intro4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename ... T>
concept bool C1 = true;
diff --git a/gcc/testsuite/g++.dg/concepts/intro5.C b/gcc/testsuite/g++.dg/concepts/intro5.C
index 31924f930a7..c5fac8000c3 100644
--- a/gcc/testsuite/g++.dg/concepts/intro5.C
+++ b/gcc/testsuite/g++.dg/concepts/intro5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T, typename U = int>
concept bool C()
diff --git a/gcc/testsuite/g++.dg/concepts/intro6.C b/gcc/testsuite/g++.dg/concepts/intro6.C
index f8ed6669f14..6624c8888a9 100644
--- a/gcc/testsuite/g++.dg/concepts/intro6.C
+++ b/gcc/testsuite/g++.dg/concepts/intro6.C
@@ -1,5 +1,5 @@
// PR c++/67003
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
namespace X {
template<class>
diff --git a/gcc/testsuite/g++.dg/concepts/intro7.C b/gcc/testsuite/g++.dg/concepts/intro7.C
index 914c5fd6110..9cb4a76740b 100644
--- a/gcc/testsuite/g++.dg/concepts/intro7.C
+++ b/gcc/testsuite/g++.dg/concepts/intro7.C
@@ -1,5 +1,5 @@
// PR c++/66985
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <template <class> class T>
concept bool _Valid = requires { typename T<int>; };
diff --git a/gcc/testsuite/g++.dg/concepts/member-concept.C b/gcc/testsuite/g++.dg/concepts/member-concept.C
index 2b060464831..4eae9f5b301 100644
--- a/gcc/testsuite/g++.dg/concepts/member-concept.C
+++ b/gcc/testsuite/g++.dg/concepts/member-concept.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
struct Base {
template<typename T>
diff --git a/gcc/testsuite/g++.dg/concepts/memfun-err.C b/gcc/testsuite/g++.dg/concepts/memfun-err.C
index f44610a6aa0..a42554ad31a 100644
--- a/gcc/testsuite/g++.dg/concepts/memfun-err.C
+++ b/gcc/testsuite/g++.dg/concepts/memfun-err.C
@@ -1,5 +1,5 @@
// { dg-do run}
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
diff --git a/gcc/testsuite/g++.dg/concepts/memfun.C b/gcc/testsuite/g++.dg/concepts/memfun.C
index 523410cab98..d387234312a 100644
--- a/gcc/testsuite/g++.dg/concepts/memfun.C
+++ b/gcc/testsuite/g++.dg/concepts/memfun.C
@@ -1,5 +1,5 @@
// { dg-do run}
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/memfun2.C b/gcc/testsuite/g++.dg/concepts/memfun2.C
index c186a183762..a5965fc869c 100644
--- a/gcc/testsuite/g++.dg/concepts/memfun2.C
+++ b/gcc/testsuite/g++.dg/concepts/memfun2.C
@@ -1,5 +1,5 @@
// PR c++/72415
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<int... Indices>
struct indices {};
diff --git a/gcc/testsuite/g++.dg/concepts/memtmpl1.C b/gcc/testsuite/g++.dg/concepts/memtmpl1.C
index 6f3d5a3ebf6..fe0f1d5df69 100644
--- a/gcc/testsuite/g++.dg/concepts/memtmpl1.C
+++ b/gcc/testsuite/g++.dg/concepts/memtmpl1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
struct A {
diff --git a/gcc/testsuite/g++.dg/concepts/partial-concept-id1.C b/gcc/testsuite/g++.dg/concepts/partial-concept-id1.C
index 117400cf1b2..90a8ec72b21 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-concept-id1.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-concept-id1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Type() { return true; }
diff --git a/gcc/testsuite/g++.dg/concepts/partial-concept-id2.C b/gcc/testsuite/g++.dg/concepts/partial-concept-id2.C
index 2e6866ecb9f..4c1373a0eda 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-concept-id2.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-concept-id2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Make sure that we check partial concept ids
// with variable concepts.
diff --git a/gcc/testsuite/g++.dg/concepts/partial-spec.C b/gcc/testsuite/g++.dg/concepts/partial-spec.C
index 5db9a585090..c3836d445cc 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-spec.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-spec.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Check that constraints don't break unconstrained partial
// specializations.
diff --git a/gcc/testsuite/g++.dg/concepts/partial-spec2.C b/gcc/testsuite/g++.dg/concepts/partial-spec2.C
index bc7621bec4d..26d0ff42f55 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-spec2.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-spec2.C
@@ -1,5 +1,5 @@
// PR c++/67084
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
constexpr bool p = false;
diff --git a/gcc/testsuite/g++.dg/concepts/partial-spec3.C b/gcc/testsuite/g++.dg/concepts/partial-spec3.C
index 9387ce00a1b..2ac5b9818e5 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-spec3.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-spec3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T> struct A { };
template <class T> requires false struct A<T*> { };
diff --git a/gcc/testsuite/g++.dg/concepts/partial-spec4.C b/gcc/testsuite/g++.dg/concepts/partial-spec4.C
index 80e41ab8399..5669bd4ec85 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-spec4.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-spec4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T> concept bool is_int = __is_same_as(T,int);
diff --git a/gcc/testsuite/g++.dg/concepts/partial-spec5.C b/gcc/testsuite/g++.dg/concepts/partial-spec5.C
index 32a5eae693c..18ef242c271 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-spec5.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-spec5.C
@@ -1,5 +1,5 @@
// PR c++/67138
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
concept bool _Auto = true;
diff --git a/gcc/testsuite/g++.dg/concepts/partial-spec6.C b/gcc/testsuite/g++.dg/concepts/partial-spec6.C
index 50ef2899103..af4411baae5 100644
--- a/gcc/testsuite/g++.dg/concepts/partial-spec6.C
+++ b/gcc/testsuite/g++.dg/concepts/partial-spec6.C
@@ -1,5 +1,5 @@
// PR c++/67152
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
concept bool HasType = requires { typename T::type; };
diff --git a/gcc/testsuite/g++.dg/concepts/placeholder1.C b/gcc/testsuite/g++.dg/concepts/placeholder1.C
index 757bcef9b1c..bf7f959e227 100644
--- a/gcc/testsuite/g++.dg/concepts/placeholder1.C
+++ b/gcc/testsuite/g++.dg/concepts/placeholder1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T, typename U>
struct is_same
diff --git a/gcc/testsuite/g++.dg/concepts/placeholder2.C b/gcc/testsuite/g++.dg/concepts/placeholder2.C
index cf2013e63a6..c8981b617de 100644
--- a/gcc/testsuite/g++.dg/concepts/placeholder2.C
+++ b/gcc/testsuite/g++.dg/concepts/placeholder2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Check argument deduction constraints.
// TODO: We shoul have more of these...
diff --git a/gcc/testsuite/g++.dg/concepts/placeholder3.C b/gcc/testsuite/g++.dg/concepts/placeholder3.C
index 208fc29a0d3..44dba8b98a2 100644
--- a/gcc/testsuite/g++.dg/concepts/placeholder3.C
+++ b/gcc/testsuite/g++.dg/concepts/placeholder3.C
@@ -1,5 +1,5 @@
// PR c++/66218
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class U>
concept bool Same = __is_same_as(T, U);
diff --git a/gcc/testsuite/g++.dg/concepts/placeholder4.C b/gcc/testsuite/g++.dg/concepts/placeholder4.C
index 2fb47580cdb..b35238c1ce2 100644
--- a/gcc/testsuite/g++.dg/concepts/placeholder4.C
+++ b/gcc/testsuite/g++.dg/concepts/placeholder4.C
@@ -1,5 +1,5 @@
// PR c++/66218
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class U>
concept bool Same = __is_same_as(T, U);
diff --git a/gcc/testsuite/g++.dg/concepts/placeholder5.C b/gcc/testsuite/g++.dg/concepts/placeholder5.C
index e1d3092a77d..c0b67b9e78c 100644
--- a/gcc/testsuite/g++.dg/concepts/placeholder5.C
+++ b/gcc/testsuite/g++.dg/concepts/placeholder5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class U>
concept bool Same = __is_same_as(T, U);
diff --git a/gcc/testsuite/g++.dg/concepts/placeholder6.C b/gcc/testsuite/g++.dg/concepts/placeholder6.C
index ee218fdf904..ab56c637d3e 100644
--- a/gcc/testsuite/g++.dg/concepts/placeholder6.C
+++ b/gcc/testsuite/g++.dg/concepts/placeholder6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <int I> struct B { static const int i = I; };
template <int I> concept bool Few = I < 10;
diff --git a/gcc/testsuite/g++.dg/concepts/pr65552.C b/gcc/testsuite/g++.dg/concepts/pr65552.C
index c1cc0b165b0..57375d74802 100644
--- a/gcc/testsuite/g++.dg/concepts/pr65552.C
+++ b/gcc/testsuite/g++.dg/concepts/pr65552.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Concept() {
diff --git a/gcc/testsuite/g++.dg/concepts/pr65575.C b/gcc/testsuite/g++.dg/concepts/pr65575.C
index 18e805959de..e027dccf7d8 100644
--- a/gcc/testsuite/g++.dg/concepts/pr65575.C
+++ b/gcc/testsuite/g++.dg/concepts/pr65575.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C = false;
diff --git a/gcc/testsuite/g++.dg/concepts/pr65634.C b/gcc/testsuite/g++.dg/concepts/pr65634.C
index df64a3f386a..db36a6be29f 100644
--- a/gcc/testsuite/g++.dg/concepts/pr65634.C
+++ b/gcc/testsuite/g++.dg/concepts/pr65634.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1() {
diff --git a/gcc/testsuite/g++.dg/concepts/pr65636.C b/gcc/testsuite/g++.dg/concepts/pr65636.C
index ddeef820314..01c72a7fac4 100644
--- a/gcc/testsuite/g++.dg/concepts/pr65636.C
+++ b/gcc/testsuite/g++.dg/concepts/pr65636.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
using TD = int;
diff --git a/gcc/testsuite/g++.dg/concepts/pr65681.C b/gcc/testsuite/g++.dg/concepts/pr65681.C
index fcbbab376ac..1df9a5949d8 100644
--- a/gcc/testsuite/g++.dg/concepts/pr65681.C
+++ b/gcc/testsuite/g++.dg/concepts/pr65681.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C()
diff --git a/gcc/testsuite/g++.dg/concepts/pr65848.C b/gcc/testsuite/g++.dg/concepts/pr65848.C
index 4affa2366d2..5af6e7dc622 100644
--- a/gcc/testsuite/g++.dg/concepts/pr65848.C
+++ b/gcc/testsuite/g++.dg/concepts/pr65848.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Performance test... This should be fast.
diff --git a/gcc/testsuite/g++.dg/concepts/pr65854.C b/gcc/testsuite/g++.dg/concepts/pr65854.C
index c615ed7b4da..395fac4f501 100644
--- a/gcc/testsuite/g++.dg/concepts/pr65854.C
+++ b/gcc/testsuite/g++.dg/concepts/pr65854.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Handle alias templates in type requirements.
diff --git a/gcc/testsuite/g++.dg/concepts/pr66091.C b/gcc/testsuite/g++.dg/concepts/pr66091.C
index b53f64c7bd3..e5b3c287c84 100644
--- a/gcc/testsuite/g++.dg/concepts/pr66091.C
+++ b/gcc/testsuite/g++.dg/concepts/pr66091.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1()
diff --git a/gcc/testsuite/g++.dg/concepts/pr67249.C b/gcc/testsuite/g++.dg/concepts/pr67249.C
index 9cfada59b3e..87e9bb58248 100644
--- a/gcc/testsuite/g++.dg/concepts/pr67249.C
+++ b/gcc/testsuite/g++.dg/concepts/pr67249.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<class T> concept bool C1 = true;
template<class A, class B> struct Pair {};
diff --git a/gcc/testsuite/g++.dg/concepts/pr68434.C b/gcc/testsuite/g++.dg/concepts/pr68434.C
index ece5bb7c001..19ce383246a 100644
--- a/gcc/testsuite/g++.dg/concepts/pr68434.C
+++ b/gcc/testsuite/g++.dg/concepts/pr68434.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class>
concept bool C1 () {
diff --git a/gcc/testsuite/g++.dg/concepts/pr68683.C b/gcc/testsuite/g++.dg/concepts/pr68683.C
index eef1b33c96a..31a98f3cf88 100644
--- a/gcc/testsuite/g++.dg/concepts/pr68683.C
+++ b/gcc/testsuite/g++.dg/concepts/pr68683.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <typename, typename>
struct is_same {
diff --git a/gcc/testsuite/g++.dg/concepts/regress/alias-decl-42.C b/gcc/testsuite/g++.dg/concepts/regress/alias-decl-42.C
index 611a89608bc..6d5a4d5fdea 100644
--- a/gcc/testsuite/g++.dg/concepts/regress/alias-decl-42.C
+++ b/gcc/testsuite/g++.dg/concepts/regress/alias-decl-42.C
@@ -1,5 +1,5 @@
// PR c++/59200
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
struct A
{
diff --git a/gcc/testsuite/g++.dg/concepts/req-neg1.C b/gcc/testsuite/g++.dg/concepts/req-neg1.C
index 6c80d81a302..97b45cd15f0 100644
--- a/gcc/testsuite/g++.dg/concepts/req-neg1.C
+++ b/gcc/testsuite/g++.dg/concepts/req-neg1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
void f1(int a) requires true; // OK
auto f2(int a) -> bool requires true; // OK
diff --git a/gcc/testsuite/g++.dg/concepts/req1.C b/gcc/testsuite/g++.dg/concepts/req1.C
index 0636f1dfdb8..688cb19ad43 100644
--- a/gcc/testsuite/g++.dg/concepts/req1.C
+++ b/gcc/testsuite/g++.dg/concepts/req1.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Class () { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/req10.C b/gcc/testsuite/g++.dg/concepts/req10.C
index 0352a08113b..8cbd89f294b 100644
--- a/gcc/testsuite/g++.dg/concepts/req10.C
+++ b/gcc/testsuite/g++.dg/concepts/req10.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Test that standard conversions are checked with
// implicit conversion constraints.
diff --git a/gcc/testsuite/g++.dg/concepts/req11.C b/gcc/testsuite/g++.dg/concepts/req11.C
index 1a259e82990..2d0c5c005d9 100644
--- a/gcc/testsuite/g++.dg/concepts/req11.C
+++ b/gcc/testsuite/g++.dg/concepts/req11.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Check that we can evaluate constant requires-expressions
// as constant expressions, for the curious case when they
diff --git a/gcc/testsuite/g++.dg/concepts/req12.C b/gcc/testsuite/g++.dg/concepts/req12.C
index f28551443c3..38c2c3e1ada 100644
--- a/gcc/testsuite/g++.dg/concepts/req12.C
+++ b/gcc/testsuite/g++.dg/concepts/req12.C
@@ -1,5 +1,5 @@
// PR c++/66218
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <type_traits>
diff --git a/gcc/testsuite/g++.dg/concepts/req13.C b/gcc/testsuite/g++.dg/concepts/req13.C
index 559c1287409..2f58742c532 100644
--- a/gcc/testsuite/g++.dg/concepts/req13.C
+++ b/gcc/testsuite/g++.dg/concepts/req13.C
@@ -1,5 +1,5 @@
// PR c++/66758
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class...Args>
concept bool Constructible =
diff --git a/gcc/testsuite/g++.dg/concepts/req14.C b/gcc/testsuite/g++.dg/concepts/req14.C
index de7efcd2c73..de00a1eb49c 100644
--- a/gcc/testsuite/g++.dg/concepts/req14.C
+++ b/gcc/testsuite/g++.dg/concepts/req14.C
@@ -1,5 +1,5 @@
// PR c++/66758
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class U>
concept bool C = requires (T t, U u) { t + u; };
diff --git a/gcc/testsuite/g++.dg/concepts/req15.C b/gcc/testsuite/g++.dg/concepts/req15.C
index 537669bbcb4..53d796c1a84 100644
--- a/gcc/testsuite/g++.dg/concepts/req15.C
+++ b/gcc/testsuite/g++.dg/concepts/req15.C
@@ -1,5 +1,5 @@
// PR c++/66832
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class U, unsigned N>
requires requires (T& t, U &u) { t.foo(); u.foo(); }
diff --git a/gcc/testsuite/g++.dg/concepts/req16.C b/gcc/testsuite/g++.dg/concepts/req16.C
index 2704c38bacb..ee80da078cd 100644
--- a/gcc/testsuite/g++.dg/concepts/req16.C
+++ b/gcc/testsuite/g++.dg/concepts/req16.C
@@ -1,5 +1,5 @@
// PR c++/66988
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <type_traits>
diff --git a/gcc/testsuite/g++.dg/concepts/req17.C b/gcc/testsuite/g++.dg/concepts/req17.C
index af622e2fb6d..e1e3eac416c 100644
--- a/gcc/testsuite/g++.dg/concepts/req17.C
+++ b/gcc/testsuite/g++.dg/concepts/req17.C
@@ -1,5 +1,5 @@
// PR c++/67018
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <typename T>
constexpr bool Val = true;
diff --git a/gcc/testsuite/g++.dg/concepts/req18.C b/gcc/testsuite/g++.dg/concepts/req18.C
index 0b6848b42f2..5ddb9e7dda9 100644
--- a/gcc/testsuite/g++.dg/concepts/req18.C
+++ b/gcc/testsuite/g++.dg/concepts/req18.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class> struct all_same {
static constexpr bool value = 1;
diff --git a/gcc/testsuite/g++.dg/concepts/req19.C b/gcc/testsuite/g++.dg/concepts/req19.C
index 0564b0ce8b0..d52ac23ddda 100644
--- a/gcc/testsuite/g++.dg/concepts/req19.C
+++ b/gcc/testsuite/g++.dg/concepts/req19.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
struct B
{
diff --git a/gcc/testsuite/g++.dg/concepts/req2.C b/gcc/testsuite/g++.dg/concepts/req2.C
index b1258c4508b..3f35ee8f0f5 100644
--- a/gcc/testsuite/g++.dg/concepts/req2.C
+++ b/gcc/testsuite/g++.dg/concepts/req2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Class () { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/req20.C b/gcc/testsuite/g++.dg/concepts/req20.C
index e89e905a88f..38ade560753 100644
--- a/gcc/testsuite/g++.dg/concepts/req20.C
+++ b/gcc/testsuite/g++.dg/concepts/req20.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T> concept bool C = true;
diff --git a/gcc/testsuite/g++.dg/concepts/req3.C b/gcc/testsuite/g++.dg/concepts/req3.C
index 5bc7ac790a3..8322e71623b 100644
--- a/gcc/testsuite/g++.dg/concepts/req3.C
+++ b/gcc/testsuite/g++.dg/concepts/req3.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Class () { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/req4.C b/gcc/testsuite/g++.dg/concepts/req4.C
index 2bd5f1552f9..b8c42093911 100644
--- a/gcc/testsuite/g++.dg/concepts/req4.C
+++ b/gcc/testsuite/g++.dg/concepts/req4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
struct fool {
constexpr fool operator&&(fool) const { return {}; }
diff --git a/gcc/testsuite/g++.dg/concepts/req5.C b/gcc/testsuite/g++.dg/concepts/req5.C
index 7953869360f..a3a315c600b 100644
--- a/gcc/testsuite/g++.dg/concepts/req5.C
+++ b/gcc/testsuite/g++.dg/concepts/req5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
struct fool { };
diff --git a/gcc/testsuite/g++.dg/concepts/req6.C b/gcc/testsuite/g++.dg/concepts/req6.C
index 6e111b260ac..670fd542f6f 100644
--- a/gcc/testsuite/g++.dg/concepts/req6.C
+++ b/gcc/testsuite/g++.dg/concepts/req6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
struct X { };
int operator==(X, X) { return 0; }
diff --git a/gcc/testsuite/g++.dg/concepts/req7.C b/gcc/testsuite/g++.dg/concepts/req7.C
index ef25987a4f8..38933e4cf09 100644
--- a/gcc/testsuite/g++.dg/concepts/req7.C
+++ b/gcc/testsuite/g++.dg/concepts/req7.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/concepts/req8.C b/gcc/testsuite/g++.dg/concepts/req8.C
index 4adbc78978c..5a34358bbd5 100644
--- a/gcc/testsuite/g++.dg/concepts/req8.C
+++ b/gcc/testsuite/g++.dg/concepts/req8.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
// Check that type requirements are normalized correctly.
diff --git a/gcc/testsuite/g++.dg/concepts/req9.C b/gcc/testsuite/g++.dg/concepts/req9.C
index 5f66376fd0b..c4d6b57ab65 100644
--- a/gcc/testsuite/g++.dg/concepts/req9.C
+++ b/gcc/testsuite/g++.dg/concepts/req9.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
struct S1 {};
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm1.C b/gcc/testsuite/g++.dg/concepts/template-parm1.C
index 101432feefb..88731d6e249 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm1.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_same_as(T, int);
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm10.C b/gcc/testsuite/g++.dg/concepts/template-parm10.C
index b61912c84bc..cbce4f3be6d 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm10.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm10.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<int N, class T>
concept bool P() { return true; }
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm11.C b/gcc/testsuite/g++.dg/concepts/template-parm11.C
index 1f0d91ad778..73f38815fb7 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm11.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm11.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool NameProvider()
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm12.C b/gcc/testsuite/g++.dg/concepts/template-parm12.C
index edeeb909fcb..aee63dc9d2c 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm12.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm12.C
@@ -1,5 +1,5 @@
// Conceptized version of template/ttp23.C
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T> concept bool Foo = true;
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm2.C b/gcc/testsuite/g++.dg/concepts/template-parm2.C
index 146d1c6def1..6a32cfee885 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm2.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_same_as(T, int);
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm3.C b/gcc/testsuite/g++.dg/concepts/template-parm3.C
index 5fcd5a29a34..61fa86dc435 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm3.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_same_as(T, int);
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm4.C b/gcc/testsuite/g++.dg/concepts/template-parm4.C
index ac9d2af7cb8..c38404239f5 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm4.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_same_as(T, int);
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm5.C b/gcc/testsuite/g++.dg/concepts/template-parm5.C
index 25bd916ca01..5e537b048ba 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm5.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_same_as(T, int);
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm6.C b/gcc/testsuite/g++.dg/concepts/template-parm6.C
index e70cdc0b2b0..eb4bb1670b1 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm6.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename... Ts> struct are_same;
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm7.C b/gcc/testsuite/g++.dg/concepts/template-parm7.C
index 3e2a2f23377..27d19e97719 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm7.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm7.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename... Ts> struct are_same;
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm8.C b/gcc/testsuite/g++.dg/concepts/template-parm8.C
index 69a31bcb8e6..63a12c47f69 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm8.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm8.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/template-parm9.C b/gcc/testsuite/g++.dg/concepts/template-parm9.C
index 06b0f96e094..e34c606e3d6 100644
--- a/gcc/testsuite/g++.dg/concepts/template-parm9.C
+++ b/gcc/testsuite/g++.dg/concepts/template-parm9.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C() { return __is_class(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/template-template-parm1.C b/gcc/testsuite/g++.dg/concepts/template-template-parm1.C
index c2dcc3a8c1b..e828db96a81 100644
--- a/gcc/testsuite/g++.dg/concepts/template-template-parm1.C
+++ b/gcc/testsuite/g++.dg/concepts/template-template-parm1.C
@@ -1,5 +1,5 @@
// PR c++/66937
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
#include <tuple>
diff --git a/gcc/testsuite/g++.dg/concepts/traits1.C b/gcc/testsuite/g++.dg/concepts/traits1.C
index 7ccf087aaed..b5a71856545 100644
--- a/gcc/testsuite/g++.dg/concepts/traits1.C
+++ b/gcc/testsuite/g++.dg/concepts/traits1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Nothrow_assignable() { return __has_nothrow_assign(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/traits2.C b/gcc/testsuite/g++.dg/concepts/traits2.C
index 971a67bf64f..3383d26469d 100644
--- a/gcc/testsuite/g++.dg/concepts/traits2.C
+++ b/gcc/testsuite/g++.dg/concepts/traits2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool Nothrow_assignable() { return __has_nothrow_assign(T); }
diff --git a/gcc/testsuite/g++.dg/concepts/var-concept1.C b/gcc/testsuite/g++.dg/concepts/var-concept1.C
index b99016f9a8b..1456c077b4a 100644
--- a/gcc/testsuite/g++.dg/concepts/var-concept1.C
+++ b/gcc/testsuite/g++.dg/concepts/var-concept1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_class(T);
diff --git a/gcc/testsuite/g++.dg/concepts/var-concept2.C b/gcc/testsuite/g++.dg/concepts/var-concept2.C
index 21c69dd4a43..c71e8a40a36 100644
--- a/gcc/testsuite/g++.dg/concepts/var-concept2.C
+++ b/gcc/testsuite/g++.dg/concepts/var-concept2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_class(T);
diff --git a/gcc/testsuite/g++.dg/concepts/var-concept3.C b/gcc/testsuite/g++.dg/concepts/var-concept3.C
index d27e4fa24b7..d4f4f573205 100644
--- a/gcc/testsuite/g++.dg/concepts/var-concept3.C
+++ b/gcc/testsuite/g++.dg/concepts/var-concept3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T>
concept bool C1 = __is_class(T);
diff --git a/gcc/testsuite/g++.dg/concepts/var-concept4.C b/gcc/testsuite/g++.dg/concepts/var-concept4.C
index 1870a42dcb0..677deda08d8 100644
--- a/gcc/testsuite/g++.dg/concepts/var-concept4.C
+++ b/gcc/testsuite/g++.dg/concepts/var-concept4.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T, typename U>
concept bool Same = __is_same_as(T, U);
diff --git a/gcc/testsuite/g++.dg/concepts/var-concept5.C b/gcc/testsuite/g++.dg/concepts/var-concept5.C
index b91eb945eb1..68c4a6f99d9 100644
--- a/gcc/testsuite/g++.dg/concepts/var-concept5.C
+++ b/gcc/testsuite/g++.dg/concepts/var-concept5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename T1, typename T2>
concept bool C1 = true;
diff --git a/gcc/testsuite/g++.dg/concepts/var-concept6.C b/gcc/testsuite/g++.dg/concepts/var-concept6.C
index 40be4f9d02f..645e8cac966 100644
--- a/gcc/testsuite/g++.dg/concepts/var-concept6.C
+++ b/gcc/testsuite/g++.dg/concepts/var-concept6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
concept int C = true; // { dg-error "bool" }
diff --git a/gcc/testsuite/g++.dg/concepts/var-templ1.C b/gcc/testsuite/g++.dg/concepts/var-templ1.C
index 99ffdc0a483..f24d76db2a9 100644
--- a/gcc/testsuite/g++.dg/concepts/var-templ1.C
+++ b/gcc/testsuite/g++.dg/concepts/var-templ1.C
@@ -1,5 +1,5 @@
// PR c++/67117
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
requires false
diff --git a/gcc/testsuite/g++.dg/concepts/var-templ2.C b/gcc/testsuite/g++.dg/concepts/var-templ2.C
index dc0be75cae7..2e04ed64833 100644
--- a/gcc/testsuite/g++.dg/concepts/var-templ2.C
+++ b/gcc/testsuite/g++.dg/concepts/var-templ2.C
@@ -1,5 +1,5 @@
// PR c++/67139
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T>
constexpr typename T::type::value_type _v = T::type::value;
diff --git a/gcc/testsuite/g++.dg/concepts/var-templ3.C b/gcc/testsuite/g++.dg/concepts/var-templ3.C
index b882b08d181..07468637900 100644
--- a/gcc/testsuite/g++.dg/concepts/var-templ3.C
+++ b/gcc/testsuite/g++.dg/concepts/var-templ3.C
@@ -1,5 +1,5 @@
// PR c++/68666
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
struct A {
template <class>
diff --git a/gcc/testsuite/g++.dg/concepts/variadic1.C b/gcc/testsuite/g++.dg/concepts/variadic1.C
index 8129463ae78..b1b5ba5bc44 100644
--- a/gcc/testsuite/g++.dg/concepts/variadic1.C
+++ b/gcc/testsuite/g++.dg/concepts/variadic1.C
@@ -1,5 +1,5 @@
// PR c++/66712
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T, class...Args>
concept bool _Constructible_ =
diff --git a/gcc/testsuite/g++.dg/concepts/variadic2.C b/gcc/testsuite/g++.dg/concepts/variadic2.C
index e60e9ff4013..2b64a62edef 100644
--- a/gcc/testsuite/g++.dg/concepts/variadic2.C
+++ b/gcc/testsuite/g++.dg/concepts/variadic2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template <class T> concept bool Copyable = requires (T t) { T(t); };
template <class T> concept bool Constructable = requires { T(); };
diff --git a/gcc/testsuite/g++.dg/concepts/variadic4.C b/gcc/testsuite/g++.dg/concepts/variadic4.C
index d20fa7da4e5..48bdfeed548 100644
--- a/gcc/testsuite/g++.dg/concepts/variadic4.C
+++ b/gcc/testsuite/g++.dg/concepts/variadic4.C
@@ -1,5 +1,5 @@
// PR c++/73456
-// { dg-options "-std=c++1z -fconcepts" }
+// { dg-options "-std=c++17 -fconcepts" }
template<typename...> struct list {};
diff --git a/gcc/testsuite/g++.dg/cpp/pr23827_cxx98_neg.C b/gcc/testsuite/g++.dg/cpp/pr23827_cxx98_neg.C
index a0e468c5e62..48f5dd1e082 100644
--- a/gcc/testsuite/g++.dg/cpp/pr23827_cxx98_neg.C
+++ b/gcc/testsuite/g++.dg/cpp/pr23827_cxx98_neg.C
@@ -1,4 +1,4 @@
// { dg-do compile { target c++98_only } }
/* { dg-options "-ansi -pedantic-errors" } */
-double x = 0x3.1415babep0; // { dg-error "use of C..1z hexadecimal floating constant" }
+double x = 0x3.1415babep0; // { dg-error "use of C..17 hexadecimal floating constant" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/auto9.C b/gcc/testsuite/g++.dg/cpp0x/auto9.C
index d71e55f8c50..40b4ef2233e 100644
--- a/gcc/testsuite/g++.dg/cpp0x/auto9.C
+++ b/gcc/testsuite/g++.dg/cpp0x/auto9.C
@@ -103,15 +103,15 @@ auto fnlate2 () -> auto *; // { dg-error "invalid use of|expected" "" { target
void
badthrow () throw (auto) // { dg-error "invalid use of" }
-{ // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
-} // { dg-warning "deprecated" "" { target { ! c++1z } } .-2 }
+{ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+} // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 }
void
badthrow2 () throw (auto &) // { dg-error "invalid use of|expected" }
-{ // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
-} // { dg-warning "deprecated" "" { target { ! c++1z } } .-2 }
+{ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+} // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 }
-template <auto V = 4> struct G {}; // { dg-error "auto" "" { target { ! c++1z } } }
+template <auto V = 4> struct G {}; // { dg-error "auto" "" { target { ! c++17 } } }
template <typename T> struct H { H (); ~H (); };
H<auto> h; // { dg-error "invalid|initializer" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted23.C b/gcc/testsuite/g++.dg/cpp0x/defaulted23.C
index 4d418873f31..dfbdd2f2ed1 100644
--- a/gcc/testsuite/g++.dg/cpp0x/defaulted23.C
+++ b/gcc/testsuite/g++.dg/cpp0x/defaulted23.C
@@ -10,22 +10,22 @@ A a;
struct B
{
- B() throw (int) = default; // { dg-message "exception-specification" "" { target { ! c++1z } } }
-}; // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-2 }
-B b; // { dg-error "deleted" "" { target { ! c++1z } } }
+ B() throw (int) = default; // { dg-message "exception-specification" "" { target { ! c++17 } } }
+}; // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 }
+B b; // { dg-error "deleted" "" { target { ! c++17 } } }
struct C
{
- C() throw (int) { } // { dg-error "dynamic exception specification" "" { target c++1z } }
-}; // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
+ C() throw (int) { } // { dg-error "dynamic exception specification" "" { target c++17 } }
+}; // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
C c;
struct D: C
{
- D() throw (int) = default; // { dg-error "dynamic exception specification" "" { target c++1z } }
-}; // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
+ D() throw (int) = default; // { dg-error "dynamic exception specification" "" { target c++17 } }
+}; // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
D d;
diff --git a/gcc/testsuite/g++.dg/cpp0x/error5.C b/gcc/testsuite/g++.dg/cpp0x/error5.C
index 99fb8e0b709..fe1d4c0e29b 100644
--- a/gcc/testsuite/g++.dg/cpp0x/error5.C
+++ b/gcc/testsuite/g++.dg/cpp0x/error5.C
@@ -41,7 +41,7 @@ struct bad_alloc { };
void* operator new(std::size_t)
#if __cplusplus <= 201402L
-throw (std::bad_alloc) // { dg-warning "deprecated" "" { target { ! c++1z } } }
+throw (std::bad_alloc) // { dg-warning "deprecated" "" { target { ! c++17 } } }
#endif
;
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C
index 330cf95c2d0..3fb50df3f01 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C
@@ -1,7 +1,7 @@
// PR c++/47263
// PR c++/49260
// { dg-options "-fno-asynchronous-unwind-tables -fno-dwarf2-cfi-asm" }
-// { dg-do run { target { c++11 && { ! c++1z } } } }
+// { dg-do run { target { c++11 && { ! c++17 } } } }
#include <exception>
diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept02.C b/gcc/testsuite/g++.dg/cpp0x/noexcept02.C
index 77195415fba..a94fa03ad2b 100644
--- a/gcc/testsuite/g++.dg/cpp0x/noexcept02.C
+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept02.C
@@ -10,10 +10,10 @@ void f();
SA(!noexcept(f()));
-void g() throw (int); // { dg-message "previous declaration" "" { target { ! c++1z } } }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-2 }
-void g() noexcept(false); // { dg-error "different exception" "" { target { ! c++1z } } }
+void g() throw (int); // { dg-message "previous declaration" "" { target { ! c++17 } } }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 }
+void g() noexcept(false); // { dg-error "different exception" "" { target { ! c++17 } } }
void g();
void h() throw();
diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept08.C b/gcc/testsuite/g++.dg/cpp0x/noexcept08.C
index 5a554b7379a..a9791ec1608 100644
--- a/gcc/testsuite/g++.dg/cpp0x/noexcept08.C
+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept08.C
@@ -7,8 +7,8 @@ struct A
virtual void g() throw();
virtual void h() noexcept;
virtual void i() noexcept(false);
- virtual void j() throw(int); // { dg-error "dynamic exception specification" "" { target c++1z } }
-}; // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
+ virtual void j() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } }
+}; // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
struct B: A
{
@@ -34,23 +34,23 @@ struct D: A
void g() noexcept(false); // { dg-error "looser" }
void h() noexcept(false); // { dg-error "looser" }
void i() noexcept(false);
- void j() noexcept(false); // { dg-error "looser" "" { target { ! c++1z } } }
+ void j() noexcept(false); // { dg-error "looser" "" { target { ! c++17 } } }
};
struct E: A
{
- void f() throw(int); // { dg-error "dynamic exception specification" "" { target c++1z } }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
+ void f() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
void g() throw(int); // { dg-error "looser" }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-2 }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 }
void h() throw(int); // { dg-error "looser" }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-2 }
- void i() throw(int); // { dg-error "dynamic exception specification" "" { target c++1z } }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
- void j() throw(int); // { dg-error "dynamic exception specification" "" { target c++1z } }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 }
+ void i() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
+ void j() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
};
struct F: A
@@ -59,5 +59,5 @@ struct F: A
void g(); // { dg-error "looser" }
void h(); // { dg-error "looser" }
void i();
- void j(); // { dg-error "looser" "" { target { ! c++1z } } }
+ void j(); // { dg-error "looser" "" { target { ! c++17 } } }
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept19.C b/gcc/testsuite/g++.dg/cpp0x/noexcept19.C
index 8ec4d7df442..94af8fcf0d0 100644
--- a/gcc/testsuite/g++.dg/cpp0x/noexcept19.C
+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept19.C
@@ -24,7 +24,7 @@ struct D
{
D ()
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { ! c++1z } } }
+ throw (int) // { dg-warning "deprecated" "" { target { ! c++17 } } }
#endif
;
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/static_assert8.C b/gcc/testsuite/g++.dg/cpp0x/static_assert8.C
index 6602e70b0b8..239fe17e273 100644
--- a/gcc/testsuite/g++.dg/cpp0x/static_assert8.C
+++ b/gcc/testsuite/g++.dg/cpp0x/static_assert8.C
@@ -6,4 +6,4 @@ static_assert (1 == 0,); // { dg-error "expected string-literal before '\\)'" }
static_assert (1 == 0, "oops"); // { dg-error "static assertion failed" }
-// { dg-error "static_assert without a message only available with " "" { target { ! c++1z } } 3 }
+// { dg-error "static_assert without a message only available with " "" { target { ! c++17 } } 3 }
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-throw.C b/gcc/testsuite/g++.dg/cpp0x/variadic-throw.C
index 368a67b5776..27afc5a6500 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic-throw.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic-throw.C
@@ -9,9 +9,9 @@ template<int M, int N> struct pair
template<int... M> struct S
{
- template<int... N> static int foo() throw (pair <M, N>...) // { dg-error "mismatched" "" { target { ! c++1z } } }
- { // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- return 1; // { dg-warning "deprecated" "" { target { ! c++1z } } .-2 }
+ template<int... N> static int foo() throw (pair <M, N>...) // { dg-error "mismatched" "" { target { ! c++17 } } }
+ { // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ return 1; // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 }
}
};
@@ -22,5 +22,5 @@ int bar ()
int wibble()
{
- return S<0, 1, 2>::foo<0, 1> (); // { dg-error "no matching" "" { target { ! c++1z } } }
+ return S<0, 1, 2>::foo<0, 1> (); // { dg-error "no matching" "" { target { ! c++17 } } }
}
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic73.C b/gcc/testsuite/g++.dg/cpp0x/variadic73.C
index be998d2420c..396df09dbe2 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic73.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic73.C
@@ -5,7 +5,7 @@ struct C {};
template<typename... Exceptions> void f(int idx)
#if __cplusplus <= 201402L
-throw(Exceptions...) // { dg-warning "deprecated" "" { target { ! c++1z } } }
+throw(Exceptions...) // { dg-warning "deprecated" "" { target { ! c++17 } } }
#endif
{
if (idx == 0) throw A();
diff --git a/gcc/testsuite/g++.dg/cpp1z/abbrev1.C b/gcc/testsuite/g++.dg/cpp1z/abbrev1.C
index 68a0bf3acad..3caa814c58d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/abbrev1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/abbrev1.C
@@ -1,5 +1,5 @@
// PR c++/64969
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
auto f1(auto x) { return *x; }
decltype(auto) f2(auto x) { return *x; }
diff --git a/gcc/testsuite/g++.dg/cpp1z/abbrev2.C b/gcc/testsuite/g++.dg/cpp1z/abbrev2.C
index 41d4bb14a2f..1dc6af3a57d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/abbrev2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/abbrev2.C
@@ -1,6 +1,6 @@
// PR c++/66197
// { dg-do run }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
extern "C" void abort();
diff --git a/gcc/testsuite/g++.dg/cpp1z/aggr-base1.C b/gcc/testsuite/g++.dg/cpp1z/aggr-base1.C
index 37bb472bbe1..2c6bdcafb0c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aggr-base1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aggr-base1.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do run }
struct base1 { int b1, b2 = 42; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/aggr-base2.C b/gcc/testsuite/g++.dg/cpp1z/aggr-base2.C
index 9da5ebfa94e..5d73bbf6739 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aggr-base2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aggr-base2.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct derived;
struct base {
@@ -8,5 +8,5 @@ private:
};
struct derived : base {};
-derived d1{}; // { dg-error "" "" { target c++1z } }
+derived d1{}; // { dg-error "" "" { target c++17 } }
derived d2; // still OK
diff --git a/gcc/testsuite/g++.dg/cpp1z/aggr-base2a.C b/gcc/testsuite/g++.dg/cpp1z/aggr-base2a.C
index 821dce1d7e7..ceeb6d8f120 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aggr-base2a.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aggr-base2a.C
@@ -8,5 +8,5 @@ private:
};
struct derived : base {};
-derived d1{}; // { dg-error "" "" { target c++1z } }
+derived d1{}; // { dg-error "" "" { target c++17 } }
derived d2; // still OK
diff --git a/gcc/testsuite/g++.dg/cpp1z/aggr-base3.C b/gcc/testsuite/g++.dg/cpp1z/aggr-base3.C
index 4acbc0b83a1..f526a6e8812 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aggr-base3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aggr-base3.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct derived;
struct base { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/aggr-base4.C b/gcc/testsuite/g++.dg/cpp1z/aggr-base4.C
index fd93f4ae8d6..8f9126bc23f 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aggr-base4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aggr-base4.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do run }
struct derived;
diff --git a/gcc/testsuite/g++.dg/cpp1z/aggr-base5.C b/gcc/testsuite/g++.dg/cpp1z/aggr-base5.C
index 85dd3658293..5f6d9ad8beb 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aggr-base5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aggr-base5.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -w" }
+// { dg-options "-std=c++17 -w" }
// { dg-do run }
struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/aggr-base6.C b/gcc/testsuite/g++.dg/cpp1z/aggr-base6.C
index 31219ce7423..08578ed0b0b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aggr-base6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aggr-base6.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -w" }
+// { dg-options "-std=c++17 -w" }
// { dg-do run }
struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/aligned-new1.C b/gcc/testsuite/g++.dg/cpp1z/aligned-new1.C
index 735296fd8fa..09f823e1cef 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aligned-new1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aligned-new1.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do run }
#ifndef __STDCPP_DEFAULT_NEW_ALIGNMENT__
diff --git a/gcc/testsuite/g++.dg/cpp1z/aligned-new2.C b/gcc/testsuite/g++.dg/cpp1z/aligned-new2.C
index fe159692b3b..7bf63091614 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aligned-new2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aligned-new2.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do run }
#include <new>
diff --git a/gcc/testsuite/g++.dg/cpp1z/aligned-new3.C b/gcc/testsuite/g++.dg/cpp1z/aligned-new3.C
index e50e62c92e1..2bfb6b8d519 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aligned-new3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aligned-new3.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do run }
#include <new>
diff --git a/gcc/testsuite/g++.dg/cpp1z/aligned-new7.C b/gcc/testsuite/g++.dg/cpp1z/aligned-new7.C
index 695b77f80b1..52011f254ff 100644
--- a/gcc/testsuite/g++.dg/cpp1z/aligned-new7.C
+++ b/gcc/testsuite/g++.dg/cpp1z/aligned-new7.C
@@ -1,5 +1,5 @@
// PR c++/77742
-// { dg-options "-Wall -std=c++1z" }
+// { dg-options "-Wall -std=c++17" }
#include <new>
diff --git a/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C b/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C
index 1f8f8486de8..ad7d2374897 100644
--- a/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#ifndef __cpp_enumerator_attributes
#error __cpp_enumerator_attributes not defined
diff --git a/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C b/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C
index f321ba1cd97..aacfac875b1 100644
--- a/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C
+++ b/gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C
@@ -1,4 +1,4 @@
-// This macro should not be defined without -std=c++1z.
+// This macro should not be defined without -std=c++17.
#ifdef __cpp_enumerator_attributes
#error __cpp_enumerator_attributes defined
diff --git a/gcc/testsuite/g++.dg/cpp1z/bool-increment1.C b/gcc/testsuite/g++.dg/cpp1z/bool-increment1.C
index ae2dcf9f391..236fba33fed 100644
--- a/gcc/testsuite/g++.dg/cpp1z/bool-increment1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/bool-increment1.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int
fn (bool b)
diff --git a/gcc/testsuite/g++.dg/cpp1z/byte1.C b/gcc/testsuite/g++.dg/cpp1z/byte1.C
index 51c1a334e04..d3b9b8818fc 100644
--- a/gcc/testsuite/g++.dg/cpp1z/byte1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/byte1.C
@@ -1,5 +1,5 @@
// Test for std::byte aliasing properties.
-// { dg-options "-std=c++1z -O3" }
+// { dg-options "-std=c++17 -O3" }
#include <cstddef>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction1.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction1.C
index 87fced9ac38..7e1588e7475 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction1.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction10.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction10.C
index 8bc4288aa76..a3879fcde97 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction10.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction10.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction11.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction11.C
index 4e902923b7d..301ba9acffa 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction11.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction11.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction12.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction12.C
index 9eb541da8f9..e858dcf8da1 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction12.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction12.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction13.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction13.C
index 0e2d2354288..0bacf9b304e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction13.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction13.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C
index 1c7e34e17c6..41d58db18ba 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction15.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction15.C
index 72ed478a1c2..3f0e2290441 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction15.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction15.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <utility>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction16.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction16.C
index 9acf5d62efa..2a636e2f70e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction16.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction16.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <tuple>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction17.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction17.C
index 7f2be00af23..646b5aac882 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction17.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction17.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <initializer_list>
template <class T>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction18.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction18.C
index ab2126e70a1..42f936aa5cc 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction18.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction18.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<class T> struct S{S(T){}};
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction19.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction19.C
index 38327d1c6c3..5c21b74ca38 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction19.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction19.C
@@ -1,5 +1,5 @@
// PR c++/77912
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<class T> struct S{S(T){}};
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction2.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction2.C
index 736b263bcd9..2e1d115c58d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction2.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction20.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction20.C
index 58e8f7dca76..988f11bcc62 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction20.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction20.C
@@ -1,5 +1,5 @@
// PR c++/77890
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<class F> struct S{S(F&&f){}};
void f()
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction21.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction21.C
index 5eebef7cbaf..2c2ce467efa 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction21.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction21.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<class T, class D = int>
struct S { T t; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction22.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction22.C
index b15b0c4ad95..a1f0c203750 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction22.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction22.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <template <class> class T>
void f()
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction23.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction23.C
index 26795b17bf0..a2fa4061621 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction23.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction23.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction24.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction24.C
index ba2015aafff..c4d890c1a83 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction24.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction24.C
@@ -1,5 +1,5 @@
// PR c++/78894
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct A
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction25.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction25.C
index 0e496e62d85..d3259d88f14 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction25.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction25.C
@@ -1,5 +1,5 @@
// Testcase from P0512R0 for C++17 NB comment US 19
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<typename> struct remove_ref;
template<typename _Tp> struct remove_ref { typedef _Tp type; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction26.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction26.C
index ea58af75de8..74de70ce21f 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction26.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction26.C
@@ -1,5 +1,5 @@
// Testcase from P0512R0 for C++17 NB comment US 20
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class,class> struct same;
template <class T> struct same<T,T> {};
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction27.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction27.C
index ce5c5d73e9f..ce58058b178 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction27.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction27.C
@@ -1,5 +1,5 @@
// PR c++/79316
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<typename T> struct S { S(T t) {} };
template<typename T> S(T, int = 7) -> S<T>;
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction28.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction28.C
index c91ec0dccaf..8238e5bc25e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction28.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction28.C
@@ -1,5 +1,5 @@
// PR c++/79350
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction29.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction29.C
index efffe3d10f6..8c2d67ef4b4 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction29.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction29.C
@@ -1,5 +1,5 @@
// PR c++/79500
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<typename T> struct A {};
A(...) -> A<int>;
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction3.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction3.C
index ed869655485..13e001afd6b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction3.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <int I>
struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction30.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction30.C
index f50e87819ea..d0ef5f9e060 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction30.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction30.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T = void> struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction31.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction31.C
index 4423157490a..2fd2f28fad8 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction31.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction31.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T> struct A {
A(T); // #1
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction32.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction32.C
index 4c3824fdee8..0f4c85ad35f 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction32.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction32.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <initializer_list>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction33.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction33.C
index d135031c277..ee9d780aaea 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction33.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction33.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class,class> struct same;
template <class T> struct same<T,T> {};
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction34.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction34.C
index b03587969cf..380c35fdb03 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction34.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction34.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction35.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction35.C
index b0e53d1c75e..63d099dc1fd 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction35.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction35.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T> struct A;
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction36.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction36.C
index 129e29ec131..3670ceea03a 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction36.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction36.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T> struct A {
A(T&);
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction38.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction38.C
index fe6c20012aa..883961e04c7 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction38.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction38.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T> struct A {
using value_type = T;
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction39.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction39.C
index 98a3664f5b2..f141e9bedfb 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction39.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction39.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T> struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction4.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction4.C
index 16c41f43c7e..a86589cf228 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction4.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <int I, int J>
struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction40.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction40.C
index eeffa69adf5..3888b3992e2 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction40.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction40.C
@@ -1,5 +1,5 @@
// PR c++/81180
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template < int I > struct int_{};
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction41.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction41.C
index 5e7fa3a2c51..f287ce925c9 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction41.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction41.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <initializer_list>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction42.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction42.C
index 8217fd4d79a..4623e742fb8 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction42.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction42.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <initializer_list>
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction43.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction43.C
index a906a0f3626..120145516b1 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction43.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction43.C
@@ -1,5 +1,5 @@
// PR c++/79790
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <int N>
struct array
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction5.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction5.C
index b94a3008435..a7d56fbf93d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction5.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction6.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction6.C
index 569217d754c..3f751cee3e2 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction6.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction7.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction7.C
index 8e982b9cff2..d635a642bfb 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction7.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction7.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction8.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction8.C
index 36583159840..9836e26d8bb 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction8.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T>
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction9.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction9.C
index 149ef43e5ca..23c58fd2026 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction9.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction9.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
namespace N {
template <class T>
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C
index 1c83b592ad0..f10d8300888 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C
@@ -1,5 +1,5 @@
// PR c++/78948
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <int T>
void sizeof_mismatch()
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C
index 1c6247e0e35..aaef952400b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C
@@ -1,6 +1,6 @@
// Test that discarded statements differ from unevaluated operands in some
// ways.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct A { int i; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-if12.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-if12.C
index 1ed2c30c5c4..4e887f3b939 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-if12.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-if12.C
@@ -1,5 +1,5 @@
// PR c++/80562
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct T {
constexpr auto foo() { return false; }
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda1.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda1.C
index a768cfb22ca..501e7d32cd7 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda1.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
constexpr auto Add5 = [](int i) { return i+5; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda10.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda10.C
index ff65d6c7d47..2af652d0a06 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda10.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda10.C
@@ -1,5 +1,5 @@
// Testcase from P0170R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
void g() {
const int n = 0;
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda11.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda11.C
index f9e662d31c5..f5d58ce9429 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda11.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda11.C
@@ -1,5 +1,5 @@
// Testcase from P0170R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// 'v' & 'm' are odr-used but do not occur in a constant-expression within the nested
// lambda, so are well-formed.
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda12.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda12.C
index f5f3f385d3f..1ad2f6859f8 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda12.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda12.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
void f(int i)
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda13.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda13.C
index 077f8235d5f..35baff35ded 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda13.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda13.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
auto l1 = []() constexpr constexpr { }; // { dg-error "duplicate" }
auto l2 = []() mutable mutable { }; // { dg-error "duplicate" }
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda2.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda2.C
index 1d3ff826fa4..a6b3e532649 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda2.C
@@ -1,5 +1,5 @@
// Testcase from P0170R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
constexpr int AddEleven(int n){
return[n]{return n+11;}();
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda3.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda3.C
index 46ee84686b1..b2772b3fd67 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda3.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
constexpr auto add = [] (int n, int m) {
auto L = [=] { return n; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda4.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda4.C
index b3fd3d0030e..106b50441e9 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda4.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
auto ID = [] (int n) constexpr { return n; };
constexpr int I = ID(3);
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda5.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda5.C
index 71f1852a4bd..8c9db952f24 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda5.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
auto addOne = [] (int n) {
return n + 1;
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda6.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda6.C
index 953901ad426..3fe4bb949bd 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda6.C
@@ -1,5 +1,5 @@
// Testcase from P0170R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
auto monoid = [](auto v) { return [=] { return v; }; };
auto add = [](auto m1) constexpr {
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda7.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda7.C
index 26f136b6c79..4dc5ae2382b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda7.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda7.C
@@ -1,5 +1,5 @@
// Testcase from P0170R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
auto ID = [](auto a) { return a; };
static_assert( ID (3) == 3); // OK
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda8.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda8.C
index 89c020813eb..0bac4c1ea35 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda8.C
@@ -1,5 +1,5 @@
// Testcase from P0170R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
auto Fwd = [](int (*fp)(int), auto a) { return fp(a); };
auto C = [](auto a) { return a; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda9.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda9.C
index a5bc524f0ec..23fdc9390aa 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda9.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda9.C
@@ -1,4 +1,4 @@
// Testcase from P0170R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
static_assert([](int n) { return [&n] { return ++n; }(); }(3) == 4);
diff --git a/gcc/testsuite/g++.dg/cpp1z/cplusplus.C b/gcc/testsuite/g++.dg/cpp1z/cplusplus.C
index e4b84fd6469..0d0ac141c77 100644
--- a/gcc/testsuite/g++.dg/cpp1z/cplusplus.C
+++ b/gcc/testsuite/g++.dg/cpp1z/cplusplus.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#if __cplusplus <= 201402L
#error "__cplusplus <= 201402L"
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C b/gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C
index 73edc871320..1833bc3cda8 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C
@@ -1,5 +1,5 @@
// Test of bit-fields.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct A { long i: 2; } a;
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C b/gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C
index 722ff76de19..04ca9a128a4 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C
@@ -1,5 +1,5 @@
// Test for reference address comparison in constant expression.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int i[2];
struct A { int i, j; } a;
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp10.C b/gcc/testsuite/g++.dg/cpp1z/decomp10.C
index c2bcb93c1d7..a841d3572ea 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp10.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp10.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
namespace std {
template<typename T> struct tuple_size;
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp11.C b/gcc/testsuite/g++.dg/cpp1z/decomp11.C
index 9c8aaa48b4a..edb6709116c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp11.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp11.C
@@ -1,5 +1,5 @@
// Test for decltype of direct decomposition.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class,class> struct same_type;
template <class T> struct same_type<T,T> {};
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp12.C b/gcc/testsuite/g++.dg/cpp1z/decomp12.C
index a5b686abdf9..09ed6461d3c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp12.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp12.C
@@ -1,6 +1,6 @@
// PR c++/78358
// { dg-do run }
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <tuple>
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp15.C b/gcc/testsuite/g++.dg/cpp1z/decomp15.C
index 48d2433a642..e5dc443598e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp15.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp15.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
struct A { bool a, b; };
struct B { int a, b; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp16.C b/gcc/testsuite/g++.dg/cpp1z/decomp16.C
index d67992bb539..7589c8015a5 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp16.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp16.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
struct A { bool a, b; };
struct B { int a, b; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp17.C b/gcc/testsuite/g++.dg/cpp1z/decomp17.C
index 484094b6c58..ace1f06a5a7 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp17.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp17.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <tuple>
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp20.C b/gcc/testsuite/g++.dg/cpp1z/decomp20.C
index 8831b7186c0..8475e5d9707 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp20.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp20.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct A { int i,j; };
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp21.C b/gcc/testsuite/g++.dg/cpp1z/decomp21.C
index 7d3a465d3a3..6f21c9c9ec2 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp21.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp21.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int a[3];
struct S { int b, c, d; } s;
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp27.C b/gcc/testsuite/g++.dg/cpp1z/decomp27.C
index f26722a1d0a..fd5f30e05a5 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp27.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp27.C
@@ -1,5 +1,5 @@
// PR c++/80084
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do run }
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp3.C b/gcc/testsuite/g++.dg/cpp1z/decomp3.C
index 58ce71bf6ac..71dc938daef 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp3.C
@@ -10,35 +10,35 @@ void
test (A &b, B c)
{
int && [ d ] = c; // { dg-error "structured binding declaration cannot have type 'int'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
char & [ e, f, ff ] { b }; // { dg-error "structured binding declaration cannot have type 'char'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
- auto&[g,h,i]=b; // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
+ auto&[g,h,i]=b; // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } }
decltype (auto) [ j ] = c; // { dg-error "structured binding declaration cannot have type 'decltype.auto.'" "" { target c++14 } }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
// { dg-error "expected primary-expression before 'decltype'" "" { target c++11_down } .-2 }
auto & & && & [ m, n, o ] = b; // { dg-error "multiple ref-qualifiers" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
constexpr auto [ p ] = c; // { dg-error "structured binding declaration cannot be 'constexpr'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
friend auto [ q ] = c; // { dg-error "'friend' used outside of class" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
typedef auto [ r ] = c; // { dg-error "structured binding declaration cannot be 'typedef'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
inline auto [ s ] = c; // { dg-error "structured binding declaration cannot be 'inline'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
__restrict auto [ t ] = c; // { dg-error "invalid use of 'restrict'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
long long auto [ u ] = c; // { dg-error "'long long' invalid for 'structured binding'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
virtual auto [ v ] = c; // { dg-error "'virtual' outside class declaration" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
explicit auto [ w ] = c; // { dg-error "'explicit' outside class declaration" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
static auto [ x ] = c; // { dg-error "structured binding declaration cannot be 'static'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
extern auto [ y ] { c }; // { dg-error "structured binding declaration cannot be 'extern'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
}
void
@@ -52,15 +52,15 @@ void
test3 (A &b, B c)
{
auto [ d, e, f ] = arr; // { dg-error "only 3 names provided while 'int .4.' decomposes into 4 elements" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
auto & [ g, h, i, j, k ] = arr; // { dg-error "5 names provided while 'int .4.' decomposes into 4 elements" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
auto [ l, m ] = b; // { dg-error "only 2 names provided while 'A' decomposes into 3 elements" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
auto & [ n, o, p, q ] = b; // { dg-error "4 names provided while 'A' decomposes into 3 elements" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
auto [] { c }; // { dg-error "empty structured binding declaration" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
auto [ r, s ] = c; // { dg-error "2 names provided while 'B' decomposes into 1 elements" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
}
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp30.C b/gcc/testsuite/g++.dg/cpp1z/decomp30.C
index 23115ad1082..73068712d5f 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp30.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp30.C
@@ -1,5 +1,5 @@
// PR c++/81258
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int a[2];
auto [b, c] (a);
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp4.C b/gcc/testsuite/g++.dg/cpp1z/decomp4.C
index 55460833bd9..e50b882f189 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp4.C
@@ -15,18 +15,18 @@ void
test (A &a, B &b, C &c, D &d, E &e, F &f, G &g, H &h, I &i)
{
auto [ j ] = a; // { dg-error "cannot decompose class type 'A' because it has an anonymous struct member" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
auto [ k ] { b }; // { dg-error "cannot decompose class type 'B' because it has an anonymous union member" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
auto [ l, l2 ] = c; // { dg-error "cannot decompose non-public member 'C::b' of 'C'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
- auto [ m ] = d; // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
+ auto [ m ] = d; // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } }
auto [ n ] { e }; // { dg-error "cannot decompose non-public member 'E::a' of 'E'" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
- auto [ o ] { f }; // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
+ auto [ o ] { f }; // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } }
auto & [ p ] { g }; // { dg-error "cannot decompose class type 'G': both it and its base class 'F' have non-static data members" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
- auto [ q ] { h }; // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
+ auto [ q ] { h }; // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } }
auto [ r ] { i }; // { dg-error "cannot decompose class type 'I': its base classes 'F' and 'H' have non-static data members" }
- // { dg-warning "structured bindings only available with -std=c..1z or -std=gnu..1z" "" { target c++14_down } .-1 }
+ // { dg-warning "structured bindings only available with -std=c..17 or -std=gnu..17" "" { target c++14_down } .-1 }
}
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp9.C b/gcc/testsuite/g++.dg/cpp1z/decomp9.C
index f7c6f56b8d5..0a19876471d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp9.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp9.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#define assert(X) do { if (!(X)) __builtin_abort(); } while (0)
diff --git a/gcc/testsuite/g++.dg/cpp1z/direct-enum-init1.C b/gcc/testsuite/g++.dg/cpp1z/direct-enum-init1.C
index ee39ab4b169..d8cffb4135a 100644
--- a/gcc/testsuite/g++.dg/cpp1z/direct-enum-init1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/direct-enum-init1.C
@@ -22,41 +22,41 @@ foo ()
C c1 { s };
D d1 { D(t) }; // { dg-error "invalid cast from type 'T' to type 'D'" }
D d2 { t }; // { dg-error "cannot convert 'T' to 'D' in initialization" "" { target c++14_down } }
- // { dg-error "invalid cast from type 'T' to type 'D'" "" { target c++1z } .-1 }
+ // { dg-error "invalid cast from type 'T' to type 'D'" "" { target c++17 } .-1 }
D d3 { 9 }; // { dg-error "cannot convert 'int' to 'D' in initialization" "" { target c++14_down } }
D d4 { l }; // { dg-error "cannot convert 'long int' to 'D' in initialization" "" { target c++14_down } }
D d5 { D(l) };
D d6 { G }; // { dg-error "cannot convert 'A' to 'D' in initialization" "" { target c++14_down } }
E e1 { 5 }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
E e2 { -1 }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '-1' from 'int' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '-1' from 'int' to 'unsigned char' inside" "" { target c++17 } .-1 }
E e3 { 5.0 }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
E e4 { 5.2 }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.\[0-9]*e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.\[0-9]*e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
B b2 = { 7 }; // { dg-error "invalid conversion from 'int' to 'B'" }
C c2 = { C { 8 } }; // { dg-error "cannot convert 'int' to 'C' in initialization" "" { target c++14_down } }
D *d7 = new D { 9 }; // { dg-error "cannot convert \[^\n\r]* to 'D' in initialization" "" { target c++14_down } }
E *e5 = new E { -4 }; // { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '-4' from 'int' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '-4' from 'int' to 'unsigned char' inside" "" { target c++17 } .-1 }
bar ({ 10 }); // { dg-error "cannot convert \[^\n\r]* to 'E' for argument" }
bar (E { 9 }); // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
V v1 = { { 11 } }; // { dg-error "braces around scalar initializer for type 'E'" }
V v2 = { E { 12 } }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
V v3 = { E { 5.0 } }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
V v4 = { 13 }; // { dg-error "cannot convert 'int' to 'E' in initialization" }
if (B b3 { 5 }) // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
;
if (B b4 { 4.0 }) // { dg-error "cannot convert 'double' to 'B' in initialization" "" { target c++14_down } }
- ; // { dg-error "narrowing conversion of '4.0e.0' from 'double' to 'short int' inside" "" { target c++1z } .-1 }
+ ; // { dg-error "narrowing conversion of '4.0e.0' from 'double' to 'short int' inside" "" { target c++17 } .-1 }
C c3 { 8L }; // { dg-error "cannot convert 'long int' to 'C' in initialization" "" { target c++14_down } }
B b4 {short (c + 5)}; // { dg-error "invalid conversion from 'short int' to 'B'" "" { target c++14_down } }
B b5 {c + 5}; // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
- // { dg-error "narrowing conversion of \[^\n\r]* from 'int' to 'short int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of \[^\n\r]* from 'int' to 'short int' inside" "" { target c++17 } .-1 }
C c4 { ll }; // { dg-error "cannot convert 'long long int' to 'C' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of 'll' from 'long long int' to 'int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of 'll' from 'long long int' to 'int' inside" "" { target c++17 } .-1 }
C c5 {short (c + 5)}; // { dg-error "cannot convert 'short int' to 'C' in initialization" "" { target c++14_down } }
C c6 {c + 5}; // { dg-error "cannot convert 'int' to 'C' in initialization" "" { target c++14_down } }
}
@@ -65,7 +65,7 @@ struct U
{
U () : e { 5 } {} // { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
U (int) : e { 5.0 } {}// { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
U (float) : e({ 6 }) {}// { dg-error "list-initializer for non-class type must not be parenthesized" }
// { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target *-*-* } .-1 }
E e;
@@ -76,7 +76,7 @@ struct W
A a { 5 }; // { dg-error "invalid conversion from 'int' to 'A'" }
B b { 6 }; // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
C c { 3.0f }; // { dg-error "cannot convert \[^\n\r]* to 'C' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '3.0e.0f' from 'float' to 'int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '3.0e.0f' from 'float' to 'int' inside" "" { target c++17 } .-1 }
D d = { 7 }; // { dg-error "cannot convert \[^\n\r]* to 'D' in initialization" }
};
@@ -89,40 +89,40 @@ foo2 ()
C c1 { s };
D d1 { D(t) }; // { dg-error "invalid cast from type 'T' to type 'D'" }
D d2 { t }; // { dg-error "cannot convert 'T' to 'D' in initialization" "" { target c++14_down } }
- // { dg-error "invalid cast from type 'T' to type 'D'" "" { target c++1z } .-1 }
+ // { dg-error "invalid cast from type 'T' to type 'D'" "" { target c++17 } .-1 }
D d3 { 9 }; // { dg-error "cannot convert 'int' to 'D' in initialization" "" { target c++14_down } }
D d4 { l }; // { dg-error "cannot convert 'long int' to 'D' in initialization" "" { target c++14_down } }
D d5 { D(l) };
D d6 { G }; // { dg-error "cannot convert 'A' to 'D' in initialization" "" { target c++14_down } }
E e1 { 5 }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
E e2 { -1 }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '-1' from 'int' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '-1' from 'int' to 'unsigned char' inside" "" { target c++17 } .-1 }
E e3 { 5.0 }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
E e4 { 5.2 }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.\[0-9]*e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.\[0-9]*e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
B b2 = { 7 }; // { dg-error "invalid conversion from 'int' to 'B'" }
C c2 = { C { 8 } }; // { dg-error "cannot convert 'int' to 'C' in initialization" "" { target c++14_down } }
D *d7 = new D { 9 }; // { dg-error "cannot convert \[^\n\r]* to 'D' in initialization" "" { target c++14_down } }
E *e5 = new E { -4 }; // { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '-4' from 'int' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '-4' from 'int' to 'unsigned char' inside" "" { target c++17 } .-1 }
bar ({ 10 }); // { dg-error "cannot convert \[^\n\r]* to 'E' for argument" }
bar (E { 9 }); // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
V v1 = { { 11 } }; // { dg-error "braces around scalar initializer for type 'E'" }
V v2 = { E { 12 } }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
V v3 = { E { 5.0 } }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
V v4 = { 13 }; // { dg-error "cannot convert 'int' to 'E' in initialization" }
if (B b3 { 5 }) // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
;
if (B b4 { 4.0 }) // { dg-error "cannot convert 'double' to 'B' in initialization" "" { target c++14_down } }
- ; // { dg-error "narrowing conversion of '4.0e.0' from 'double' to 'short int' inside" "" { target c++1z } .-1 }
+ ; // { dg-error "narrowing conversion of '4.0e.0' from 'double' to 'short int' inside" "" { target c++17 } .-1 }
C c3 { 8L }; // { dg-error "cannot convert 'long int' to 'C' in initialization" "" { target c++14_down } }
B b4 {short (c + 5)}; // { dg-error "invalid conversion from 'short int' to 'B'" "" { target c++14_down } }
B b5 {c + 5}; // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
- // { dg-error "narrowing conversion of \[^\n\r]* from 'int' to 'short int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of \[^\n\r]* from 'int' to 'short int' inside" "" { target c++17 } .-1 }
C c4 { ll }; // { dg-error "cannot convert 'long long int' to 'C' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of 'll' from 'long long int' to 'int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of 'll' from 'long long int' to 'int' inside" "" { target c++17 } .-1 }
C c5 {short (c + 5)}; // { dg-error "cannot convert 'short int' to 'C' in initialization" "" { target c++14_down } }
C c6 {c + 5}; // { dg-error "cannot convert 'int' to 'C' in initialization" "" { target c++14_down } }
}
@@ -132,7 +132,7 @@ struct U2
{
U2 () : e { 5 } {} // { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
U2 (int) : e { 5.0 } {}// { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
U2 (float) : e({ 6 }) {}
E e;
};
@@ -143,7 +143,7 @@ struct W2
A a { 5 }; // { dg-error "invalid conversion from 'int' to 'A'" "" { target *-*-* } }
B b { 6 }; // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
C c { 3.0f }; // { dg-error "cannot convert \[^\n\r]* to 'C' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '3.0e.0f' from 'float' to 'int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '3.0e.0f' from 'float' to 'int' inside" "" { target c++17 } .-1 }
D d = { 7 }; // { dg-error "cannot convert \[^\n\r]* to 'D' in initialization" "" { target *-*-* } }
};
@@ -157,40 +157,40 @@ foo3 ()
J c1 { s };
K d1 { K(t) }; // { dg-error "invalid cast from type 'T' to type 'D'" }
K d2 { t }; // { dg-error "cannot convert 'T' to 'D' in initialization" "" { target c++14_down } }
- // { dg-error "invalid cast from type 'T' to type 'D'" "" { target c++1z } .-1 }
+ // { dg-error "invalid cast from type 'T' to type 'D'" "" { target c++17 } .-1 }
K d3 { 9 }; // { dg-error "cannot convert 'int' to 'D' in initialization" "" { target c++14_down } }
K d4 { l }; // { dg-error "cannot convert 'long int' to 'D' in initialization" "" { target c++14_down } }
K d5 { K(l) };
K d6 { G }; // { dg-error "cannot convert 'A' to 'D' in initialization" "" { target c++14_down } }
L e1 { 5 }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
L e2 { -1 }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '-1' from 'int' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '-1' from 'int' to 'unsigned char' inside" "" { target c++17 } .-1 }
L e3 { 5.0 }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
L e4 { 5.2 }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.\[0-9]*e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.\[0-9]*e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
I b2 = { 7 }; // { dg-error "invalid conversion from 'int' to 'B'" }
J c2 = { J { 8 } }; // { dg-error "cannot convert 'int' to 'C' in initialization" "" { target c++14_down } }
K *d7 = new K { 9 }; // { dg-error "cannot convert \[^\n\r]* to 'D' in initialization" "" { target c++14_down } }
L *e5 = new L { -4 }; // { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '-4' from 'int' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '-4' from 'int' to 'unsigned char' inside" "" { target c++17 } .-1 }
bar3 ({ 10 }); // { dg-error "cannot convert \[^\n\r]* to 'E' for argument" }
bar3 (E { 9 }); // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
M v1 = { { 11 } }; // { dg-error "braces around scalar initializer for type 'E'" }
M v2 = { L { 12 } }; // { dg-error "cannot convert 'int' to 'E' in initialization" "" { target c++14_down } }
M v3 = { L { 5.0 } }; // { dg-error "cannot convert 'double' to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
M v4 = { 13 }; // { dg-error "cannot convert 'int' to 'E' in initialization" }
if (I b3 { 5 }) // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
;
if (I b4 { 4.0 }) // { dg-error "cannot convert 'double' to 'B' in initialization" "" { target c++14_down } }
- ; // { dg-error "narrowing conversion of '4.0e.0' from 'double' to 'short int' inside" "" { target c++1z } .-1 }
+ ; // { dg-error "narrowing conversion of '4.0e.0' from 'double' to 'short int' inside" "" { target c++17 } .-1 }
J c3 { 8L }; // { dg-error "cannot convert 'long int' to 'C' in initialization" "" { target c++14_down } }
I b4 {short (c + 5)}; // { dg-error "invalid conversion from 'short int' to 'B'" "" { target c++14_down } }
I b5 {c + 5}; // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
- // { dg-error "narrowing conversion of \[^\n\r]* from 'int' to 'short int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of \[^\n\r]* from 'int' to 'short int' inside" "" { target c++17 } .-1 }
J c4 { ll }; // { dg-error "cannot convert 'long long int' to 'C' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of 'll' from 'long long int' to 'int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of 'll' from 'long long int' to 'int' inside" "" { target c++17 } .-1 }
J c5 {short (c + 5)}; // { dg-error "cannot convert 'short int' to 'C' in initialization" "" { target c++14_down } }
J c6 {c + 5}; // { dg-error "cannot convert 'int' to 'C' in initialization" "" { target c++14_down } }
}
@@ -200,7 +200,7 @@ struct U3
{
U3 () : e { 5 } {} // { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
U3 (int) : e { 5.0 } {}// { dg-error "cannot convert \[^\n\r]* to 'E' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '5.0e.0' from 'double' to 'unsigned char' inside" "" { target c++17 } .-1 }
U3 (float) : e({ 6 }) {}
L e;
};
@@ -211,7 +211,7 @@ struct W3
H a { 5 }; // { dg-error "invalid conversion from 'int' to 'A'" "" { target *-*-* } }
I b { 6 }; // { dg-error "invalid conversion from 'int' to 'B'" "" { target c++14_down } }
J c { 3.0f }; // { dg-error "cannot convert \[^\n\r]* to 'C' in initialization" "" { target c++14_down } }
- // { dg-error "narrowing conversion of '3.0e.0f' from 'float' to 'int' inside" "" { target c++1z } .-1 }
+ // { dg-error "narrowing conversion of '3.0e.0f' from 'float' to 'int' inside" "" { target c++17 } .-1 }
K d = { 7 }; // { dg-error "cannot convert \[^\n\r]* to 'D' in initialization" "" { target *-*-* } }
};
diff --git a/gcc/testsuite/g++.dg/cpp1z/elide1.C b/gcc/testsuite/g++.dg/cpp1z/elide1.C
index 48b89b10b29..6875c82561b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/elide1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/elide1.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct A
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/eval-order2.C b/gcc/testsuite/g++.dg/cpp1z/eval-order2.C
index 2a741d687b5..95dd10648f6 100644
--- a/gcc/testsuite/g++.dg/cpp1z/eval-order2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/eval-order2.C
@@ -1,6 +1,6 @@
// P0145R2: Refining Expression Order for C++
// { dg-do run }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#include <string>
#define assert(X) if (!(X)) __builtin_abort();
diff --git a/gcc/testsuite/g++.dg/cpp1z/eval-order3.C b/gcc/testsuite/g++.dg/cpp1z/eval-order3.C
index e87dce4006c..966ac0a6523 100644
--- a/gcc/testsuite/g++.dg/cpp1z/eval-order3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/eval-order3.C
@@ -1,6 +1,6 @@
// P0145R2: Refining Expression Order for C++
// { dg-do run }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
extern "C" int printf (const char *, ...);
void sink(...) { }
diff --git a/gcc/testsuite/g++.dg/cpp1z/fallthrough1.C b/gcc/testsuite/g++.dg/cpp1z/fallthrough1.C
index d15b1eac88a..54a8323dfac 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fallthrough1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fallthrough1.C
@@ -1,6 +1,6 @@
// PR c/7652
// { dg-do compile }
-// { dg-options "-std=c++1z -Wextra -Wall -Wpedantic" }
+// { dg-options "-std=c++17 -Wextra -Wall -Wpedantic" }
// Check that we accept attribute [[fallthrough]].
diff --git a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
index a7c6cfe5169..b2f046b5c91 100644
--- a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
+++ b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-options "-std=c++17 -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc" }
// C++98 features:
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold-ice1.C b/gcc/testsuite/g++.dg/cpp1z/fold-ice1.C
index 558f5893b05..7e71cc9dd21 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold-ice1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold-ice1.C
@@ -1,5 +1,5 @@
// PR c++/67926
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <bool ... T> bool FUR = (T && ...);
template <bool ... T> bool FUL = (... && T);
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold-mangle.C b/gcc/testsuite/g++.dg/cpp1z/fold-mangle.C
index 1a8f16c8b77..95df8ca494d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold-mangle.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold-mangle.C
@@ -1,5 +1,5 @@
// PR c++/71711
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template < int > struct A {};
template < int ... N > void unary_left (A < (... + N) >);
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold1.C b/gcc/testsuite/g++.dg/cpp1z/fold1.C
index 510d61a35c8..fdaa9559699 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold1.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold2.C b/gcc/testsuite/g++.dg/cpp1z/fold2.C
index 598e55732a6..093a98bb334 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold2.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
// Check that we can fold over all of the operators required
// by the standard in every possible way.
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold3.C b/gcc/testsuite/g++.dg/cpp1z/fold3.C
index 58d41e6f6ee..7caa8483b6a 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold3.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
// Check that empty expansions and required failures.
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold4.C b/gcc/testsuite/g++.dg/cpp1z/fold4.C
index fbe672079b4..2365d50c3c4 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold4.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class...T>
constexpr auto f(T... t)
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold5.C b/gcc/testsuite/g++.dg/cpp1z/fold5.C
index da6544bddba..2f8d4cafe8e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold5.C
@@ -1,5 +1,5 @@
// Test that we complain about fold-expressions in C++11 and C++14.
-// { dg-do compile { target { c++11 && { ! c++1z } } } }
+// { dg-do compile { target { c++11 && { ! c++17 } } } }
template <class...T>
constexpr int f(T... t)
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold6.C b/gcc/testsuite/g++.dg/cpp1z/fold6.C
index cc073f90aea..48394366692 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold6.C
@@ -1,7 +1,7 @@
// Test that we reject a fold-expression with an LHS that is not a
// cast-expression.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int i;
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold7.C b/gcc/testsuite/g++.dg/cpp1z/fold7.C
index 0451774b62c..74ef4abfaf7 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold7.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold7.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#ifndef __cpp_fold_expressions
#error __cpp_fold_expressions not defined
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold7a.C b/gcc/testsuite/g++.dg/cpp1z/fold7a.C
index d56cefb1ec4..5c782ff0969 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold7a.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold7a.C
@@ -1,4 +1,4 @@
-// This macro should not be defined without -std=c++1z.
+// This macro should not be defined without -std=c++17.
#ifdef __cpp_fold_expressions
#error __cpp_fold_expressions defined
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold8.C b/gcc/testsuite/g++.dg/cpp1z/fold8.C
index e27db7a5dcf..68827e6f680 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold8.C
@@ -1,5 +1,5 @@
// PR c++/68377
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct Sink { } s;
template <class T> Sink& operator<<(Sink&, const T&);
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold9.C b/gcc/testsuite/g++.dg/cpp1z/fold9.C
index 578b8d03ca6..142c8b2c818 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold9.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold9.C
@@ -1,5 +1,5 @@
// PR c++/71285
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<typename... Args>
void spurious(Args... args)
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement2.C b/gcc/testsuite/g++.dg/cpp1z/init-statement2.C
index 8cfe1ab1d28..d1dc9188b1c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement2.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// Test C++17 selection statements with initializer, basic use.
extern int foo (void);
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement3.C b/gcc/testsuite/g++.dg/cpp1z/init-statement3.C
index c178eafe1fb..b0cd14885ff 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement3.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// Test C++17 selection statements with initializer, side-effects.
int
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement4.C b/gcc/testsuite/g++.dg/cpp1z/init-statement4.C
index a5f7d8b0c9e..32a3f2d8b66 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement4.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
extern int foo (void);
extern void bar (int), die (void);
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement5.C b/gcc/testsuite/g++.dg/cpp1z/init-statement5.C
index 6efa0ed30b2..cf2b16a27bb 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement5.C
@@ -1,5 +1,5 @@
// Testcase from P0305R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
enum class status_code { SUCCESS };
extern int get_value ();
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement6.C b/gcc/testsuite/g++.dg/cpp1z/init-statement6.C
index e8e24b53734..6f00d9de416 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement6.C
@@ -1,5 +1,5 @@
// Testcase from P0305R1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <string>
#include <map>
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement7.C b/gcc/testsuite/g++.dg/cpp1z/init-statement7.C
index a67617ef0e2..e4a598e145d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement7.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement7.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int
main ()
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement8.C b/gcc/testsuite/g++.dg/cpp1z/init-statement8.C
index fb40df0e5b4..574cc213787 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement8.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int
f ()
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement9.C b/gcc/testsuite/g++.dg/cpp1z/init-statement9.C
index 5425f973be8..f695a73fb3d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement9.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement9.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
void
f ()
diff --git a/gcc/testsuite/g++.dg/cpp1z/inline-var1.C b/gcc/testsuite/g++.dg/cpp1z/inline-var1.C
index 8e5baa3f3c7..7c014b52c24 100644
--- a/gcc/testsuite/g++.dg/cpp1z/inline-var1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/inline-var1.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-std=c++1z -Wno-deprecated" }
+// { dg-options "-std=c++17 -Wno-deprecated" }
// { dg-require-weak "" }
// { dg-additional-sources "inline-var1a.C" }
diff --git a/gcc/testsuite/g++.dg/cpp1z/inline-var1a.C b/gcc/testsuite/g++.dg/cpp1z/inline-var1a.C
index 9b3da299837..62d3708232d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/inline-var1a.C
+++ b/gcc/testsuite/g++.dg/cpp1z/inline-var1a.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z -Wno-deprecated -g" }
+// { dg-options "-std=c++17 -Wno-deprecated -g" }
#include "inline-var1.h"
diff --git a/gcc/testsuite/g++.dg/cpp1z/inline-var2.C b/gcc/testsuite/g++.dg/cpp1z/inline-var2.C
index bfbbe1d6223..1696cb0f240 100644
--- a/gcc/testsuite/g++.dg/cpp1z/inline-var2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/inline-var2.C
@@ -18,9 +18,9 @@ struct S
static inline double var9 = 3.0; // { dg-warning "inline variables are only available with" "" { target c++14_down } }
static constexpr inline int var11 = 11; // { dg-warning "inline variables are only available with" "" { target c++14_down } }
};
-const int S::var3; // { dg-warning "redundant redeclaration of" "" { target c++1z } }
+const int S::var3; // { dg-warning "redundant redeclaration of" "" { target c++17 } }
const int S::var3; // { dg-error "redefinition of" "" { target c++14_down } }
-extern int foo (int); // { dg-warning "redundant redeclaration of" "" { target c++1z } .-1 }
+extern int foo (int); // { dg-warning "redundant redeclaration of" "" { target c++17 } .-1 }
extern int bar (int);
struct T { T () { t = foo (3); } T (int x) { t = foo (x); } int t; };
inline int var12 = foo (0); // { dg-warning "inline variables are only available with" "" { target c++14_down } }
@@ -111,7 +111,7 @@ double Z<N>::var41; // { dg-error "redefinition of" }
template <int N>
double const Z<N>::var42; // { dg-error "redefinition of" }
template <int N>
-const int Z<N>::var43; // { dg-warning "redundant redeclaration of" "" { target c++1z } }
-template <int N> // { dg-warning "redundant redeclaration of" "" { target c++1z } .+1 }
+const int Z<N>::var43; // { dg-warning "redundant redeclaration of" "" { target c++17 } }
+template <int N> // { dg-warning "redundant redeclaration of" "" { target c++17 } .+1 }
const int Z<N>::var43; // { dg-error "redefinition of" "" { target c++14_down } }
Z<0> z;
diff --git a/gcc/testsuite/g++.dg/cpp1z/lambda-this3.C b/gcc/testsuite/g++.dg/cpp1z/lambda-this3.C
index b5a1fc63a53..c505ce3e1f9 100644
--- a/gcc/testsuite/g++.dg/cpp1z/lambda-this3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/lambda-this3.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct S {
int i;
diff --git a/gcc/testsuite/g++.dg/cpp1z/namespace-attribs.C b/gcc/testsuite/g++.dg/cpp1z/namespace-attribs.C
index 7dc2173937e..b4dc5c4e017 100644
--- a/gcc/testsuite/g++.dg/cpp1z/namespace-attribs.C
+++ b/gcc/testsuite/g++.dg/cpp1z/namespace-attribs.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
namespace A __attribute ((visibility ("default"))) {}
diff --git a/gcc/testsuite/g++.dg/cpp1z/nested-namespace-def1.C b/gcc/testsuite/g++.dg/cpp1z/nested-namespace-def1.C
index 680b907c72d..8a6f0074fe8 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nested-namespace-def1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nested-namespace-def1.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
namespace A::B::C
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/nodiscard3.C b/gcc/testsuite/g++.dg/cpp1z/nodiscard3.C
index bc2a032ecb9..4d4e60e42c9 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nodiscard3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nodiscard3.C
@@ -1,6 +1,6 @@
/* nodiscard attribute tests, adapted from gcc.dg/attr-warn-unused-result.c. */
/* { dg-do compile } */
-/* { dg-options "-std=c++1z -O -ftrack-macro-expansion=0" } */
+/* { dg-options "-std=c++17 -O -ftrack-macro-expansion=0" } */
#define WUR [[nodiscard]]
#define WURAI [[nodiscard, gnu::always_inline]] inline
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type1.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type1.C
index dfe64e550e0..59c02552d60 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type1.C
@@ -1,5 +1,5 @@
// Testcase from P0012r1
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
void (*p)() throw(int); // { dg-error "dynamic exception specification" }
void (**pp)() noexcept = &p; // { dg-error "" } cannot convert to pointer to noexcept function
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type12.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type12.C
index 39820af136e..74404ad7ad1 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type12.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type12.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class R, class... A, bool B>
void f(R (*)(A...) noexcept(B)) { }
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C
index 8c763a536a2..2b6a108eb8e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C
@@ -1,5 +1,5 @@
// PR c++/80614
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <typename T> void fn() {}
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C
index 46aefddedf8..c8c731b5bbd 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C
@@ -1,5 +1,5 @@
// PR c++/80465
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
int foo(...);
int main() {
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type2.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type2.C
index 747bb194c30..467bd46725c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type2.C
@@ -1,5 +1,5 @@
// Test for function pointer conversion on template arguments.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <void (*P)()> struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type3.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type3.C
index 9303da87b8c..b23c1c779f9 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type3.C
@@ -1,5 +1,5 @@
// Test for overload resolution.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
void f(void (*)() noexcept) = delete;
void f(void (*)()) { }
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type4.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type4.C
index 621da9341ea..4777eef54d8 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type4.C
@@ -1,5 +1,5 @@
// Test for deduction.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class R, class... A>
void f(R (*)(A...));
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type5.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type5.C
index 9e5d20224e2..6c1ebd1f13e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type5.C
@@ -1,5 +1,5 @@
// Test for composite pointer type.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
typedef void (*P)();
typedef void (*NP)() noexcept;
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type6.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type6.C
index 50684571b62..8734c8d9c08 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type6.C
@@ -1,5 +1,5 @@
// Test for lambda conversion.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
void f()
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type7.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type7.C
index 1f78114dc74..7c77a8d63df 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type7.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type7.C
@@ -1,5 +1,5 @@
// Test for static_cast.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
void f()
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type8.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type8.C
index 0182e3a3111..db70a680a78 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type8.C
@@ -1,5 +1,5 @@
// Test for exception handling.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do run }
void f() {}
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type9.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type9.C
index a29618a3001..45b64997072 100644
--- a/gcc/testsuite/g++.dg/cpp1z/noexcept-type9.C
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type9.C
@@ -1,5 +1,5 @@
// Test for PMF template args.
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// { dg-do compile }
struct A
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto1.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto1.C
index 9d0507483be..def697c1a47 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto1.C
@@ -1,5 +1,5 @@
// Testcase from P0127R2
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <long n> struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto10.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto10.C
index 381ed51a28f..38d070ccaae 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto10.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto10.C
@@ -1,5 +1,5 @@
// PR c++/80096
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<auto> struct A
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto2.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto2.C
index 23dac8a9151..7152768fd92 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto2.C
@@ -1,5 +1,5 @@
// Testcase from P0127R2
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <typename T> struct S;
template <typename T, T n> struct S<int[n]> {
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C
index 00b56b1fe77..9b96c1fd18b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C
@@ -1,5 +1,5 @@
// Testcase from P0127R2
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template<auto n> struct B { decltype(n) f = n; };
B<5> b1; // OK: template parameter type is int
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto4.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto4.C
index 80bbbed9565..5833c08531b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto4.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T, T n> void f(T, int (&)[n]);
template <class T, T n> void g(int (&)[n], T);
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto5.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto5.C
index aa5ca7f0d2c..323a89632a9 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto5.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <class T> struct A
{
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto6.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto6.C
index cbf1b46a73a..b40438ce197 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto6.C
@@ -4,5 +4,5 @@ template <int N> struct A;
template <typename T, T N> int foo(A<N> *) = delete;
void foo(void *);
void bar(A<0> *p) {
- foo(p); // { dg-error "" "" { target c++1z } }
+ foo(p); // { dg-error "" "" { target c++17 } }
}
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto7.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto7.C
index 15656cfd24d..bca6576d590 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto7.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto7.C
@@ -1,5 +1,5 @@
// PR c++/78334
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <auto> auto constexpr_string([](auto) {});
void foo() { constexpr_string<0>(0); };
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto8.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto8.C
index da4c88b81c0..146ad440d98 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto8.C
@@ -1,5 +1,5 @@
// PR c++/79549
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <auto...>
struct meow;
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype-auto9.C b/gcc/testsuite/g++.dg/cpp1z/nontype-auto9.C
index 2daa346be06..65f5cfe7ce4 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype-auto9.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype-auto9.C
@@ -1,5 +1,5 @@
// PR c++/79556
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
template <auto> struct A;
template <auto...> struct B;
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype1.C b/gcc/testsuite/g++.dg/cpp1z/nontype1.C
index bb46a997e2e..342a0a6aa1d 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype1.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
struct S { int m; static int s; } s;
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype2.C b/gcc/testsuite/g++.dg/cpp1z/nontype2.C
index e489476f463..feb4b4aaf6e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype2.C
@@ -1,4 +1,4 @@
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
#include <typeinfo>
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype3.C b/gcc/testsuite/g++.dg/cpp1z/nontype3.C
index 886d7a5788b..29805b5617f 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype3.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#ifndef __cpp_nontype_template_args
#error __cpp_nontype_template_args not defined
diff --git a/gcc/testsuite/g++.dg/cpp1z/nontype3a.C b/gcc/testsuite/g++.dg/cpp1z/nontype3a.C
index a253d6bdbc0..a704e5045b6 100644
--- a/gcc/testsuite/g++.dg/cpp1z/nontype3a.C
+++ b/gcc/testsuite/g++.dg/cpp1z/nontype3a.C
@@ -1,4 +1,4 @@
-// This macro should not be defined without -std=c++1z.
+// This macro should not be defined without -std=c++17.
#ifdef __cpp_nontype_template_args
#error __cpp_nontype_template_args defined
diff --git a/gcc/testsuite/g++.dg/cpp1z/pr78771.C b/gcc/testsuite/g++.dg/cpp1z/pr78771.C
index 91784948d16..80e3a92ed91 100644
--- a/gcc/testsuite/g++.dg/cpp1z/pr78771.C
+++ b/gcc/testsuite/g++.dg/cpp1z/pr78771.C
@@ -1,5 +1,5 @@
// PR c++/78771
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
// ICE instantiating a deleted inherited ctor
diff --git a/gcc/testsuite/g++.dg/cpp1z/pr79143.C b/gcc/testsuite/g++.dg/cpp1z/pr79143.C
index baeaa4899f6..ef8c1f6bdde 100644
--- a/gcc/testsuite/g++.dg/cpp1z/pr79143.C
+++ b/gcc/testsuite/g++.dg/cpp1z/pr79143.C
@@ -1,6 +1,6 @@
// PR c++/79143
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
struct base {
base (int, int) {}
diff --git a/gcc/testsuite/g++.dg/cpp1z/range-for1.C b/gcc/testsuite/g++.dg/cpp1z/range-for1.C
index 36e2d029553..fc134b80fbc 100644
--- a/gcc/testsuite/g++.dg/cpp1z/range-for1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/range-for1.C
@@ -1,5 +1,5 @@
// P0184R0: Generalizing the Range-Based For Loop
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
struct A {
int ar[4];
diff --git a/gcc/testsuite/g++.dg/cpp1z/register1.C b/gcc/testsuite/g++.dg/cpp1z/register1.C
index a55a717d58d..44071bd7539 100644
--- a/gcc/testsuite/g++.dg/cpp1z/register1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/register1.C
@@ -7,22 +7,22 @@
#endif
#ifdef REG1
-register int a __asm (REG1); // { dg-bogus "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+register int a __asm (REG1); // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
#endif
-register int b; // { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+register int b; // { dg-error "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
register int c (); // { dg-error "storage class 'register' invalid for function" }
-int foo (register int d) // { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+int foo (register int d) // { dg-error "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
{
return d;
}
int bar ()
{
#ifdef REG2
- register int e __asm (REG2); // { dg-bogus "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+ register int e __asm (REG2); // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
#else
int e;
#endif
- register int f; // { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+ register int f; // { dg-error "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
e = 6;
f = 7;
return e + f;
diff --git a/gcc/testsuite/g++.dg/cpp1z/register2.C b/gcc/testsuite/g++.dg/cpp1z/register2.C
index 1c1be5e43bf..5d7c9f63c30 100644
--- a/gcc/testsuite/g++.dg/cpp1z/register2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/register2.C
@@ -8,22 +8,22 @@
#endif
#ifdef REG1
-register int a __asm (REG1); // { dg-bogus "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+register int a __asm (REG1); // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
#endif
-register int b; // { dg-bogus "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+register int b; // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
register int c (); // { dg-error "storage class 'register' invalid for function" }
-int foo (register int d) // { dg-bogus "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+int foo (register int d) // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
{
return d;
}
int bar ()
{
#ifdef REG2
- register int e __asm (REG2); // { dg-bogus "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+ register int e __asm (REG2); // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
#else
int e;
#endif
- register int f; // { dg-bogus "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+ register int f; // { dg-bogus "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
e = 6;
f = 7;
return e + f;
diff --git a/gcc/testsuite/g++.dg/cpp1z/regress1.C b/gcc/testsuite/g++.dg/cpp1z/regress1.C
index bbcca083ede..2bebed02b1a 100644
--- a/gcc/testsuite/g++.dg/cpp1z/regress1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/regress1.C
@@ -1,5 +1,5 @@
// PR c++/67114
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
typedef unsigned uint32_t;
class A {
diff --git a/gcc/testsuite/g++.dg/cpp1z/regress2.C b/gcc/testsuite/g++.dg/cpp1z/regress2.C
index d9bf0daa7dd..3950dbf3a26 100644
--- a/gcc/testsuite/g++.dg/cpp1z/regress2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/regress2.C
@@ -1,5 +1,5 @@
// PR c++/67142
-// { dg-options -std=c++1z }
+// { dg-options -std=c++17 }
namespace detail {
template <int> int split_at;
diff --git a/gcc/testsuite/g++.dg/cpp1z/static_assert-nomsg.C b/gcc/testsuite/g++.dg/cpp1z/static_assert-nomsg.C
index 8a2054e2d6b..4b265b6716e 100644
--- a/gcc/testsuite/g++.dg/cpp1z/static_assert-nomsg.C
+++ b/gcc/testsuite/g++.dg/cpp1z/static_assert-nomsg.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
template<typename T>
struct is_float
diff --git a/gcc/testsuite/g++.dg/cpp1z/udlit-utf8char.C b/gcc/testsuite/g++.dg/cpp1z/udlit-utf8char.C
index fb9cdf18fd2..6ab57463203 100644
--- a/gcc/testsuite/g++.dg/cpp1z/udlit-utf8char.C
+++ b/gcc/testsuite/g++.dg/cpp1z/udlit-utf8char.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
constexpr int
operator""_foo(char c)
diff --git a/gcc/testsuite/g++.dg/cpp1z/utf8-2.C b/gcc/testsuite/g++.dg/cpp1z/utf8-2.C
index 152762f6d5a..da2e83f5f0b 100644
--- a/gcc/testsuite/g++.dg/cpp1z/utf8-2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/utf8-2.C
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#ifndef __cpp_unicode_characters
#error __cpp_unicode_characters not defined
diff --git a/gcc/testsuite/g++.dg/cpp1z/utf8-2a.C b/gcc/testsuite/g++.dg/cpp1z/utf8-2a.C
index 9985cd04140..0e243d68a75 100644
--- a/gcc/testsuite/g++.dg/cpp1z/utf8-2a.C
+++ b/gcc/testsuite/g++.dg/cpp1z/utf8-2a.C
@@ -1,4 +1,4 @@
-// This macro should not be 201411 without -std=c++1z.
+// This macro should not be 201411 without -std=c++17.
#if __cpp_unicode_characters == 201411
#error Wrong value for __cpp_unicode_characters
diff --git a/gcc/testsuite/g++.dg/cpp1z/utf8-neg.C b/gcc/testsuite/g++.dg/cpp1z/utf8-neg.C
index 339f0e3c029..cb9f7b55084 100644
--- a/gcc/testsuite/g++.dg/cpp1z/utf8-neg.C
+++ b/gcc/testsuite/g++.dg/cpp1z/utf8-neg.C
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-std=c++1z" } */
+/* { dg-options "-std=c++17" } */
const static char c0 = u8''; // { dg-error "empty character" }
const static char c1 = u8'ab'; // { dg-warning "multi-character character constant" }
diff --git a/gcc/testsuite/g++.dg/cpp1z/utf8.C b/gcc/testsuite/g++.dg/cpp1z/utf8.C
index 52816f85918..ff98b58835c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/utf8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/utf8.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-std=c++1z" }
+// { dg-options "-std=c++17" }
#include <cassert>
#include <experimental/type_traits>
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-1.C b/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-1.C
index f4f4b6d77d1..6a12d6c0ee7 100644
--- a/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-1.C
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-1.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-O -std=c++1z -g -dA -gno-strict-dwarf" }
+// { dg-options "-O -std=c++17 -g -dA -gno-strict-dwarf" }
// { dg-require-weak "" }
// { dg-final { scan-assembler-times "0x3\[^\n\r]* DW_AT_inline" 6 { xfail *-*-aix* } } }
// { dg-final { scan-assembler-times "0x1\[^\n\r]* DW_AT_inline" 2 { xfail *-*-aix* } } }
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-2.C b/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-2.C
index d04bbd6a9c1..ed00fb5d2c9 100644
--- a/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-2.C
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/inline-var-2.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-O -std=c++1z -gdwarf-5 -dA -gno-strict-dwarf" }
+// { dg-options "-O -std=c++17 -gdwarf-5 -dA -gno-strict-dwarf" }
// { dg-require-weak "" }
// { dg-final { scan-assembler-not "DW_TAG_member" { xfail *-*-aix* } } }
diff --git a/gcc/testsuite/g++.dg/eh/async-unwind2.C b/gcc/testsuite/g++.dg/eh/async-unwind2.C
index 0f84901fb6e..70d38712a03 100644
--- a/gcc/testsuite/g++.dg/eh/async-unwind2.C
+++ b/gcc/testsuite/g++.dg/eh/async-unwind2.C
@@ -89,12 +89,12 @@ struct Z;
X <V> baz1 (const S &)
#if __cplusplus <= 201402L
-throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
X <Z> baz2 (const X <Z> &)
#if __cplusplus <= 201402L
-throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
@@ -122,7 +122,7 @@ template <typename T> T *X<T>::operator -> () const
X <V> baz1 (const S &)
#if __cplusplus <= 201402L
-throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
return X<V> ();
@@ -138,7 +138,7 @@ E::~E ()
X <Z> baz2 (const X <Z> &)
#if __cplusplus <= 201402L
-throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
throw E ();
diff --git a/gcc/testsuite/g++.dg/eh/cond4.C b/gcc/testsuite/g++.dg/eh/cond4.C
index 17e9149b975..68fb65c7c2a 100644
--- a/gcc/testsuite/g++.dg/eh/cond4.C
+++ b/gcc/testsuite/g++.dg/eh/cond4.C
@@ -14,7 +14,7 @@ struct A {
A(int) { }
~A()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
diff --git a/gcc/testsuite/g++.dg/eh/delete1.C b/gcc/testsuite/g++.dg/eh/delete1.C
index 46b5307e0b4..1727a74ff36 100644
--- a/gcc/testsuite/g++.dg/eh/delete1.C
+++ b/gcc/testsuite/g++.dg/eh/delete1.C
@@ -14,7 +14,7 @@ void operator delete (void *) throw ()
struct Foo {
~Foo()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
@@ -28,7 +28,7 @@ struct Baz {
}
virtual ~Baz()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
diff --git a/gcc/testsuite/g++.dg/eh/ehopt1.C b/gcc/testsuite/g++.dg/eh/ehopt1.C
index 852d324cd9f..9e713ac9781 100644
--- a/gcc/testsuite/g++.dg/eh/ehopt1.C
+++ b/gcc/testsuite/g++.dg/eh/ehopt1.C
@@ -17,7 +17,7 @@ public:
A(const A&) { ++count; if (b) throw 1; }
~A()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
@@ -34,7 +34,7 @@ public:
A(const B&) { if (b) throw 1; }
~A()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
diff --git a/gcc/testsuite/g++.dg/eh/forced4.C b/gcc/testsuite/g++.dg/eh/forced4.C
index 96408d2592f..519d8ca32bf 100644
--- a/gcc/testsuite/g++.dg/eh/forced4.C
+++ b/gcc/testsuite/g++.dg/eh/forced4.C
@@ -40,7 +40,7 @@ force_unwind ()
static void
doit ()
#if __cplusplus <= 201402L
-throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
force_unwind ();
diff --git a/gcc/testsuite/g++.dg/eh/init-temp2.C b/gcc/testsuite/g++.dg/eh/init-temp2.C
index 127883ae197..8db0ace13a3 100644
--- a/gcc/testsuite/g++.dg/eh/init-temp2.C
+++ b/gcc/testsuite/g++.dg/eh/init-temp2.C
@@ -10,7 +10,7 @@ public:
~AutoPtr()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
@@ -22,7 +22,7 @@ struct A
A() { }
~A()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
@@ -33,7 +33,7 @@ struct B
{
virtual ~B()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
diff --git a/gcc/testsuite/g++.dg/eh/pr38662.C b/gcc/testsuite/g++.dg/eh/pr38662.C
index be3adbbd97d..4a554aa716b 100644
--- a/gcc/testsuite/g++.dg/eh/pr38662.C
+++ b/gcc/testsuite/g++.dg/eh/pr38662.C
@@ -4,7 +4,7 @@ class E { };
class T {
int foo(bool a)
#if __cplusplus <= 201402L
- throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
__attribute__((regparm(1)));
int bar(bool b) __attribute__((regparm(1)));
diff --git a/gcc/testsuite/g++.dg/eh/pr41819.C b/gcc/testsuite/g++.dg/eh/pr41819.C
index 61c65729c9d..adafb324c7f 100644
--- a/gcc/testsuite/g++.dg/eh/pr41819.C
+++ b/gcc/testsuite/g++.dg/eh/pr41819.C
@@ -17,7 +17,7 @@ void f1()
void f2()
#if __cplusplus <= 201402L
-throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
bar();
diff --git a/gcc/testsuite/g++.dg/eh/shadow1.C b/gcc/testsuite/g++.dg/eh/shadow1.C
index b96f65a92bb..f0de449564e 100644
--- a/gcc/testsuite/g++.dg/eh/shadow1.C
+++ b/gcc/testsuite/g++.dg/eh/shadow1.C
@@ -13,14 +13,14 @@ struct D : private B
friend class E;
static B *baz (D *);
- virtual void V () throw (B); // { dg-error "overriding" "" { target { ! c++1z } } }
-}; // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
+ virtual void V () throw (B); // { dg-error "overriding" "" { target { ! c++17 } } }
+}; // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
struct E : public D
{
- virtual void V () throw (D); // { dg-error "looser throw" "" { target { ! c++1z } } }
-}; // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
+ virtual void V () throw (D); // { dg-error "looser throw" "" { target { ! c++17 } } }
+}; // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
B* foo (D *);
B *D::baz (D *p)
diff --git a/gcc/testsuite/g++.dg/eh/spec2.C b/gcc/testsuite/g++.dg/eh/spec2.C
index 0f512640fd3..2cca82a227f 100644
--- a/gcc/testsuite/g++.dg/eh/spec2.C
+++ b/gcc/testsuite/g++.dg/eh/spec2.C
@@ -3,15 +3,15 @@
struct S { void f (void); };
typedef void f1 (void) throw (int); // { dg-error "exception" "" { target c++14_down } }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
typedef void (*f2) (void) throw (int); // { dg-error "exception" "" { target c++14_down } }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
typedef void (S::*f3) (void) throw (int); // { dg-error "exception" "" { target c++14_down } }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
-void (*f4) (void) throw (int); // { dg-error "dynamic exception specification" "" { target c++1z } }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-1 }
-void (S::*f5) (void) throw (int); // { dg-error "dynamic exception specification" "" { target c++1z } }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-1 }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
+void (*f4) (void) throw (int); // { dg-error "dynamic exception specification" "" { target c++17 } }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-1 }
+void (S::*f5) (void) throw (int); // { dg-error "dynamic exception specification" "" { target c++17 } }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-1 }
diff --git a/gcc/testsuite/g++.dg/eh/spec3.C b/gcc/testsuite/g++.dg/eh/spec3.C
index 49bbdc39427..5d178b816c8 100644
--- a/gcc/testsuite/g++.dg/eh/spec3.C
+++ b/gcc/testsuite/g++.dg/eh/spec3.C
@@ -14,7 +14,7 @@ struct B {};
void func()
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
throw A();
diff --git a/gcc/testsuite/g++.dg/eh/spec7.C b/gcc/testsuite/g++.dg/eh/spec7.C
index 37efedcc34c..8a1683dbc9d 100644
--- a/gcc/testsuite/g++.dg/eh/spec7.C
+++ b/gcc/testsuite/g++.dg/eh/spec7.C
@@ -21,7 +21,7 @@ struct D : public B {
struct Raiser {
Raiser()
#if __cplusplus <= 201402L
- throw( int ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw( int ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{throw 1;};
} raiser;
diff --git a/gcc/testsuite/g++.dg/eh/spec8.C b/gcc/testsuite/g++.dg/eh/spec8.C
index 8967e8c4edd..da8ed93c174 100644
--- a/gcc/testsuite/g++.dg/eh/spec8.C
+++ b/gcc/testsuite/g++.dg/eh/spec8.C
@@ -4,7 +4,7 @@
struct exception {};
template <typename T> void foo() throw(exception); // { dg-message "declaration" }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-1 }
template <typename T> void foo(); // { dg-error "exception" }
struct bar
diff --git a/gcc/testsuite/g++.dg/eh/spec9.C b/gcc/testsuite/g++.dg/eh/spec9.C
index cceb98f5585..84d95fcc036 100644
--- a/gcc/testsuite/g++.dg/eh/spec9.C
+++ b/gcc/testsuite/g++.dg/eh/spec9.C
@@ -6,7 +6,7 @@ IntArray i;
void test_array()
#if __cplusplus <= 201402L
-throw (IntArray) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (IntArray) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
throw i;
diff --git a/gcc/testsuite/g++.dg/eh/template1.C b/gcc/testsuite/g++.dg/eh/template1.C
index fb471b2ac83..b4de8d6809e 100644
--- a/gcc/testsuite/g++.dg/eh/template1.C
+++ b/gcc/testsuite/g++.dg/eh/template1.C
@@ -19,7 +19,7 @@ struct C
typedef typename D::E E;
void f()
#if __cplusplus <= 201402L
- throw(E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{ throw E(); }
};
diff --git a/gcc/testsuite/g++.dg/expr/bitfield4.C b/gcc/testsuite/g++.dg/expr/bitfield4.C
index 3bb9d2b6a9d..2b1d1fee945 100644
--- a/gcc/testsuite/g++.dg/expr/bitfield4.C
+++ b/gcc/testsuite/g++.dg/expr/bitfield4.C
@@ -14,8 +14,8 @@ template <>
void f(bool) {}
int main() {
- f(s.x++); // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
- f(++s.x); // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ f(s.x++); // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
+ f(++s.x); // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
}
diff --git a/gcc/testsuite/g++.dg/expr/bitfield5.C b/gcc/testsuite/g++.dg/expr/bitfield5.C
index 6effd0a7738..9565828f698 100644
--- a/gcc/testsuite/g++.dg/expr/bitfield5.C
+++ b/gcc/testsuite/g++.dg/expr/bitfield5.C
@@ -8,12 +8,12 @@ struct S {
S s;
int main() {
- s.x++; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ s.x++; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
if (s.x != 1)
return 1;
- ++s.x; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ ++s.x; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
if (s.x != 1)
return 2;
}
diff --git a/gcc/testsuite/g++.dg/expr/bitfield6.C b/gcc/testsuite/g++.dg/expr/bitfield6.C
index 263164fe7a2..b417310e2cf 100644
--- a/gcc/testsuite/g++.dg/expr/bitfield6.C
+++ b/gcc/testsuite/g++.dg/expr/bitfield6.C
@@ -7,6 +7,6 @@ struct S {
S s;
void f() {
- ++s.x = false; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ ++s.x = false; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
}
diff --git a/gcc/testsuite/g++.dg/expr/bool1.C b/gcc/testsuite/g++.dg/expr/bool1.C
index ba2df1d5642..98984d631c5 100644
--- a/gcc/testsuite/g++.dg/expr/bool1.C
+++ b/gcc/testsuite/g++.dg/expr/bool1.C
@@ -10,10 +10,10 @@ int main()
my_bool b = false;
int i;
- b++; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
- b++; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ b++; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
+ b++; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
i = b;
if (i != 1)
abort ();
diff --git a/gcc/testsuite/g++.dg/expr/bool3.C b/gcc/testsuite/g++.dg/expr/bool3.C
index d7bb7735714..bff4b7bb86f 100644
--- a/gcc/testsuite/g++.dg/expr/bool3.C
+++ b/gcc/testsuite/g++.dg/expr/bool3.C
@@ -10,10 +10,10 @@ int main()
my_bool b = false;
int i;
- b++; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
- b++; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ b++; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
+ b++; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
i = b;
if (i != 1)
abort ();
diff --git a/gcc/testsuite/g++.dg/expr/lval3.C b/gcc/testsuite/g++.dg/expr/lval3.C
index ffbbe3121ab..fd79c8c8a39 100644
--- a/gcc/testsuite/g++.dg/expr/lval3.C
+++ b/gcc/testsuite/g++.dg/expr/lval3.C
@@ -4,5 +4,5 @@ f()
{
bool i = 0;
i++ = 3; // { dg-error "" }
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
}
diff --git a/gcc/testsuite/g++.dg/expr/lval4.C b/gcc/testsuite/g++.dg/expr/lval4.C
index e731c2039f3..2f24687536d 100644
--- a/gcc/testsuite/g++.dg/expr/lval4.C
+++ b/gcc/testsuite/g++.dg/expr/lval4.C
@@ -4,6 +4,6 @@ f()
{
bool i = 0;
++i = 3;
- // { dg-warning "deprecated" "" { target { ! c++1z } } .-1 }
- // { dg-error "forbidden" "" { target c++1z } .-2 }
+ // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 }
+ // { dg-error "forbidden" "" { target c++17 } .-2 }
}
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C b/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C
index d84a81ca438..36b93d81183 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C
@@ -18,7 +18,7 @@ struct C
#if __cplusplus > 201402L
#define THROW_INT
#else
-#define THROW_INT throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+#define THROW_INT throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
struct D
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C
index d69b312a3a8..03304452f8c 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C
@@ -15,7 +15,7 @@ struct B
#if __cplusplus > 201402L
#define THROW_INT
#else
-#define THROW_INT throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+#define THROW_INT throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
struct C
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C
index 0e5a9de46f9..04f681f602a 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C
@@ -18,7 +18,7 @@ struct C
#if __cplusplus > 201402L
#define THROW_INT
#else
-#define THROW_INT throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+#define THROW_INT throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
struct D
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C
index f15c417c2f9..901d2110748 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C
@@ -5,7 +5,7 @@
struct A {
template <class T> A (T)
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
@@ -13,7 +13,7 @@ struct B {
B (B&) throw ();
template <class T> B (T)
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C
index 4c63b963f7c..63e67331ec8 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C
@@ -6,7 +6,7 @@ struct S {
S (const S&) throw ();
S (...)
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C
index 768c9af84c0..e92801d61bf 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C
@@ -6,7 +6,7 @@ struct S {
S (const S&) throw ();
S (int)
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C
index 27f4c0ad63b..c4e0a5ce7ba 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C
@@ -5,7 +5,7 @@ struct S {
S (S&) throw ();
S (const S&, int)
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C
index ac2dd8c13af..076f8a31ff6 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C
@@ -5,7 +5,7 @@ struct S {
S (const S&) throw ();
S (S&&)
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { ! c++1z } } }
+ throw (int) // { dg-warning "deprecated" "" { target { ! c++17 } } }
#endif
;
};
diff --git a/gcc/testsuite/g++.dg/gcov/gcov-7.C b/gcc/testsuite/g++.dg/gcov/gcov-7.C
index bbc0f1046b5..334db1837c8 100644
--- a/gcc/testsuite/g++.dg/gcov/gcov-7.C
+++ b/gcc/testsuite/g++.dg/gcov/gcov-7.C
@@ -9,7 +9,7 @@ struct foo
{
foo ()
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{ /* count (-) */
throw (1);
diff --git a/gcc/testsuite/g++.dg/init/new13.C b/gcc/testsuite/g++.dg/init/new13.C
index 832942e74af..5a87b7ce7d2 100644
--- a/gcc/testsuite/g++.dg/init/new13.C
+++ b/gcc/testsuite/g++.dg/init/new13.C
@@ -6,6 +6,6 @@
struct A
{
void* operator new(__SIZE_TYPE__) throw(X); // { dg-error "expected|type" }
-}; // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
+}; // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
A* p = new A;
diff --git a/gcc/testsuite/g++.dg/init/new25.C b/gcc/testsuite/g++.dg/init/new25.C
index 754ac92ff4a..3abd2f7aba0 100644
--- a/gcc/testsuite/g++.dg/init/new25.C
+++ b/gcc/testsuite/g++.dg/init/new25.C
@@ -5,11 +5,11 @@ class C
{
public:
void* operator new(std::size_t = 32) throw (std::bad_alloc); // { dg-error "first parameter" }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
void* operator new[](std::size_t = 32) throw (std::bad_alloc); // { dg-error "first parameter" }
- // { dg-error "dynamic exception specification" "" { target c++1z } .-1 }
- // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-2 }
+ // { dg-error "dynamic exception specification" "" { target c++17 } .-1 }
+ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-2 }
void* operator new(std::size_t = 32, const std::nothrow_t&) throw(); // { dg-error "first parameter" }
void* operator new[](std::size_t = 32, const std::nothrow_t&) throw(); // { dg-error "first parameter" }
};
diff --git a/gcc/testsuite/g++.dg/lookup/exception1.C b/gcc/testsuite/g++.dg/lookup/exception1.C
index 00ef817ecc9..60c223fd53b 100644
--- a/gcc/testsuite/g++.dg/lookup/exception1.C
+++ b/gcc/testsuite/g++.dg/lookup/exception1.C
@@ -13,12 +13,12 @@ namespace ns
public:
inline Test()
#if __cplusplus <= 201402L
- throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
inline Test(int n )
#if __cplusplus <= 201402L
- throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
private:
@@ -30,7 +30,7 @@ namespace ns
// right scope.
ns::Test::Test()
#if __cplusplus <= 201402L
-throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
: i( 1 )
{
@@ -38,7 +38,7 @@ throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c+
ns::Test::Test( int n )
#if __cplusplus <= 201402L
-throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw( Exception ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
: i( n )
{
diff --git a/gcc/testsuite/g++.dg/opt/noreturn-1.C b/gcc/testsuite/g++.dg/opt/noreturn-1.C
index 8fe2db0d3e3..476fb27c62f 100644
--- a/gcc/testsuite/g++.dg/opt/noreturn-1.C
+++ b/gcc/testsuite/g++.dg/opt/noreturn-1.C
@@ -60,17 +60,17 @@ struct Egeneric {
struct infinint {
void detruit()
#if __cplusplus <= 201402L
- throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
template<class T> void infinint_from(T a)
#if __cplusplus <= 201402L
- throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
infinint(long a = 0)
#if __cplusplus <= 201402L
- throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
try {
@@ -81,7 +81,7 @@ struct infinint {
}
~infinint()
#if __cplusplus <= 201402L
- throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(Egeneric) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
diff --git a/gcc/testsuite/g++.dg/other/error3.C b/gcc/testsuite/g++.dg/other/error3.C
index dfe9734eaff..f781c2ba514 100644
--- a/gcc/testsuite/g++.dg/other/error3.C
+++ b/gcc/testsuite/g++.dg/other/error3.C
@@ -1,6 +1,6 @@
// Test for proper error message formatting; the throw() should go inside
// the parens, as below.
-void (*g() throw())(); // { dg-message "g\\(\\) throw" "" { target { ! c++1z } } }
- // { dg-message "g\\(\\) noexcept" "" { target c++1z } .-1 }
+void (*g() throw())(); // { dg-message "g\\(\\) throw" "" { target { ! c++17 } } }
+ // { dg-message "g\\(\\) noexcept" "" { target c++17 } .-1 }
void (*g())(); // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/error15.C b/gcc/testsuite/g++.dg/parse/error15.C
index c32b5d421ff..a6853940d6f 100644
--- a/gcc/testsuite/g++.dg/parse/error15.C
+++ b/gcc/testsuite/g++.dg/parse/error15.C
@@ -11,7 +11,7 @@ namespace N
}
N::A f2; // { dg-error "1:invalid use of template-name 'N::A' without an argument list" "" { target c++14_down } }
- // { dg-error "deduction|no match" "" { target c++1z } .-1 }
+ // { dg-error "deduction|no match" "" { target c++17 } .-1 }
N::INVALID f3; // { dg-error "4:'INVALID' in namespace 'N' does not name a type" }
N::C::INVALID f4; // { dg-error "7:'INVALID' in 'struct N::C' does not name a type" }
N::K f6; // { dg-error "4:'K' in namespace 'N' does not name a type" }
diff --git a/gcc/testsuite/g++.dg/parse/linkage2.C b/gcc/testsuite/g++.dg/parse/linkage2.C
index 71402bbca40..418b8f1a771 100644
--- a/gcc/testsuite/g++.dg/parse/linkage2.C
+++ b/gcc/testsuite/g++.dg/parse/linkage2.C
@@ -1,3 +1,3 @@
// PR c++/27884
-extern "C" void foo(register int *my_perl); // { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+extern "C" void foo(register int *my_perl); // { dg-error "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
diff --git a/gcc/testsuite/g++.dg/parse/register1.C b/gcc/testsuite/g++.dg/parse/register1.C
index 4db85d4f0e1..9787ac92fd8 100644
--- a/gcc/testsuite/g++.dg/parse/register1.C
+++ b/gcc/testsuite/g++.dg/parse/register1.C
@@ -8,7 +8,7 @@ public:
operator int() { return i; }
};
-C f (register C x) // { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+C f (register C x) // { dg-error "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
{
return x + 31;
}
diff --git a/gcc/testsuite/g++.dg/rtti/crash3.C b/gcc/testsuite/g++.dg/rtti/crash3.C
index 111d3b3965f..804aa326d97 100644
--- a/gcc/testsuite/g++.dg/rtti/crash3.C
+++ b/gcc/testsuite/g++.dg/rtti/crash3.C
@@ -7,7 +7,7 @@ class C : public A, public B {};
class D : public C {};
void f ()
#if __cplusplus <= 201402L
-throw (D) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (D) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
}
diff --git a/gcc/testsuite/g++.dg/template/nontype8.C b/gcc/testsuite/g++.dg/template/nontype8.C
index d31f8923d5c..86d39f3744d 100644
--- a/gcc/testsuite/g++.dg/template/nontype8.C
+++ b/gcc/testsuite/g++.dg/template/nontype8.C
@@ -8,6 +8,6 @@ struct S { int m; static int s; } s;
X<&a[2]> x3; // { dg-error "" } address of array element
X<&s.m> x4; // { dg-error "" } address of non-static member
-X<&s.s> x5; // { dg-error "" "" { target { ! c++1z } } } &S::s must be used
+X<&s.s> x5; // { dg-error "" "" { target { ! c++17 } } } &S::s must be used
X<&S::s> x6; // OK: address of static member
diff --git a/gcc/testsuite/g++.dg/template/partial5.C b/gcc/testsuite/g++.dg/template/partial5.C
index ee45a936a0c..464408e4a66 100644
--- a/gcc/testsuite/g++.dg/template/partial5.C
+++ b/gcc/testsuite/g++.dg/template/partial5.C
@@ -14,7 +14,7 @@ template<typename T, typename T::foo V>
struct Y { };
template<typename T, typename U, U v>
-struct Y<T, v> { }; // { dg-error "" "" { target { ! c++1z } } }
+struct Y<T, v> { }; // { dg-error "" "" { target { ! c++17 } } }
template<typename T, T V>
diff --git a/gcc/testsuite/g++.dg/tls/diag-2.C b/gcc/testsuite/g++.dg/tls/diag-2.C
index cc46245c1a3..f76763f3431 100644
--- a/gcc/testsuite/g++.dg/tls/diag-2.C
+++ b/gcc/testsuite/g++.dg/tls/diag-2.C
@@ -12,7 +12,7 @@ void foo()
auto __thread int l2; /* { dg-error "multiple storage classes|data types" } */
__thread extern int l3; /* { dg-error "'__thread' before 'extern'" } */
register __thread int l4; /* { dg-error "multiple storage classes" } */
-} /* { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } .-1 } */
+} /* { dg-error "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } .-1 } */
__thread void f1 (); /* { dg-error "invalid for function" } */
extern __thread void f2 (); /* { dg-error "invalid for function" } */
diff --git a/gcc/testsuite/g++.dg/tls/diag-4.C b/gcc/testsuite/g++.dg/tls/diag-4.C
index 35440b9114f..56f185e312c 100644
--- a/gcc/testsuite/g++.dg/tls/diag-4.C
+++ b/gcc/testsuite/g++.dg/tls/diag-4.C
@@ -7,4 +7,4 @@ void foo()
{
__thread auto int l2; /* { dg-error "multiple storage classes|data types" } */
__thread register int l4; /* { dg-error "multiple storage classes" } */
-} /* { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } .-1 } */
+} /* { dg-error "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } .-1 } */
diff --git a/gcc/testsuite/g++.dg/tm/pr46567.C b/gcc/testsuite/g++.dg/tm/pr46567.C
index 448c92cd0a2..6d791484448 100644
--- a/gcc/testsuite/g++.dg/tm/pr46567.C
+++ b/gcc/testsuite/g++.dg/tm/pr46567.C
@@ -1669,12 +1669,12 @@ namespace std
}
void* operator new(std::size_t)
#if __cplusplus <= 201402L
-throw (std::bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (std::bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
void* operator new[](std::size_t)
#if __cplusplus <= 201402L
-throw (std::bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (std::bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
void operator delete(void*) throw();
diff --git a/gcc/testsuite/g++.dg/tm/pr47340.C b/gcc/testsuite/g++.dg/tm/pr47340.C
index e5075e2c251..c098138f8b4 100644
--- a/gcc/testsuite/g++.dg/tm/pr47340.C
+++ b/gcc/testsuite/g++.dg/tm/pr47340.C
@@ -3,7 +3,7 @@
void* operator new(__SIZE_TYPE__)
#if __cplusplus <= 201402L
-throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
diff --git a/gcc/testsuite/g++.dg/torture/pr46364.C b/gcc/testsuite/g++.dg/torture/pr46364.C
index 0160e9a24d5..40fd2f0760f 100644
--- a/gcc/testsuite/g++.dg/torture/pr46364.C
+++ b/gcc/testsuite/g++.dg/torture/pr46364.C
@@ -3,7 +3,7 @@
void a()
#if __cplusplus <= 201402L
-throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
void b(std::string const &);
diff --git a/gcc/testsuite/g++.dg/torture/pr49394.C b/gcc/testsuite/g++.dg/torture/pr49394.C
index cd8cac33c3b..7bd8fd4dc72 100644
--- a/gcc/testsuite/g++.dg/torture/pr49394.C
+++ b/gcc/testsuite/g++.dg/torture/pr49394.C
@@ -6,7 +6,7 @@ struct Mutex
bool locked;
~Mutex ()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
if (locked)
diff --git a/gcc/testsuite/g++.dg/torture/pr52918-1.C b/gcc/testsuite/g++.dg/torture/pr52918-1.C
index cb95048237b..52bc06e114f 100644
--- a/gcc/testsuite/g++.dg/torture/pr52918-1.C
+++ b/gcc/testsuite/g++.dg/torture/pr52918-1.C
@@ -23,13 +23,13 @@ class free_list {
__mutex_type& _M_get_mutex();
void _M_get(size_t __sz)
#if __cplusplus <= 201402L
- throw(bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
void free_list::_M_get(size_t __sz)
#if __cplusplus <= 201402L
-throw(bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(bad_alloc) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
__mutex_type& __bfl_mutex = _M_get_mutex();
diff --git a/gcc/testsuite/g++.dg/torture/pr57190.C b/gcc/testsuite/g++.dg/torture/pr57190.C
index f3b7ecc1d99..96c73018b6b 100644
--- a/gcc/testsuite/g++.dg/torture/pr57190.C
+++ b/gcc/testsuite/g++.dg/torture/pr57190.C
@@ -21,7 +21,7 @@ class UIException {
class PasswordDialog {
void run()
#if __cplusplus <= 201402L
- throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
@@ -29,12 +29,12 @@ class MessageBox {
public:
MessageBox (std::string t)
#if __cplusplus <= 201402L
- throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
virtual int run()
#if __cplusplus <= 201402L
- throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
@@ -47,7 +47,7 @@ extern "C" {
sigjmp_buf password_dialog_sig_jmp_buf;
void PasswordDialog::run()
#if __cplusplus <= 201402L
-throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (UIException) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
__sigsetjmp (password_dialog_sig_jmp_buf, 1);
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C
index ea181ae7519..02693c04d4b 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C
@@ -29,7 +29,7 @@ struct B {};
void
foo (int size)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
char *p = (char*) __builtin_alloca (size + 1);
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C
index 165e7cca14d..c1db101db59 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C
@@ -23,7 +23,7 @@ __attribute__ ((fastcall))
void
foo (int j, int k, int m, int n, int o)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
aligned i;
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-global-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-global-1.C
index 609c0c95394..72dd57ff5c7 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-global-1.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-global-1.C
@@ -23,7 +23,7 @@ struct B {};
void
foo (void)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
aligned i;
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-1.C
index b56f7c8ff40..1828fc9b7e6 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-1.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-1.C
@@ -24,7 +24,7 @@ static void
inline __attribute__((always_inline))
foo (void)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
aligned i;
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C
index b535f1c2f0a..e630f338c54 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C
@@ -30,7 +30,7 @@ static void
inline __attribute__((always_inline))
foo (int size)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
char *p = (char *) __builtin_alloca (size + 1);
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C
index 44f562aae13..48c80d036b7 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C
@@ -23,7 +23,7 @@ __attribute__ ((thiscall))
void
foo (int j, int k, int m, int n, int o)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
aligned i;
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C
index 61da41035ed..efee8bb9e95 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C
@@ -30,7 +30,7 @@ struct B {};
void
foo (const char *fmt, ...)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
va_list arg;
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C
index 8a5f02916be..d324383e263 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C
+++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C
@@ -31,7 +31,7 @@ struct B {};
void
test (va_list arg)
#if __cplusplus <= 201402L
-throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
char *p;
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr45605.C b/gcc/testsuite/g++.dg/tree-ssa/pr45605.C
index 1a34249eb2a..fc4d43b0162 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr45605.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr45605.C
@@ -17,7 +17,7 @@ struct D : public B {
struct Raiser {
Raiser()
#if __cplusplus <= 201402L
- throw( int ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw( int ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{throw 1;};
} raiser;
diff --git a/gcc/testsuite/g++.dg/ubsan/pr79589.C b/gcc/testsuite/g++.dg/ubsan/pr79589.C
index 1c6d8635863..4b72bc8b9ba 100644
--- a/gcc/testsuite/g++.dg/ubsan/pr79589.C
+++ b/gcc/testsuite/g++.dg/ubsan/pr79589.C
@@ -1,6 +1,6 @@
// PR sanitizer/79589
// { dg-do compile }
-// { dg-options "-fsanitize=undefined -std=c++1z" }
+// { dg-options "-fsanitize=undefined -std=c++17" }
struct A { char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r; } a[64];
diff --git a/gcc/testsuite/g++.dg/warn/Wreturn-type-3.C b/gcc/testsuite/g++.dg/warn/Wreturn-type-3.C
index 78a3851550f..590287ae431 100644
--- a/gcc/testsuite/g++.dg/warn/Wreturn-type-3.C
+++ b/gcc/testsuite/g++.dg/warn/Wreturn-type-3.C
@@ -5,7 +5,7 @@ struct E{};
inline int bar()
#if __cplusplus <= 201402L
-throw(E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(E) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
return 0;
diff --git a/gcc/testsuite/g++.dg/warn/register-parm-1.C b/gcc/testsuite/g++.dg/warn/register-parm-1.C
index 15d1aa53f26..8004ab0f8c8 100644
--- a/gcc/testsuite/g++.dg/warn/register-parm-1.C
+++ b/gcc/testsuite/g++.dg/warn/register-parm-1.C
@@ -1,9 +1,9 @@
// PR c++/60955
// { dg-options "-Wextra" }
-unsigned int erroneous_warning(register int a) { // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+unsigned int erroneous_warning(register int a) { // { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
if ((a) & 0xff) return 1; else return 0;
}
-unsigned int no_erroneous_warning(register int a) { // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+unsigned int no_erroneous_warning(register int a) { // { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
if (a & 0xff) return 1; else return 0;
}
diff --git a/gcc/testsuite/g++.dg/warn/register-var-2.C b/gcc/testsuite/g++.dg/warn/register-var-2.C
index d829f8ac7c2..06345fc834a 100644
--- a/gcc/testsuite/g++.dg/warn/register-var-2.C
+++ b/gcc/testsuite/g++.dg/warn/register-var-2.C
@@ -9,6 +9,6 @@ void g(int *);
void f(void)
{
- register int x; /* { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } } */
+ register int x; /* { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } } */
g(&x); /* { dg-warning "address requested for 'x', which is declared 'register'" } */
}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C b/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C
index b660e845d5b..7fd35308dc6 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C
@@ -88,7 +88,7 @@ extern "C" void *realloc (void *p, size_t size)
void fn_throw()
#if __cplusplus <= 201402L
-throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
throw 1;
@@ -96,7 +96,7 @@ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } }
void fn_rethrow()
#if __cplusplus <= 201402L
-throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
try{fn_throw();}
@@ -106,7 +106,7 @@ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } }
void fn_catchthrow()
#if __cplusplus <= 201402L
-throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
try{fn_throw();}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/cleanup2.C b/gcc/testsuite/g++.old-deja/g++.eh/cleanup2.C
index d6445124f88..ced2394826c 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/cleanup2.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/cleanup2.C
@@ -20,7 +20,7 @@ struct X
{
X (int)
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
~X () throw ();
@@ -28,7 +28,7 @@ struct X
X::X (int)
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{printf ("in ctor X %s\n", __PRETTY_FUNCTION__); bad = true;}
X::~X () throw ()
@@ -39,14 +39,14 @@ struct Y : X
{
Y()
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
~Y() throw ();
};
Y::Y()
#if __cplusplus <= 201402L
- throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw (int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
: X(thrower ()) // throws, so X::X is never called
{printf ("in ctor Y%s\n", __PRETTY_FUNCTION__); bad = true;}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/throw1.C b/gcc/testsuite/g++.old-deja/g++.eh/throw1.C
index 3c4813e3f74..3c37c523a40 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/throw1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/throw1.C
@@ -2,7 +2,7 @@
void athrow(const int & e)
#if __cplusplus <= 201402L
-throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
throw e;
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/throw2.C b/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
index b4296ac4501..957c200f8af 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
@@ -6,7 +6,7 @@
void athrow(const ANY & e)
#if __cplusplus <= 201402L
-throw(ANY) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(ANY) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
throw e; // { dg-bogus "" } discarding const
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C b/gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
index c64a5222b84..ad3b2e4f008 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
@@ -2,7 +2,7 @@
template <class T>
void f()
#if __cplusplus <= 201402L
-throw (T) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw (T) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
throw 7;
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C b/gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
index 4fc869d90b8..310ac50fae6 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
@@ -5,7 +5,7 @@
template<class T> struct A {
void X()
#if __cplusplus <= 201402L
- throw(T) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(T) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
@@ -13,6 +13,6 @@ template<class T> struct A {
template<class T>
inline void A<T>::X()
#if __cplusplus <= 201402L
-throw(T) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(T) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{ }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool5.C b/gcc/testsuite/g++.old-deja/g++.jason/bool5.C
index 1ed6d5c3a68..ce57b0c5375 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool5.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/bool5.C
@@ -2,12 +2,12 @@
int main ()
{
bool b = false;
- int i = b++; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ int i = b++; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
if (i != false || b != true)
return 1;
- i = b++; // { dg-warning "deprecated" "" { target { ! c++1z } } }
- // { dg-error "forbidden" "" { target c++1z } .-1 }
+ i = b++; // { dg-warning "deprecated" "" { target { ! c++17 } } }
+ // { dg-error "forbidden" "" { target c++17 } .-1 }
if (i != true || b != true)
return 1;
}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh25.C b/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
index a6ffd3375b5..0ac61981b97 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
@@ -12,7 +12,7 @@ struct A {
A() { }
~A()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#else
noexcept(false)
#endif
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh55.C b/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
index 8b574f57d7b..af43f66b1ba 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
@@ -9,7 +9,7 @@ void my_terminate_handler() {
}
void throw_an_unexpected_exception() throw() {
- throw 1; // { dg-warning "throw will always call terminate" "" { target c++1z } }
+ throw 1; // { dg-warning "throw will always call terminate" "" { target c++17 } }
}
int main() {
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10416.C b/gcc/testsuite/g++.old-deja/g++.mike/p10416.C
index f95056ca6ce..1f3439d925e 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10416.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p10416.C
@@ -7,7 +7,7 @@ class not_ok {
public:
void f()
#if __cplusplus <= 201402L
- throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(int) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{ }
};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash28.C b/gcc/testsuite/g++.old-deja/g++.other/crash28.C
index 5ff84edafef..847f2d53116 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/crash28.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash28.C
@@ -29,13 +29,13 @@ public:
foo();
void x ()
#if __cplusplus <= 201402L
- throw(bar) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw(bar) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
;
};
void foo::x()
#if __cplusplus <= 201402L
-throw(bar) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw(bar) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
if (!b) throw bar (static_cast<::N::X*>(this)); // { dg-error "lambda expressions|expected|invalid" } parse error
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash30.C b/gcc/testsuite/g++.old-deja/g++.other/crash30.C
index 50ecfd9d97f..61ee8e5ae6c 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/crash30.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash30.C
@@ -8,7 +8,7 @@ struct foo
};
void foo::x() throw(bar) // { dg-error "" } parse error
-{ // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } .-1 }
+{ // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } .-1 }
}
void bar()
diff --git a/gcc/testsuite/g++.old-deja/g++.other/new7.C b/gcc/testsuite/g++.old-deja/g++.other/new7.C
index 82eabb6d7d8..56ed376d232 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/new7.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/new7.C
@@ -15,7 +15,7 @@ struct X {
}
void* operator new ( std::size_t n )
#if __cplusplus <= 201402L
- throw ( std::bad_alloc ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+ throw ( std::bad_alloc ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
new_flag = true;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/regstack.C b/gcc/testsuite/g++.old-deja/g++.other/regstack.C
index 90875cfcf5f..dc0b88d994f 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/regstack.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/regstack.C
@@ -3,7 +3,7 @@
inline double foo (double x)
{
- register double r; // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
+ register double r; // { dg-warning "ISO C\\+\\+17 does not allow 'register' storage class specifier" "" { target c++17 } }
asm volatile ("fsqrt" : "=t" (r) : "0" (x));
return r;
}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb123.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb123.C
index b22f4eb54bb..221b38fe447 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb123.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb123.C
@@ -4,7 +4,7 @@
void writeNote()
#if __cplusplus <= 201402L
-throw( int ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++1z } } } }
+throw( int ) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
#endif
{
printf( "hello world\n" );
diff --git a/gcc/testsuite/lib/g++-dg.exp b/gcc/testsuite/lib/g++-dg.exp
index abd27947ccc..7df7fb98fa7 100644
--- a/gcc/testsuite/lib/g++-dg.exp
+++ b/gcc/testsuite/lib/g++-dg.exp
@@ -56,8 +56,8 @@ proc g++-dg-runtest { testcases flags default-extra-flags } {
}
set option_list { }
foreach x $std_list {
- # Handle "concepts" as C++1z plus Concepts TS.
- if { $x eq "concepts" } then { set x "1z -fconcepts" }
+ # Handle "concepts" as C++17 plus Concepts TS.
+ if { $x eq "concepts" } then { set x "17 -fconcepts" }
lappend option_list "${std_prefix}$x"
}
} else {
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 2733c628100..d22948543e2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -7827,13 +7827,13 @@ proc check_effective_target_c++14 { } {
if [check_effective_target_c++14_only] {
return 1
}
- return [check_effective_target_c++1z]
+ return [check_effective_target_c++17]
}
proc check_effective_target_c++14_down { } {
if ![check_effective_target_c++] {
return 0
}
- return [expr ![check_effective_target_c++1z] ]
+ return [expr ![check_effective_target_c++17] ]
}
proc check_effective_target_c++98_only { } {
@@ -7850,7 +7850,7 @@ proc check_effective_target_c++98_only { } {
return 0
}
-proc check_effective_target_c++1z_only { } {
+proc check_effective_target_c++17_only { } {
global cxx_default
if ![check_effective_target_c++] {
return 0
@@ -7863,8 +7863,8 @@ proc check_effective_target_c++1z_only { } {
}
return 0
}
-proc check_effective_target_c++1z { } {
- return [check_effective_target_c++1z_only]
+proc check_effective_target_c++17 { } {
+ return [check_effective_target_c++17_only]
}
# Check for C++ Concepts TS support, i.e. -fconcepts flag.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index cf6f924ac95..3696c76768b 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,11 @@
+2017-09-15 Jakub Jelinek <jakub@redhat.com>
+
+ * 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.
+
2017-07-07 David Malcolm <dmalcolm@redhat.com>
PR c++/79300
diff --git a/libcpp/expr.c b/libcpp/expr.c
index 3eac3768bbd..04675d8faee 100644
--- a/libcpp/expr.c
+++ b/libcpp/expr.c
@@ -636,7 +636,7 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token,
{
if (CPP_OPTION (pfile, cplusplus))
cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0,
- "use of C++1z hexadecimal floating constant");
+ "use of C++17 hexadecimal floating constant");
else
cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0,
"use of C99 hexadecimal floating constant");
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 66ef4d64433..8c81f9d03a0 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -171,7 +171,7 @@ enum cpp_ttype
enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11,
CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_STDC11,
CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11,
- CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX1Z, CLK_CXX1Z, CLK_ASM};
+ CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17, CLK_ASM};
/* Payload of a NUMBER, STRING, CHAR or COMMENT token. */
struct GTY(()) cpp_string {
diff --git a/libcpp/init.c b/libcpp/init.c
index 1477673245a..0148586a5cb 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -108,8 +108,8 @@ static const struct lang_flags lang_defaults[] =
/* CXX11 */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0 },
/* GNUCXX14 */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0 },
/* CXX14 */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 },
- /* GNUCXX1Z */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1 },
- /* CXX1Z */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
+ /* GNUCXX17 */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1 },
+ /* CXX17 */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
/* ASM */ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
@@ -497,8 +497,8 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
if (CPP_OPTION (pfile, cplusplus))
{
- if (CPP_OPTION (pfile, lang) == CLK_CXX1Z
- || CPP_OPTION (pfile, lang) == CLK_GNUCXX1Z)
+ if (CPP_OPTION (pfile, lang) == CLK_CXX17
+ || CPP_OPTION (pfile, lang) == CLK_GNUCXX17)
_cpp_define_builtin (pfile, "__cplusplus 201703L");
else if (CPP_OPTION (pfile, lang) == CLK_CXX14
|| CPP_OPTION (pfile, lang) == CLK_GNUCXX14)
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 36a9744fb4a..2ec2c06ec17 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,120 @@
+2017-09-15 Jakub Jelinek <jakub@redhat.com>
+
+ * 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.
+
2017-09-13 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81468
diff --git a/libstdc++-v3/testsuite/18_support/byte/global_neg.cc b/libstdc++-v3/testsuite/18_support/byte/global_neg.cc
index 722f65860f7..36f679095dc 100644
--- a/libstdc++-v3/testsuite/18_support/byte/global_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/byte/global_neg.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <stddef.h>
diff --git a/libstdc++-v3/testsuite/18_support/byte/ops.cc b/libstdc++-v3/testsuite/18_support/byte/ops.cc
index 6573bd9b1e3..59773cbc8c8 100644
--- a/libstdc++-v3/testsuite/18_support/byte/ops.cc
+++ b/libstdc++-v3/testsuite/18_support/byte/ops.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <cstddef>
diff --git a/libstdc++-v3/testsuite/18_support/byte/requirements.cc b/libstdc++-v3/testsuite/18_support/byte/requirements.cc
index da5fc91a12a..4cb05df0405 100644
--- a/libstdc++-v3/testsuite/18_support/byte/requirements.cc
+++ b/libstdc++-v3/testsuite/18_support/byte/requirements.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <cstddef>
diff --git a/libstdc++-v3/testsuite/18_support/launder/1.cc b/libstdc++-v3/testsuite/18_support/launder/1.cc
index 022e6cf5839..29c1b4ab333 100644
--- a/libstdc++-v3/testsuite/18_support/launder/1.cc
+++ b/libstdc++-v3/testsuite/18_support/launder/1.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <new>
#include <testsuite_hooks.h>
@@ -36,7 +36,7 @@ test01()
void
test02()
{
- // C++1z 1.8 [intro.object]
+ // C++17 1.8 [intro.object]
struct X { const int n; };
union U { X x; float f; };
diff --git a/libstdc++-v3/testsuite/18_support/launder/requirements.cc b/libstdc++-v3/testsuite/18_support/launder/requirements.cc
index 896a0038016..e89deb20094 100644
--- a/libstdc++-v3/testsuite/18_support/launder/requirements.cc
+++ b/libstdc++-v3/testsuite/18_support/launder/requirements.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// NB: This file is for testing new with NO OTHER INCLUDES.
#include <new>
diff --git a/libstdc++-v3/testsuite/18_support/launder/requirements_neg.cc b/libstdc++-v3/testsuite/18_support/launder/requirements_neg.cc
index 38759c061a9..90e1eb63b44 100644
--- a/libstdc++-v3/testsuite/18_support/launder/requirements_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/launder/requirements_neg.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <new>
diff --git a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
index 7dcce563f7f..f315792dc7f 100644
--- a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
+++ b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
@@ -15,7 +15,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
+// { dg-options "-std=gnu++17" }
#include <cassert>
#include <exception>
diff --git a/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc b/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc
index 51f2fa84739..0138f5b7cfa 100644
--- a/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc
index 2721765ea75..438d50afddf 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2011-2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc
index a4346e0accd..a3d4ca61134 100644
--- a/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <functional>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc b/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
index 823e9e0612c..de2a01d61c5 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
@@ -15,7 +15,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
+// { dg-options "-std=gnu++17" }
// { dg-do compile }
#include <functional>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc
index f49fcaa3492..d20334df2b9 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <functional>
diff --git a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc
index 28d2512ecff..278f3d38738 100644
--- a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2016-2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc
index 447343e4c8d..c9fdbe9ca34 100644
--- a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc
@@ -1,5 +1,5 @@
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2016-2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc
index 008d59062ab..8587258a64e 100644
--- a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc
+++ b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc
@@ -1,5 +1,5 @@
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2016-2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc
index 4c189cdc0c3..b10132174da 100644
--- a/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/typedefs.cc
index 4b0358ccc90..5a8a383b2b9 100644
--- a/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/typedefs.cc
@@ -1,5 +1,5 @@
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/is_aggregate/value.cc b/libstdc++-v3/testsuite/20_util/is_aggregate/value.cc
index 6168d9c39c7..1cac59915c6 100644
--- a/libstdc++-v3/testsuite/20_util/is_aggregate/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_aggregate/value.cc
@@ -1,5 +1,5 @@
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/pair/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/pair/cons/deduction.cc
index c8e6fd60591..3831cf2316f 100644
--- a/libstdc++-v3/testsuite/20_util/pair/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/cons/deduction.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc
index c3c79d4b6e6..14049dbe0e3 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2016-2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc
index 88d5a999805..e529bf85c29 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc
@@ -20,7 +20,7 @@
#include <memory>
#include <testsuite_hooks.h>
-// C++1z 20.11.2.2.1 shared_ptr constructors [util.smartptr.shared.const]
+// C++17 20.11.2.2.1 shared_ptr constructors [util.smartptr.shared.const]
template<typename To, typename From>
constexpr bool check()
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc
index ecd0780fbc2..9621185fd40 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <memory>
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc
index 4216f9510e0..59115432782 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc
@@ -25,7 +25,7 @@ struct A
int i = 0;
};
-// C++1z 20.11.2.2.5 shared_ptr observers [util.smartptr.shared.obs]
+// C++17 20.11.2.2.5 shared_ptr observers [util.smartptr.shared.obs]
// get
void
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc
index 663b2c0f7a7..e0ae50b855c 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <memory>
diff --git a/libstdc++-v3/testsuite/20_util/time_point/arithmetic/constexpr.cc b/libstdc++-v3/testsuite/20_util/time_point/arithmetic/constexpr.cc
index 2f2acebccf1..9bf41e0b57d 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/arithmetic/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/arithmetic/constexpr.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/tuple/78939.cc b/libstdc++-v3/testsuite/20_util/tuple/78939.cc
index bab143b387f..552ceb363ec 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/78939.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/78939.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// PR libstdc++/78939
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc
index 47e2488348a..0804d5584e3 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/deduction_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/deduction_neg.cc
index 23aca62caad..dbf27069f9a 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/deduction_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/deduction_neg.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <memory>
diff --git a/libstdc++-v3/testsuite/20_util/variant/deduction.cc b/libstdc++-v3/testsuite/20_util/variant/deduction.cc
index 33bc9d2a40e..1059a52a211 100644
--- a/libstdc++-v3/testsuite/20_util/variant/deduction.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/deduction.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/void_t/1.cc b/libstdc++-v3/testsuite/20_util/void_t/1.cc
index 78a6daa5e65..54bfaa0c35a 100644
--- a/libstdc++-v3/testsuite/20_util/void_t/1.cc
+++ b/libstdc++-v3/testsuite/20_util/void_t/1.cc
@@ -15,7 +15,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
+// { dg-options "-std=gnu++17" }
// { dg-do compile }
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc
index ea384172aca..dedea6e22f4 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <memory>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/79162.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/79162.cc
index 0afbe119d4f..76f1db96e9f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/79162.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/79162.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/9.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/9.cc
index 5ff6988ef7c..f864821a77f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/9.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/9.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <string>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/deduction.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/deduction.cc
index 205714a7f5f..52ab0601a24 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/deduction.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string>
#include <testsuite_iterators.h>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/79162.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/79162.cc
index 0afbe119d4f..76f1db96e9f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/79162.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/79162.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/9.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/9.cc
index 2a39d002110..b56c0b80e02 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/9.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <string>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc
index 23ae07c6634..daf3c4f3bde 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string>
#include <testsuite_iterators.h>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc
index 0cb4c79861b..e5737a30793 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc
index d8322a8b274..7d88f56a021 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/2.cc
index 8118b97468b..f2c971e1b02 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/2.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc
index 27b6def1b05..c00ec83a20f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc
index 0049ae3ca0c..f6de2485287 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc
index efd280fea23..d404a1d08ae 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// Copyright (C) 2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/array/cons/deduction.cc b/libstdc++-v3/testsuite/23_containers/array/cons/deduction.cc
index 5ce2909d832..79a99391814 100644
--- a/libstdc++-v3/testsuite/23_containers/array/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <array>
diff --git a/libstdc++-v3/testsuite/23_containers/array/cons/deduction_neg.cc b/libstdc++-v3/testsuite/23_containers/array/cons/deduction_neg.cc
index ec11b05a54c..16d66215085 100644
--- a/libstdc++-v3/testsuite/23_containers/array/cons/deduction_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/cons/deduction_neg.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <array>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/deduction.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/deduction.cc
index c7c0f2e5ae1..c0e333b2e55 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <deque>
#include <testsuite_iterators.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc
index 935123e1345..c0dd778e6fd 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <deque>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/deduction.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/deduction.cc
index ee30288678f..ff98d3e35b0 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <forward_list>
#include <testsuite_iterators.h>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc
index eb0ffbd8fd8..0f7ea34c972 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <forward_list>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/deduction.cc b/libstdc++-v3/testsuite/23_containers/list/cons/deduction.cc
index c4df79526a8..cded2492d35 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <list>
#include <testsuite_iterators.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc
index 3472c6d4287..02a7ee4a403 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <list>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/queue/members/emplace_cxx17_return.cc b/libstdc++-v3/testsuite/23_containers/queue/members/emplace_cxx17_return.cc
index 53eb8a0d3d4..dce9d4284e7 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/members/emplace_cxx17_return.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/members/emplace_cxx17_return.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <queue>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/stack/members/emplace_cxx17_return.cc b/libstdc++-v3/testsuite/23_containers/stack/members/emplace_cxx17_return.cc
index 8b9c8888a0a..a30c6fc33fc 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/members/emplace_cxx17_return.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/members/emplace_cxx17_return.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <stack>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
index ef38a727ae5..d6a8b25c209 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
@@ -30,7 +30,7 @@ struct E : std::equal_to<T> { };
using __gnu_test::CustomPointerAlloc;
-// { dg-xfail-if "node reinsertion assumes raw pointers" { c++1z } }
+// { dg-xfail-if "node reinsertion assumes raw pointers" { c++17 } }
// TODO when removing this xfail change the test back to "dg-do run".
template class std::unordered_set<T, H, E, CustomPointerAlloc<T>>;
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/emplace_cxx17_return.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/emplace_cxx17_return.cc
index ea1745b9115..a653a26799f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/emplace_cxx17_return.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/emplace_cxx17_return.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <vector>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/deduction.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/deduction.cc
index 413f02cc0cb..3125f824d16 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <vector>
#include <testsuite_iterators.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc
index ee906a9dd32..e8b51df935d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <vector>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/24_iterators/container_access.cc b/libstdc++-v3/testsuite/24_iterators/container_access.cc
index b8d0e80a2de..b90324582e9 100644
--- a/libstdc++-v3/testsuite/24_iterators/container_access.cc
+++ b/libstdc++-v3/testsuite/24_iterators/container_access.cc
@@ -1,4 +1,4 @@
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
// { dg-options "-std=gnu++17" }
// Copyright (C) 2015-2017 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/24_iterators/range_access_cpp17.cc b/libstdc++-v3/testsuite/24_iterators/range_access_cpp17.cc
index 1d5b0739007..2402fa8c8ff 100644
--- a/libstdc++-v3/testsuite/24_iterators/range_access_cpp17.cc
+++ b/libstdc++-v3/testsuite/24_iterators/range_access_cpp17.cc
@@ -1,4 +1,4 @@
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// { dg-options "-std=gnu++17" }
// Copyright (C) 2017 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/25_algorithms/sample/1.cc b/libstdc++-v3/testsuite/25_algorithms/sample/1.cc
index 7b8700a339b..b5ec7a9c71c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sample/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sample/1.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <algorithm>
#include <random>
diff --git a/libstdc++-v3/testsuite/25_algorithms/sample/2.cc b/libstdc++-v3/testsuite/25_algorithms/sample/2.cc
index 94ded717e62..1660c154b6c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sample/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sample/2.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#ifndef _GLIBCXX_ASSERTIONS
// Make std::uniform_int_distribution check its parameters
diff --git a/libstdc++-v3/testsuite/25_algorithms/sample/81221.cc b/libstdc++-v3/testsuite/25_algorithms/sample/81221.cc
index 28ec0e3152a..c3938409adf 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sample/81221.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sample/81221.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// { dg-require-parallel-mode "" }
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/search/searcher.cc b/libstdc++-v3/testsuite/25_algorithms/search/searcher.cc
index 794cdb9a678..1d9173f3b19 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search/searcher.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search/searcher.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
#include <algorithm>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/26_numerics/gcd/1.cc b/libstdc++-v3/testsuite/26_numerics/gcd/1.cc
index 0f0b7b85b4e..cc89046e63b 100644
--- a/libstdc++-v3/testsuite/26_numerics/gcd/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/gcd/1.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc
index d88f145d754..30524a1b06c 100644
--- a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc
index c17ba97a00f..52009f79056 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
// { dg-xfail-run-if "AIX long double" { powerpc-ibm-aix* } }
#include <cmath>
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
index 9f7960cc8d7..ab066dcf5d4 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
@@ -1,4 +1,4 @@
-// { dg-do compile { target { ! c++1z } } }
+// { dg-do compile { target { ! c++17 } } }
// Copyright (C) 2007-2017 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/26_numerics/lcm/1.cc b/libstdc++-v3/testsuite/26_numerics/lcm/1.cc
index 367f0a3e0e3..2c3337e4c0d 100644
--- a/libstdc++-v3/testsuite/26_numerics/lcm/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/lcm/1.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc
index 7a908a4568f..e16e6ae1ee9 100644
--- a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++1z" }
-// { dg-do compile { target c++1z } }
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/deduction.cc b/libstdc++-v3/testsuite/26_numerics/valarray/deduction.cc
index 72d4bc09126..f9e26970756 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/deduction.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <valarray>
diff --git a/libstdc++-v3/testsuite/27_io/types/4.cc b/libstdc++-v3/testsuite/27_io/types/4.cc
index ee1a77736ce..f04b2fa6bb4 100644
--- a/libstdc++-v3/testsuite/27_io/types/4.cc
+++ b/libstdc++-v3/testsuite/27_io/types/4.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// In C++17 these names are not reserved by the library.
#define io_state 1
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/deduction.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/deduction.cc
index 63b3f67f5c9..76f63b7d175 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/deduction.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <regex>
#include <testsuite_iterators.h>
diff --git a/libstdc++-v3/testsuite/30_threads/lock_guard/cons/deduction.cc b/libstdc++-v3/testsuite/30_threads/lock_guard/cons/deduction.cc
index b72c1a12a40..a3e2d4d00f8 100644
--- a/libstdc++-v3/testsuite/30_threads/lock_guard/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock_guard/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <mutex>
diff --git a/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/1.cc b/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/1.cc
index e420ab08378..d9bdc5bf4a6 100644
--- a/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/1.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++1z } }
+// { dg-do run { target c++17 } }
// { dg-require-cstdint "" }
// Copyright (C) 2017 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/deduction.cc b/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/deduction.cc
index 7d4f5bfc386..ddfb3a0fbd7 100644
--- a/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/30_threads/scoped_lock/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <mutex>
diff --git a/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc
index cbf10757f48..3961766369e 100644
--- a/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
diff --git a/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc
index b8a09042094..aa57fcbf431 100644
--- a/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/deduction.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/deduction.cc
index 4f36bab9d6a..277bb43429c 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/deduction.cc
@@ -16,7 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++1z } }
+// { dg-do compile { target c++17 } }
#include <mutex>
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/string_view.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/string_view.cc
index 6d55c027b01..fbf8bd4d6d3 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/string_view.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/string_view.cc
@@ -1,5 +1,5 @@
-// { dg-options "-lstdc++fs -std=gnu++1z" }
-// { dg-do run { target c++1z } }
+// { dg-options "-lstdc++fs -std=gnu++17" }
+// { dg-do run { target c++17 } }
// { dg-require-filesystem-ts "" }
// Copyright (C) 2016-2017 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
index c5cdd1d8943..bff5a8517a9 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
// { dg-options "-DITERATIONS=5" { target simulator } }
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc
index fc0d9aa6fc1..3b5d5e32a14 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
// { dg-options "-DITERATIONS=5" { target simulator } }
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
index 9058660cec3..cd5d653c3b0 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
index fdf0effdba8..29dfb3709ac 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc
index f513b4fb4c0..c2b0c6b91ea 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
// { dg-options "-DITERATIONS=5" { target simulator } }
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc
index f0436a8a675..20dcb6d6093 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
// { dg-options "-DITERATIONS=5" { target simulator } }
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc
index a28c77966b3..5eba0ade962 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
// { dg-options "-DITERATIONS=5" { target simulator } }
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc
index 70293689966..a06438ad532 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
// { dg-options "-DITERATIONS=5" { target simulator } }
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc
index d3ee98349f6..e671aa015cf 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc
@@ -1,5 +1,5 @@
// __gnu_pbds::test::basic_type has ambiguous string conversions in C++17
-// { dg-do run { target { ! c++1z } } }
+// { dg-do run { target { ! c++17 } } }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
// { dg-options "-DITERATIONS=5" { target simulator } }
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc
index d31ae7e6eac..004738052e4 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc
@@ -1,5 +1,5 @@
-// { dg-options "-g -O0 -std=gnu++1z" }
-// { dg-do run { target c++1z } }
+// { dg-options "-g -O0 -std=gnu++17" }
+// { dg-do run { target c++17 } }
// { dg-skip-if "" { *-*-* } { "-D_GLIBCXX_PROFILE" } }
// Copyright (C) 2014-2017 Free Software Foundation, Inc.