diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-09-15 18:15:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-09-15 18:15:46 +0200 |
commit | 7b9361409dda228eedb13a3abe547c3cafbe957b (patch) | |
tree | ab528462949004d5d5871813f8f16e42bae6dd2b /gcc | |
parent | a1189286e5dedc4ab4aacda95216b047017cd3cf (diff) | |
download | gcc-7b9361409dda228eedb13a3abe547c3cafbe957b.zip gcc-7b9361409dda228eedb13a3abe547c3cafbe957b.tar.gz gcc-7b9361409dda228eedb13a3abe547c3cafbe957b.tar.bz2 |
invoke.texi: Document -std=c++17 and -std=gnu++17 and document c++1z and gnu++1z as deprecated.
* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document
c++1z and gnu++1z as deprecated. Change other references to
-std=c++1z to -std=c++17 and -std=gnu++1z to -std=gnu++17.
Change -Wc++1z-compat to -Wc++17-compat.
* doc/cpp.texi: Document -std=c++17 defines __cplusplus 201703L.
* dwarf2out.c (highest_c_language): Handle C++17.
(gen_compile_unit_die): Likewise.
c-family/
* c.opt (Wc++1z-compat): Change from option to undocumented alias.
(Wc++17-compat): Change from undocumented alias to option.
(Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
change C++1z to C++17 in description.
(std=c++1z, std=gnu++1z): Change from option to undocumented
deprecated alias.
(std=c++17, std=gnu++17): Change from undocumented alias to option.
Adjust description.
* c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
* c-opts.c (set_std_cxx1z): Rename to ...
(set_std_cxx17): ... this.
(c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
caller.
(c_common_post_options): Use cxx17 instead of cxx1z. Adjust
comments.
cp/
* decl.c (redeclaration_error_message): Use cxx17 instead of cxx1z,
adjust diagnostics refering to C++1z or -std=gnu++1z or -std=c++1z
to C++17 or -std=gnu++17 or -std=c++17. Adjust comments.
(cxx_init_decl_processing, next_initializable_field,
is_direct_enum_init, check_initializer, cp_finish_decl,
mark_inline_variable, grokdeclarator, grokparms, xref_basetypes,
finish_function): Likewise.
* cp-tree.h (DECL_INLINE_VAR_P): Likewise.
* pt.c (mark_template_parm, convert_nontype_argument,
instantiate_class_template_1, type_unification_real, unify,
get_partial_spec_bindings, dependent_type_p_r): Likewise.
* typeck.c (cp_build_unary_op): Likewise.
* constexpr.c (var_in_maybe_constexpr_fn): Likewise.
* call.c (build_user_type_conversion_1, build_over_call,
build_special_member_call): Likewise.
* lambda.c (begin_lambda_type): Likewise.
* typeck2.c (process_init_constructor_record): Likewise.
* class.c (build_base_field, finalize_literal_type_property,
explain_non_literal_class): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name,
cp_parser_primary_expression, cp_parser_lambda_introducer,
cp_parser_lambda_declarator_opt, cp_parser_selection_statement,
cp_convert_range_for, cp_parser_perform_range_for_lookup,
cp_parser_decomposition_declaration, cp_parser_linkage_specification,
cp_parser_static_assert, cp_parser_simple_type_specifier,
cp_parser_namespace_definition, cp_parser_using_declaration,
cp_parser_init_declarator, cp_parser_type_parameter_key,
cp_parser_exception_specification_opt, cp_parser_std_attribute_spec,
cp_parser_constructor_declarator_p): Likewise.
* mangle.c (struct globals): Rename need_cxx1z_warning to
need_cxx17_warning.
(write_exception_spec, start_mangling, mangle_decl): Likewise.
* Make-lang.in (check-c++1z): Rename to check-c++17, depend on
it.
(check-c++17): New goal. Use 17 instead of 1z.
(check-c++-all): Use 17 instead of 1z.
testsuite/
* lib/g++-dg.exp (g++-dg-runtest): Use 17 instead of 1z.
* lib/target-supports.exp (check_effective_target_c++14): Use
check_effective_target_c++17 instead of check_effective_target_c++1z.
(check_effective_target_c++14_down): Likewise.
(check_effective_target_c++1z_only): Rename to ...
(check_effective_target_c++17_only): ... this.
(check_effective_target_c++1z): Rename to ...
(check_effective_target_c++17): ... this.
* g++.dg/debug/dwarf2/inline-var-1.C: Use -std=c++17 or -std=gnu++17
instead of -std=c++1z or -std=gnu++1z. Use c++17 instead of c++1z
and c++17_only instead of c++1z_only. Adjust expected diagnostics
and comments refering to 1z to 17.
* g++.dg/debug/dwarf2/inline-var-2.C: Likewise.
* g++.dg/template/partial5.C: Likewise.
* g++.dg/template/nontype8.C: Likewise.
* g++.dg/cpp1z/noexcept-type5.C: Likewise.
* g++.dg/cpp1z/nontype3a.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda4.C: Likewise.
* g++.dg/cpp1z/noexcept-type16.C: Likewise.
* g++.dg/cpp1z/class-deduction32.C: Likewise.
* g++.dg/cpp1z/pr78771.C: Likewise.
* g++.dg/cpp1z/elide1.C: Likewise.
* g++.dg/cpp1z/fold3.C: Likewise.
* g++.dg/cpp1z/class-deduction2.C: Likewise.
* g++.dg/cpp1z/noexcept-type12.C: Likewise.
* g++.dg/cpp1z/inline-var2.C: Likewise.
* g++.dg/cpp1z/eval-order2.C: Likewise.
* g++.dg/cpp1z/decomp21.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda11.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda9.C: Likewise.
* g++.dg/cpp1z/utf8-neg.C: Likewise.
* g++.dg/cpp1z/class-deduction41.C: Likewise.
* g++.dg/cpp1z/class-deduction23.C: Likewise.
* g++.dg/cpp1z/nodiscard3.C: Likewise.
* g++.dg/cpp1z/static_assert-nomsg.C: Likewise.
* g++.dg/cpp1z/noexcept-type9.C: Likewise.
* g++.dg/cpp1z/class-deduction21.C: Likewise.
* g++.dg/cpp1z/range-for1.C: Likewise.
* g++.dg/cpp1z/init-statement4.C: Likewise.
* g++.dg/cpp1z/udlit-utf8char.C: Likewise.
* g++.dg/cpp1z/decomp30.C: Likewise.
* g++.dg/cpp1z/class-deduction39.C: Likewise.
* g++.dg/cpp1z/register2.C: Likewise.
* g++.dg/cpp1z/decomp9.C: Likewise.
* g++.dg/cpp1z/regress1.C: Likewise.
* g++.dg/cpp1z/direct-enum-init1.C: Likewise.
* g++.dg/cpp1z/class-deduction30.C: Likewise.
* g++.dg/cpp1z/abbrev2.C: Likewise.
* g++.dg/cpp1z/nontype-auto6.C: Likewise.
* g++.dg/cpp1z/regress2.C: Likewise.
* g++.dg/cpp1z/decomp16.C: Likewise.
* g++.dg/cpp1z/bool-increment1.C: Likewise.
* g++.dg/cpp1z/aligned-new1.C: Likewise.
* g++.dg/cpp1z/decomp3.C: Likewise.
* g++.dg/cpp1z/register1.C: Likewise.
* g++.dg/cpp1z/namespace-attribs.C: Likewise.
* g++.dg/cpp1z/class-deduction1.C: Likewise.
* g++.dg/cpp1z/decomp10.C: Likewise.
* g++.dg/cpp1z/constexpr-if11.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda10.C: Likewise.
* g++.dg/cpp1z/decomp27.C: Likewise.
* g++.dg/cpp1z/noexcept-type2.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda6.C: Likewise.
* g++.dg/cpp1z/class-deduction9.C: Likewise.
* g++.dg/cpp1z/attributes-enum-1.C: Likewise.
* g++.dg/cpp1z/decomp11.C: Likewise.
* g++.dg/cpp1z/aligned-new3.C: Likewise.
* g++.dg/cpp1z/utf8-2.C: Likewise.
* g++.dg/cpp1z/lambda-this3.C: Likewise.
* g++.dg/cpp1z/decomp-constexpr1.C: Likewise.
* g++.dg/cpp1z/byte1.C: Likewise.
* g++.dg/cpp1z/nontype-auto9.C: Likewise.
* g++.dg/cpp1z/aggr-base4.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda1.C: Likewise.
* g++.dg/cpp1z/nontype-auto3.C: Likewise.
* g++.dg/cpp1z/utf8-2a.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda7.C: Likewise.
* g++.dg/cpp1z/aggr-base6.C: Likewise.
* g++.dg/cpp1z/cplusplus.C: Likewise.
* g++.dg/cpp1z/class-deduction20.C: Likewise.
* g++.dg/cpp1z/aggr-base2.C: Likewise.
* g++.dg/cpp1z/class-deduction6.C: Likewise.
* g++.dg/cpp1z/noexcept-type3.C: Likewise.
* g++.dg/cpp1z/class-deduction31.C: Likewise.
* g++.dg/cpp1z/class-deduction25.C: Likewise.
* g++.dg/cpp1z/class-deduction18.C: Likewise.
* g++.dg/cpp1z/fold9.C: Likewise.
* g++.dg/cpp1z/noexcept-type8.C: Likewise.
* g++.dg/cpp1z/abbrev1.C: Likewise.
* g++.dg/cpp1z/constexpr-if10.C: Likewise.
* g++.dg/cpp1z/utf8.C: Likewise.
* g++.dg/cpp1z/noexcept-type7.C: Likewise.
* g++.dg/cpp1z/aggr-base3.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda8.C: Likewise.
* g++.dg/cpp1z/init-statement2.C: Likewise.
* g++.dg/cpp1z/nontype-auto4.C: Likewise.
* g++.dg/cpp1z/constexpr-if12.C: Likewise.
* g++.dg/cpp1z/class-deduction40.C: Likewise.
* g++.dg/cpp1z/nontype3.C: Likewise.
* g++.dg/cpp1z/class-deduction14.C: Likewise.
* g++.dg/cpp1z/fold7.C: Likewise.
* g++.dg/cpp1z/nontype2.C: Likewise.
* g++.dg/cpp1z/class-deduction15.C: Likewise.
* g++.dg/cpp1z/nested-namespace-def1.C: Likewise.
* g++.dg/cpp1z/class-deduction13.C: Likewise.
* g++.dg/cpp1z/aligned-new7.C: Likewise.
* g++.dg/cpp1z/noexcept-type1.C: Likewise.
* g++.dg/cpp1z/nontype1.C: Likewise.
* g++.dg/cpp1z/init-statement5.C: Likewise.
* g++.dg/cpp1z/nontype-auto2.C: Likewise.
* g++.dg/cpp1z/decomp17.C: Likewise.
* g++.dg/cpp1z/fold4.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda2.C: Likewise.
* g++.dg/cpp1z/fold7a.C: Likewise.
* g++.dg/cpp1z/nontype-auto5.C: Likewise.
* g++.dg/cpp1z/init-statement7.C: Likewise.
* g++.dg/cpp1z/aggr-base5.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda5.C: Likewise.
* g++.dg/cpp1z/pr79143.C: Likewise.
* g++.dg/cpp1z/class-deduction38.C: Likewise.
* g++.dg/cpp1z/nontype-auto8.C: Likewise.
* g++.dg/cpp1z/class-deduction12.C: Likewise.
* g++.dg/cpp1z/decomp20.C: Likewise.
* g++.dg/cpp1z/class-deduction22.C: Likewise.
* g++.dg/cpp1z/class-deduction29.C: Likewise.
* g++.dg/cpp1z/class-deduction8.C: Likewise.
* g++.dg/cpp1z/class-deduction43.C: Likewise.
* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
* g++.dg/cpp1z/fold8.C: Likewise.
* g++.dg/cpp1z/init-statement3.C: Likewise.
* g++.dg/cpp1z/nontype-auto10.C: Likewise.
* g++.dg/cpp1z/class-deduction36.C: Likewise.
* g++.dg/cpp1z/noexcept-type17.C: Likewise.
* g++.dg/cpp1z/fallthrough1.C: Likewise.
* g++.dg/cpp1z/fold1.C: Likewise.
* g++.dg/cpp1z/class-deduction26.C: Likewise.
* g++.dg/cpp1z/fold-ice1.C: Likewise.
* g++.dg/cpp1z/fold5.C: Likewise.
* g++.dg/cpp1z/class-deduction34.C: Likewise.
* g++.dg/cpp1z/noexcept-type6.C: Likewise.
* g++.dg/cpp1z/class-deduction7.C: Likewise.
* g++.dg/cpp1z/class-deduction16.C: Likewise.
* g++.dg/cpp1z/class-deduction10.C: Likewise.
* g++.dg/cpp1z/eval-order3.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda13.C: Likewise.
* g++.dg/cpp1z/aggr-base2a.C: Likewise.
* g++.dg/cpp1z/nontype-auto1.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda3.C: Likewise.
* g++.dg/cpp1z/nontype-auto7.C: Likewise.
* g++.dg/cpp1z/decomp15.C: Likewise.
* g++.dg/cpp1z/noexcept-type4.C: Likewise.
* g++.dg/cpp1z/fold-mangle.C: Likewise.
* g++.dg/cpp1z/class-deduction35.C: Likewise.
* g++.dg/cpp1z/decomp4.C: Likewise.
* g++.dg/cpp1z/class-deduction42.C: Likewise.
* g++.dg/cpp1z/init-statement8.C: Likewise.
* g++.dg/cpp1z/inline-var1a.C: Likewise.
* g++.dg/cpp1z/init-statement6.C: Likewise.
* g++.dg/cpp1z/class-deduction17.C: Likewise.
* g++.dg/cpp1z/class-deduction28.C: Likewise.
* g++.dg/cpp1z/class-deduction27.C: Likewise.
* g++.dg/cpp1z/decomp-bitfield1.C: Likewise.
* g++.dg/cpp1z/attributes-enum-1a.C: Likewise.
* g++.dg/cpp1z/class-deduction11.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda12.C: Likewise.
* g++.dg/cpp1z/init-statement9.C: Likewise.
* g++.dg/cpp1z/class-deduction19.C: Likewise.
* g++.dg/cpp1z/class-deduction5.C: Likewise.
* g++.dg/cpp1z/fold2.C: Likewise.
* g++.dg/cpp1z/class-deduction33.C: Likewise.
* g++.dg/cpp1z/class-deduction24.C: Likewise.
* g++.dg/cpp1z/aggr-base1.C: Likewise.
* g++.dg/cpp1z/fold6.C: Likewise.
* g++.dg/cpp1z/decomp12.C: Likewise.
* g++.dg/cpp1z/class-deduction4.C: Likewise.
* g++.dg/cpp1z/inline-var1.C: Likewise.
* g++.dg/cpp1z/aligned-new2.C: Likewise.
* g++.dg/cpp1z/class-deduction3.C: Likewise.
* g++.dg/other/error3.C: Likewise.
* g++.dg/init/new25.C: Likewise.
* g++.dg/init/new13.C: Likewise.
* g++.dg/tls/diag-2.C: Likewise.
* g++.dg/tls/diag-4.C: Likewise.
* g++.dg/opt/noreturn-1.C: Likewise.
* g++.dg/eh/async-unwind2.C: Likewise.
* g++.dg/eh/spec9.C: Likewise.
* g++.dg/eh/spec7.C: Likewise.
* g++.dg/eh/template1.C: Likewise.
* g++.dg/eh/cond4.C: Likewise.
* g++.dg/eh/pr41819.C: Likewise.
* g++.dg/eh/delete1.C: Likewise.
* g++.dg/eh/spec3.C: Likewise.
* g++.dg/eh/forced4.C: Likewise.
* g++.dg/eh/spec2.C: Likewise.
* g++.dg/eh/shadow1.C: Likewise.
* g++.dg/eh/pr38662.C: Likewise.
* g++.dg/eh/ehopt1.C: Likewise.
* g++.dg/eh/spec8.C: Likewise.
* g++.dg/eh/init-temp2.C: Likewise.
* g++.dg/rtti/crash3.C: Likewise.
* g++.dg/warn/Wreturn-type-3.C: Likewise.
* g++.dg/warn/register-parm-1.C: Likewise.
* g++.dg/warn/register-var-2.C: Likewise.
* g++.dg/gcov/gcov-7.C: Likewise.
* g++.dg/tree-ssa/pr45605.C: Likewise.
* g++.dg/cpp/pr23827_cxx98_neg.C: Likewise.
* g++.dg/lookup/exception1.C: Likewise.
* g++.dg/ubsan/pr79589.C: Likewise.
* g++.dg/tm/pr47340.C: Likewise.
* g++.dg/tm/pr46567.C: Likewise.
* g++.dg/expr/bitfield5.C: Likewise.
* g++.dg/expr/bool1.C: Likewise.
* g++.dg/expr/lval3.C: Likewise.
* g++.dg/expr/lval4.C: Likewise.
* g++.dg/expr/bitfield4.C: Likewise.
* g++.dg/expr/bitfield6.C: Likewise.
* g++.dg/expr/bool3.C: Likewise.
* g++.dg/ext/has_nothrow_constructor.C: Likewise.
* g++.dg/ext/has_nothrow_copy-7.C: Likewise.
* g++.dg/ext/has_nothrow_copy-1.C: Likewise.
* g++.dg/ext/has_nothrow_copy-2.C: Likewise.
* g++.dg/ext/has_nothrow_copy-4.C: Likewise.
* g++.dg/ext/has_nothrow_copy-5.C: Likewise.
* g++.dg/ext/has_nothrow_copy-6.C: Likewise.
* g++.dg/ext/has_nothrow_assign.C: Likewise.
* g++.dg/parse/register1.C: Likewise.
* g++.dg/parse/error15.C: Likewise.
* g++.dg/parse/linkage2.C: Likewise.
* g++.dg/concepts/intro2.C: Likewise.
* g++.dg/concepts/class.C: Likewise.
* g++.dg/concepts/traits1.C: Likewise.
* g++.dg/concepts/req5.C: Likewise.
* g++.dg/concepts/var-concept5.C: Likewise.
* g++.dg/concepts/fn-concept2.C: Likewise.
* g++.dg/concepts/traits2.C: Likewise.
* g++.dg/concepts/placeholder2.C: Likewise.
* g++.dg/concepts/class6.C: Likewise.
* g++.dg/concepts/memtmpl1.C: Likewise.
* g++.dg/concepts/friend2.C: Likewise.
* g++.dg/concepts/template-parm3.C: Likewise.
* g++.dg/concepts/template-parm10.C: Likewise.
* g++.dg/concepts/explicit-spec1.C: Likewise.
* g++.dg/concepts/explicit-spec3.C: Likewise.
* g++.dg/concepts/var-templ2.C: Likewise.
* g++.dg/concepts/intro5.C: Likewise.
* g++.dg/concepts/deduction-constraint1.C: Likewise.
* g++.dg/concepts/iconv1.C: Likewise.
* g++.dg/concepts/constrained-parm.C: Likewise.
* g++.dg/concepts/template-template-parm1.C: Likewise.
* g++.dg/concepts/var-concept3.C: Likewise.
* g++.dg/concepts/class3.C: Likewise.
* g++.dg/concepts/memfun2.C: Likewise.
* g++.dg/concepts/req1.C: Likewise.
* g++.dg/concepts/disjunction1.C: Likewise.
* g++.dg/concepts/req17.C: Likewise.
* g++.dg/concepts/pr65848.C: Likewise.
* g++.dg/concepts/placeholder4.C: Likewise.
* g++.dg/concepts/decl-diagnose.C: Likewise.
* g++.dg/concepts/intro7.C: Likewise.
* g++.dg/concepts/pr68683.C: Likewise.
* g++.dg/concepts/partial-spec4.C: Likewise.
* g++.dg/concepts/template-parm5.C: Likewise.
* g++.dg/concepts/explicit-inst1.C: Likewise.
* g++.dg/concepts/class-deduction1.C: Likewise.
* g++.dg/concepts/class1.C: Likewise.
* g++.dg/concepts/req15.C: Likewise.
* g++.dg/concepts/memfun.C: Likewise.
* g++.dg/concepts/pr68434.C: Likewise.
* g++.dg/concepts/inherit-ctor4.C: Likewise.
* g++.dg/concepts/partial-spec6.C: Likewise.
* g++.dg/concepts/var-templ1.C: Likewise.
* g++.dg/concepts/template-parm8.C: Likewise.
* g++.dg/concepts/explicit-inst3.C: Likewise.
* g++.dg/concepts/class4.C: Likewise.
* g++.dg/concepts/req6.C: Likewise.
* g++.dg/concepts/fn8.C: Likewise.
* g++.dg/concepts/class5.C: Likewise.
* g++.dg/concepts/placeholder5.C: Likewise.
* g++.dg/concepts/req16.C: Likewise.
* g++.dg/concepts/req10.C: Likewise.
* g++.dg/concepts/var-concept2.C: Likewise.
* g++.dg/concepts/auto3.C: Likewise.
* g++.dg/concepts/generic-fn-err.C: Likewise.
* g++.dg/concepts/pr65552.C: Likewise.
* g++.dg/concepts/partial-concept-id2.C: Likewise.
* g++.dg/concepts/fn1.C: Likewise.
* g++.dg/concepts/partial-spec.C: Likewise.
* g++.dg/concepts/template-parm12.C: Likewise.
* g++.dg/concepts/diagnostic1.C: Likewise.
* g++.dg/concepts/intro1.C: Likewise.
* g++.dg/concepts/explicit-inst4.C: Likewise.
* g++.dg/concepts/req18.C: Likewise.
* g++.dg/concepts/explicit-spec5.C: Likewise.
* g++.dg/concepts/var-concept6.C: Likewise.
* g++.dg/concepts/fn9.C: Likewise.
* g++.dg/concepts/req2.C: Likewise.
* g++.dg/concepts/template-parm7.C: Likewise.
* g++.dg/concepts/req14.C: Likewise.
* g++.dg/concepts/template-parm6.C: Likewise.
* g++.dg/concepts/variadic4.C: Likewise.
* g++.dg/concepts/fn6.C: Likewise.
* g++.dg/concepts/req-neg1.C: Likewise.
* g++.dg/concepts/alias3.C: Likewise.
* g++.dg/concepts/expression2.C: Likewise.
* g++.dg/concepts/partial-spec3.C: Likewise.
* g++.dg/concepts/expression3.C: Likewise.
* g++.dg/concepts/memfun-err.C: Likewise.
* g++.dg/concepts/pr66091.C: Likewise.
* g++.dg/concepts/explicit-spec2.C: Likewise.
* g++.dg/concepts/equiv.C: Likewise.
* g++.dg/concepts/friend1.C: Likewise.
* g++.dg/concepts/fn4.C: Likewise.
* g++.dg/concepts/var-templ3.C: Likewise.
* g++.dg/concepts/explicit-inst2.C: Likewise.
* g++.dg/concepts/alias2.C: Likewise.
* g++.dg/concepts/regress/alias-decl-42.C: Likewise.
* g++.dg/concepts/placeholder6.C: Likewise.
* g++.dg/concepts/fn10.C: Likewise.
* g++.dg/concepts/req3.C: Likewise.
* g++.dg/concepts/variadic2.C: Likewise.
* g++.dg/concepts/pr65636.C: Likewise.
* g++.dg/concepts/intro6.C: Likewise.
* g++.dg/concepts/class2.C: Likewise.
* g++.dg/concepts/fn2.C: Likewise.
* g++.dg/concepts/req20.C: Likewise.
* g++.dg/concepts/req8.C: Likewise.
* g++.dg/concepts/placeholder1.C: Likewise.
* g++.dg/concepts/pr65854.C: Likewise.
* g++.dg/concepts/member-concept.C: Likewise.
* g++.dg/concepts/template-parm2.C: Likewise.
* g++.dg/concepts/variadic1.C: Likewise.
* g++.dg/concepts/fn7.C: Likewise.
* g++.dg/concepts/intro4.C: Likewise.
* g++.dg/concepts/req13.C: Likewise.
* g++.dg/concepts/inherit-ctor3.C: Likewise.
* g++.dg/concepts/explicit-spec6.C: Likewise.
* g++.dg/concepts/auto1.C: Likewise.
* g++.dg/concepts/alias1.C: Likewise.
* g++.dg/concepts/fn-concept1.C: Likewise.
* g++.dg/concepts/template-parm11.C: Likewise.
* g++.dg/concepts/explicit-spec4.C: Likewise.
* g++.dg/concepts/partial-concept-id1.C: Likewise.
* g++.dg/concepts/req9.C: Likewise.
* g++.dg/concepts/req4.C: Likewise.
* g++.dg/concepts/pr65681.C: Likewise.
* g++.dg/concepts/req7.C: Likewise.
* g++.dg/concepts/req12.C: Likewise.
* g++.dg/concepts/fn5.C: Likewise.
* g++.dg/concepts/alias4.C: Likewise.
* g++.dg/concepts/generic-fn.C: Likewise.
* g++.dg/concepts/feature-macro.C: Likewise.
* g++.dg/concepts/req19.C: Likewise.
* g++.dg/concepts/placeholder3.C: Likewise.
* g++.dg/concepts/intro3.C: Likewise.
* g++.dg/concepts/partial-spec5.C: Likewise.
* g++.dg/concepts/template-parm4.C: Likewise.
* g++.dg/concepts/dr1430.C: Likewise.
* g++.dg/concepts/pr65634.C: Likewise.
* g++.dg/concepts/var-concept4.C: Likewise.
* g++.dg/concepts/pr67249.C: Likewise.
* g++.dg/concepts/expression.C: Likewise.
* g++.dg/concepts/pr65575.C: Likewise.
* g++.dg/concepts/partial-spec2.C: Likewise.
* g++.dg/concepts/template-parm9.C: Likewise.
* g++.dg/concepts/inherit-ctor1.C: Likewise.
* g++.dg/concepts/equiv2.C: Likewise.
* g++.dg/concepts/req11.C: Likewise.
* g++.dg/concepts/template-parm1.C: Likewise.
* g++.dg/concepts/inherit-ctor2.C: Likewise.
* g++.dg/concepts/var-concept1.C: Likewise.
* g++.dg/concepts/fn3.C: Likewise.
* g++.dg/torture/pr46364.C: Likewise.
* g++.dg/torture/stackalign/eh-alloca-1.C: Likewise.
* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-2.C: Likewise.
* g++.dg/torture/stackalign/eh-global-1.C: Likewise.
* g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-2.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-1.C: Likewise.
* g++.dg/torture/pr52918-1.C: Likewise.
* g++.dg/torture/pr49394.C: Likewise.
* g++.dg/torture/pr57190.C: Likewise.
* g++.dg/cpp0x/static_assert8.C: Likewise.
* g++.dg/cpp0x/noexcept19.C: Likewise.
* g++.dg/cpp0x/variadic-throw.C: Likewise.
* g++.dg/cpp0x/variadic73.C: Likewise.
* g++.dg/cpp0x/noexcept02.C: Likewise.
* g++.dg/cpp0x/defaulted23.C: Likewise.
* g++.dg/cpp0x/noexcept08.C: Likewise.
* g++.dg/cpp0x/auto9.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise.
* g++.dg/cpp0x/error5.C: Likewise.
* c-c++-common/gomp/atomic-12.c: Likewise.
* c-c++-common/gomp/atomic-13.c: Likewise.
* c-c++-common/gomp/atomic-14.c: Likewise.
* c-c++-common/Wvarargs-2.c: Likewise.
* c-c++-common/Wvarargs.c: Likewise.
* c-c++-common/vector-subscript-2.c: Likewise.
* g++.old-deja/g++.robertl/eb123.C: Likewise.
* g++.old-deja/g++.eh/tmpl3.C: Likewise.
* g++.old-deja/g++.eh/cleanup2.C: Likewise.
* g++.old-deja/g++.eh/badalloc1.C: Likewise.
* g++.old-deja/g++.eh/throw2.C: Likewise.
* g++.old-deja/g++.eh/throw1.C: Likewise.
* g++.old-deja/g++.eh/tmpl1.C: Likewise.
* g++.old-deja/g++.other/new7.C: Likewise.
* g++.old-deja/g++.other/crash30.C: Likewise.
* g++.old-deja/g++.other/regstack.C: Likewise.
* g++.old-deja/g++.other/crash28.C: Likewise.
* g++.old-deja/g++.jason/bool5.C: Likewise.
* g++.old-deja/g++.mike/p10416.C: Likewise.
* g++.old-deja/g++.mike/eh25.C: Likewise.
* g++.old-deja/g++.mike/eh55.C: Likewise.
libcpp/
* include/cpplib.h (enum c_lang): Rename CLK_GNUCXX1Z
to CLK_GNUCXX17 and CLK_CXX1Z to CLK_CXX17.
* init.c (lang_defaults, cpp_init_builtins): Likewise.
* expr.c (cpp_classify_number): Use C++17 instead of C++1z
in diagnostics.
libstdc++-v3/
* testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or
-std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead
of c++1z and c++17_only instead of c++1z_only. Adjust expected
diagnostics and comments refering to 1z to 17.
* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
* testsuite/18_support/launder/1.cc (test02): Likewise.
* testsuite/18_support/launder/requirements_neg.cc: Likewise.
* testsuite/18_support/launder/requirements.cc: Likewise.
* testsuite/18_support/byte/requirements.cc: Likewise.
* testsuite/18_support/byte/ops.cc: Likewise.
* testsuite/18_support/byte/global_neg.cc: Likewise.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
Likewise.
* testsuite/27_io/types/4.cc: Likewise.
* testsuite/25_algorithms/sample/81221.cc: Likewise.
* testsuite/25_algorithms/sample/1.cc: Likewise.
* testsuite/25_algorithms/sample/2.cc: Likewise.
* testsuite/25_algorithms/search/searcher.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/string_view.cc:
Likewise.
* testsuite/24_iterators/range_access_cpp17.cc: Likewise.
* testsuite/24_iterators/container_access.cc: Likewise.
* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise.
* testsuite/20_util/pair/cons/deduction.cc: Likewise.
* testsuite/20_util/variant/deduction.cc: Likewise.
* testsuite/20_util/tuple/78939.cc: Likewise.
* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
* testsuite/20_util/void_t/1.cc: Likewise.
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
* testsuite/20_util/addressof/requirements/constexpr.cc: Likewise.
* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
* testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/has_unique_object_representations/value.cc:
Likewise.
* testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise.
* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
* testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
* testsuite/20_util/function/cons/deduction.cc: Likewise.
* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
Likewise.
* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_aggregate/value.cc: Likewise.
* testsuite/26_numerics/lcm/1.cc: Likewise.
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
* testsuite/26_numerics/gcd/1.cc: Likewise.
* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
* testsuite/26_numerics/valarray/deduction.cc: Likewise.
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise.
* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
* testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
Likewise.
* testsuite/23_containers/array/cons/deduction.cc: Likewise.
* testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
Likewise.
* testsuite/23_containers/deque/cons/deduction.cc: Likewise.
* testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
Likewise.
* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
Likewise.
* testsuite/23_containers/list/cons/deduction.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
Likewise.
* testsuite/23_containers/forward_list/cons/deduction.cc: Likewise.
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise.
* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
Likewise.
* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
Likewise.
From-SVN: r252826
Diffstat (limited to 'gcc')
427 files changed, 1205 insertions, 717 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c9988f..7119112 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 6391ced..4fffa31 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 0de549d..d57829b 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 9e7f0a3..cdbcd6c 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 3435fe9..ed5938f 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 1bda581..0a3b80f 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 f860645..24e9d7c 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 88af0d3..4fa0d03 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 cd63c21..97e29c0 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 2d2f3b8..a89ee49 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 f4d6f80..e508598 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 6101bdf..858747e 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 9ba3df1..e441256 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 15f4421..33cd00e 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 4bfae36..c9cb3cb 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 ec7bbc8..f12ab26 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 0a09998..aa5d128 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 e9aca39..82e18ec 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 6e16ffb..8e9cba3 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 e4cacf2..a727d95 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 6a4cd60..1a4f1a2 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 eadffc1..e53e7be 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 1eacde1..a6b51f1 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 20d8ec7..71d8c5d 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 07790d9..a750a7f 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 83c6560..5fd9c10 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 f2dd9fc..06b7669 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 bfe01fc..b81195f 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 fdd54bd..1b643cd 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 7879d44..2de2aa4 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 a8f0f67..6e1c39c 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 8ffa0a1..e7d93d5 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 be9237d..0c6fa46 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 e1a4d73..7b80fe3 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 ad48cf8..476830d 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 0611057..1c5242f 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 a2c4f5d..94a5d23 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 4b8706d..6389128 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 c25c801..b275756 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 af6db25..86eecbc 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 218ec9f..76398609 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 4a3a3d7..29dcb8f 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 2650cae..feaf3bb 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 65785b2..fcbfc8f 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 dfb0c6e..5eec87b 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 0552c4b..c977eaa 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 24472cc..9bd5097 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 178467a..9fd4f43 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 11e232f..d666d9a 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 24d419b..694d87a 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 89eeb15..58d8dec 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 0319756..f47b758 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 177fc6c..00dee2f 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 cf0d898..c0f585c 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 c6f559c..3873068 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 8fa7e8a..17d48e7 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 6294cef..1edc83e 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 16698cb..963c030 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 e889c21..e0d89bc 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 0bf7640..0af1df4 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 de68ef8..6430f89 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 32b79c8..3583452 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 77b414e..4148aa6 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 d8ea369..ad2bfb0 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 4a8437f..b858c1a 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 86ba936..9acc241 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 c4f9f55..800a0d3 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 859c1d5..71bd82c 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 51a3fb5..67e35ac 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 ef704f7..6695f2f 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 9fa5790..ecc3d7b 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 dd9a19e..d4a2e00 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 f6f165e..1293607 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 dd16a9a..1df21fe 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 e7481be..5c796c7 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 c135bd7..1efde5f 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 c78940c..c437c79 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 6268801..5f14905 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 03a47d5..c34f832 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 d74ea21..7a48e76 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 28f3566..38a0b17 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 6f5115c..952c8f6 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 435745a..b36b993 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 07499bb..c7ad84a 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 4c53205..26940ba 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 5f036c4..ac8a708 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 1db1d7a..928cc2e 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 3cb3ecb..78d091d 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 1821291..2a3e2ba 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 31924f9..c5fac80 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 f8ed666..6624c88 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 914c5fd..9cb4a76 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 2b06046..4eae9f5 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 f44610a..a42554a 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 523410c..d387234 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 c186a18..a5965fc 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 6f3d5a3..fe0f1d5 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 117400c..90a8ec7 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 2e6866e..4c1373a 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 5db9a58..c3836d4 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 bc7621b..26d0ff4 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 9387ce00a..2ac5b98 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 80e41ab..5669bd4 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 32a5eae..18ef242 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 50ef289..af4411b 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 757bcef9b..bf7f959 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 cf2013e..c8981b61 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 208fc29..44dba8b 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 2fb4758..b35238c 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 e1d3092..c0b67b9 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 ee218fd..ab56c63 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 c1cc0b1..57375d7 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 18e8059..e027dcc 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 df64a3f..db36a6b 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 ddeef82..01c72a7 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 fcbbab3..1df9a59 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 4affa23..5af6e7d 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 c615ed7..395fac4 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 b53f64c..e5b3c28 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 9cfada5..87e9bb5 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 ece5bb7..19ce383 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 eef1b33..31a98f3 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 611a896..6d5a4d5 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 6c80d81..97b45cd 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 0636f1d..688cb19 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 0352a08..8cbd89f 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 1a259e8..2d0c5c0 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 f285514..38c2c3e 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 559c128..2f58742 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 de7efcd..de00a1e 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 537669b..53d796c 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 2704c38..ee80da078 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 af622e2..e1e3eac 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 0b6848b..5ddb9e7 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 0564b0c..d52ac23 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 b1258c4..3f35ee8 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 e89e905..38ade56 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 5bc7ac7..8322e71 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 2bd5f15..b8c4209 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 7953869..a3a315c 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 6e111b2..670fd54 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 ef25987..38933e4 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 4adbc78..5a34358 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 5f66376f..c4d6b57 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 101432f..88731d6 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 b61912c..cbce4f3 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 1f0d91a..73f3881 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 edeeb90..aee63dc 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 146d1c6..6a32cfe 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 5fcd5a2..61fa86d 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 ac9d2af..c384042 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 25bd916..5e537b0 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 e70cdc0..eb4bb16 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 3e2a2f2..27d19e9 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 69a31bc..63a12c4 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 06b0f96..e34c606 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 c2dcc3a..e828db9 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 7ccf087..b5a7185 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 971a67b..3383d26 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 b99016f..1456c07 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 21c69dd..c71e8a4 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 d27e4fa..d4f4f57 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 1870a42..677deda 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 b91eb94..68c4a6f 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 40be4f9..645e8ca 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 99ffdc0..f24d76d 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 dc0be75..2e04ed6 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 b882b08..0746863 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 8129463..b1b5ba5 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 e60e9ff..2b64a62 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 d20fa7d..48bdfee 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 a0e468c..48f5dd1 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 d71e55f..40b4ef2 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 4d41887..dfbdd2f 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 99fb8e0..fe1d4c0 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 330cf95..3fb50df 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 7719541..a94fa03 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 5a554b7..a9791ec 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 8ec4d7d..94af8fc 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 6602e70..239fe17 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 368a67b..27afc5a 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 be998d2..396df09 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 68a0bf3..3caa814 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 41d4bb1..1dc6af3 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 37bb472..2c6bdca 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 9da5ebf..5d73bbf 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 821dce1..ceeb6d8 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 4acbc0b..f526a6e 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 fd93f4a..8f9126b 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 85dd365..5f6d9ad 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 31219ce..08578ed 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 735296f..09f823e 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 fe15969..7bf6309 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 e50e62c..2bfb6b8 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 695b77f..52011f2 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 1f8f848..ad7d237 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 f321ba1..aacfac8 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 ae2dcf9..236fba3 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 51c1a33..d3b9b88 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 87fced9..7e1588e 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 8bc4288..a3879fc 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 4e90292..301ba9a 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 9eb541d..e858dcf 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 0e2d235..0bacf9b 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 1c7e34e..41d58db 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 72ed478..3f0e229 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 9acf5d6..2a636e2 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 7f2be00..646b5aa 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 ab2126e..42f936a 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 38327d1..5c21b74 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 736b263..2e1d115 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 58e8f7d..988f11b 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 5eebef7..2c2ce46 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 b15b0c4..a1f0c20 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 26795b1..a2fa406 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 ba2015a..c4d890c 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 0e496e6..d3259d8 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 ea58af7..74de70c 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 ce5c5d7..ce58058 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 c91ec0d..8238e5b 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 efffe3d..8c2d67e 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 ed86965..13e001a 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 f50e878..d0ef5f9 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 4423157..2fd2f28 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 4c3824f..0f4c85a 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 d135031..ee9d780 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 b035879..380c35f 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 b0e53d1..63d099d 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 129e29e..3670cee 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 fe6c200..883961e 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 98a3664..f141e9b 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 16c41f4..a86589c 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 eeffa69..3888b39 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 5e7fa3a..f287ce9 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 8217fd4..4623e74 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 a906a0f..1201455 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 b94a300..a7d56fbf 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 569217d..3f751ce 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 8e982b9..d635a64 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 3658315..9836e26 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 149ef43..23c58fd 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 1c83b59..f10d830 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 1c6247e..aaef952 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 1ed2c30..4e887f3 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 a768cfb..501e7d3 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 ff65d6c..2af652d 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 f9e662d..f5d58ce 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 f5f3f38..1ad2f68 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 077f823..35baff3 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 1d3ff82..a6b3e53 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 46ee846..b2772b3 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 b3fd3d0..106b504 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 71f1852..8c9db95 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 953901a..3fe4bb9 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 26f136b..4dc5ae2 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 89c0208..0bac4c1 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 a5bc524..23fdc93 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 e4b84fd..0d0ac14 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 73edc87..1833bc3 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 722ff76..04ca9a1 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 c2bcb93..a841d35 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 9c8aaa4..edb6709 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 a5b686a..09ed646 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 48d2433..e5dc443 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 d67992b..7589c80 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 484094b..ace1f06 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 8831b71..8475e5d 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 7d3a465..6f21c9c 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 f26722a..fd5f30e 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 58ce71b..71dc938 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 23115ad..7306871 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 5546083..e50b882 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 f7c6f56..0a19876 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 ee39ab4..d8cffb4 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 48b89b1..6875c82 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 2a741d6..95dd106 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 e87dce4..966ac0a 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 d15b1ea..54a8323 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 a7c6cfe..b2f046b 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 558f589..7e71cc9 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 1a8f16c..95df8ca 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 510d61a..fdaa955 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 598e557..093a98b 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 58d41e6..7caa848 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 fbe6720..2365d50 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 da6544b..2f8d4ca 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 cc073f9..4839436 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 0451774..74ef4ab 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 d56cefb..5c782ff 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 e27db7a..68827e6 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 578b8d0..142c8b2c 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 8cfe1ab..d1dc918 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 c178eaf..b0cd148 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 a5f7d8b..32a3f2d 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 6efa0ed..cf2b16a2 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 e8e24b5..6f00d9d 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 a67617e..e4a598e 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 fb40df0..574cc21 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 5425f97..f695a73 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 8e5baa3..7c014b5 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 9b3da29..62d3708 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 bfbbe1d..1696cb0 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 b5a1fc6..c505ce3 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 7dc2173..b4dc5c4 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 680b907..8a6f007 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 bc2a032..4d4e60e 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 dfe64e5..59c0255 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 39820af..74404ad 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 8c763a5..2b6a108 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 46aefdd..c8c731b 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 747bb19..467bd46 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 9303da8..b23c1c7 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 621da93..4777eef 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 9e5d202..6c1ebd1 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 5068457..8734c8d 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 1f78114..7c77a8d 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 0182e3a..db70a68 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 a29618a..45b6499 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 9d05074..def697c 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 381ed51..38d070c 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 23dac8a..7152768 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 00b56b1..9b96c1f 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 80bbbed..5833c08 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 aa5ca7f0..323a896 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 cbf1b46..b40438c 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 15656cf..bca6576 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 da4c88b..146ad44 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 2daa346..65f5cfe 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 bb46a99..342a0a6 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 e489476..feb4b4a 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 886d7a5..29805b5 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 a253d6b..a704e50 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 9178494..80e3a92 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 baeaa48..ef8c1f6 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 36e2d02..fc134b8 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 a55a717..44071bd 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 1c1be5e..5d7c9f6 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 bbcca08..2bebed0 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 d9bf0da..3950dbf 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 8a2054e..4b265b6 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 fb9cdf18..6ab5746 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 152762f..da2e83f 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 9985cd0..0e243d6 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 339f0e3..cb9f7b5 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 52816f8..ff98b58 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 f4f4b6d..6a12d6c 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 d04bbd6..ed00fb5 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 0f84901..70d3871 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 17e9149..68fb65c 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 46b5307..1727a74 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 852d324..9e713ac 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 96408d2..519d8ca 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 127883a..8db0ace 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 be3adbbd9..4a554aa 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 61c6572..adafb32 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 b96f65a..f0de449 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 0f51264..2cca82a 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 49bbdc3..5d178b8 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 37efedc..8a1683d 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 8967e8c..da8ed93 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 cceb98f..84d95fc 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 fb471b2..b4de8d6 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 3bb9d2b..2b1d1fe 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 6effd0a..9565828 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 263164f..b417310 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 ba2df1d..98984d6 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 d7bb773..bff4b7b 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 ffbbe31..fd79c8c 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 e731c20..2f24687 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 d84a81c..36b93d8 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 d69b312..0330445 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 0e5a9de..04f681f 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 f15c417..901d211 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 4c63b96..63e6733 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 768c9af..e92801d 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 27f4c0a..c4e0a5c 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 ac2dd8c..076f8a3 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 bbc0f10..334db18 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 832942e..5a87b7c 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 754ac92..3abd2f7 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 00ef817..60c223f 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 8fe2db0..476fb27 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 dfe9734..f781c2b 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 c32b5d4..a685394 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 71402bb..418b8f1 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 4db85d4..9787ac9 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 111d3b3..804aa32 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 d31f892..86d39f3 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 ee45a93..464408e4 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 cc46245..f76763f 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 35440b9..56f185e 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 448c92c..6d79148 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 e5075e2..c098138 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 0160e9a..40fd2f0 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 cd8cac3..7bd8fd4 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 cb95048..52bc06e 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 f3b7ecc..96c7301 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 ea181ae..02693c0 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 165e7cc..c1db101 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 609c0c9..72dd57f 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 b56f7c8..1828fc9 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 b535f1c..e630f33 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 44f562a..48c80d0 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 61da410..efee8bb 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 8a5f029..d324383 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 1a34249..fc4d43b 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 1c6d863..4b72bc8 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 78a3851..590287a 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 15d1aa5..8004ab0 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 d829f8a..06345fc 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 b660e84..7fd3530 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 d644512..ced2394 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 3c4813e..3c37c52 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 b4296ac..957c200 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 c64a522..ad3b2e4 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 4fc869d..310ac50 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 1ed6d5c..ce57b0c 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 a6ffd33..0ac61981 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 8b574f5..af43f66b 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 f95056c..1f3439d 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 5ff84ed..847f2d5 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 50ecfd9..61ee8e5 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 82eabb6..56ed376 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 90875cf..dc0b88d 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 b22f4eb..221b38f 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 abd2794..7df7fb9 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 2733c62..d229485 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. |