Index: libcpp/include/cpplib.h =================================================================== --- libcpp/include/cpplib.h (revision 212639) +++ libcpp/include/cpplib.h (working copy) @@ -166,7 +166,7 @@ enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_STDC11, CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11, - CLK_GNUCXX1Y, CLK_CXX1Y, CLK_ASM}; + CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX1Z, CLK_CXX1Z, CLK_ASM}; /* Payload of a NUMBER, STRING, CHAR or COMMENT token. */ struct GTY(()) cpp_string { Index: libcpp/init.c =================================================================== --- libcpp/init.c (revision 212639) +++ libcpp/init.c (working copy) @@ -90,26 +90,29 @@ char user_literals; char binary_constants; char digit_separators; + char trigraphs; }; static const struct lang_flags lang_defaults[] = -{ /* c99 c++ xnum xid c11 std // digr ulit rlit udlit bin_cst dig_sep */ - /* GNUC89 */ { 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, - /* GNUC99 */ { 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 }, - /* GNUC11 */ { 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0 }, - /* STDC89 */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, - /* STDC94 */ { 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 }, - /* STDC99 */ { 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, - /* STDC11 */ { 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, - /* GNUCXX */ { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, - /* CXX98 */ { 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, - /* GNUCXX11 */ { 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0 }, - /* CXX11 */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0 }, - /* GNUCXX1Y */ { 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 }, - /* CXX1Y */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, - /* ASM */ { 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } +{ /* c99 c++ xnum xid c11 std // digr ulit rlit udlit bincst digsep trig */ + /* GNUC89 */ { 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }, + /* GNUC99 */ { 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0 }, + /* GNUC11 */ { 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0 }, + /* STDC89 */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 }, + /* STDC94 */ { 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1 }, + /* STDC99 */ { 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 }, + /* STDC11 */ { 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 }, + /* GNUCXX */ { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }, + /* CXX98 */ { 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 }, + /* GNUCXX11 */ { 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0 }, + /* CXX11 */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1 }, + /* GNUCXX14 */ { 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 }, + /* CXX14 */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, + /* GNUCXX1Z */ { 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 }, + /* CXX1Z */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, + /* ASM */ { 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } /* xid should be 1 for GNUC99, STDC99, GNUCXX, CXX98, GNUCXX11, CXX11, - GNUCXX1Y, and CXX1Y when no longer experimental (when all uses of + GNUCXX14, and CXX14 when no longer experimental (when all uses of identifiers in the compiler have been audited for correct handling of extended identifiers). */ }; @@ -128,7 +131,6 @@ CPP_OPTION (pfile, extended_identifiers) = l->extended_identifiers; CPP_OPTION (pfile, c11_identifiers) = l->c11_identifiers; CPP_OPTION (pfile, std) = l->std; - CPP_OPTION (pfile, trigraphs) = l->std; CPP_OPTION (pfile, cplusplus_comments) = l->cplusplus_comments; CPP_OPTION (pfile, digraphs) = l->digraphs; CPP_OPTION (pfile, uliterals) = l->uliterals; @@ -136,6 +138,7 @@ CPP_OPTION (pfile, user_literals) = l->user_literals; CPP_OPTION (pfile, binary_constants) = l->binary_constants; CPP_OPTION (pfile, digit_separators) = l->digit_separators; + CPP_OPTION (pfile, trigraphs) = l->trigraphs; } /* Initialize library global state. */ @@ -489,9 +492,12 @@ if (CPP_OPTION (pfile, cplusplus)) { - if (CPP_OPTION (pfile, lang) == CLK_CXX1Y - || CPP_OPTION (pfile, lang) == CLK_GNUCXX1Y) - _cpp_define_builtin (pfile, "__cplusplus 201300L"); + if (CPP_OPTION (pfile, lang) == CLK_CXX1Z + || CPP_OPTION (pfile, lang) == CLK_GNUCXX1Z) + _cpp_define_builtin (pfile, "__cplusplus 201500L"); + else if (CPP_OPTION (pfile, lang) == CLK_CXX14 + || CPP_OPTION (pfile, lang) == CLK_GNUCXX14) + _cpp_define_builtin (pfile, "__cplusplus 201402L"); else if (CPP_OPTION (pfile, lang) == CLK_CXX11 || CPP_OPTION (pfile, lang) == CLK_GNUCXX11) _cpp_define_builtin (pfile, "__cplusplus 201103L"); Index: gcc/c-family/c-common.h =================================================================== --- gcc/c-family/c-common.h (revision 212639) +++ gcc/c-family/c-common.h (working copy) @@ -640,8 +640,9 @@ /* C++11 */ cxx0x, cxx11 = cxx0x, - /* C++1y (C++14?) */ + /* C++14 */ cxx1y, + cxx14 = cxx1y, /* C++1z (C++17?) */ cxx1z }; Index: gcc/c-family/c-opts.c =================================================================== --- gcc/c-family/c-opts.c (revision 212639) +++ gcc/c-family/c-opts.c (working copy) @@ -115,7 +115,7 @@ static void handle_OPT_d (const char *); static void set_std_cxx98 (int); static void set_std_cxx11 (int); -static void set_std_cxx1y (int); +static void set_std_cxx14 (int); static void set_std_cxx1z (int); static void set_std_c89 (int, int); static void set_std_c99 (int); @@ -697,7 +697,7 @@ case OPT_std_gnu__1y: if (!preprocessing_asm_p) { - set_std_cxx1y (code == OPT_std_c__1y /* ISO */); + set_std_cxx14 (code == OPT_std_c__1y /* ISO */); if (code == OPT_std_c__1y) cpp_opts->ext_numeric_literals = 0; } @@ -1578,9 +1578,9 @@ /* Set the C++ 201y draft standard (without GNU extensions if ISO). */ static void -set_std_cxx1y (int iso) +set_std_cxx14 (int iso) { - cpp_set_lang (parse_in, iso ? CLK_CXX1Y: CLK_GNUCXX1Y); + cpp_set_lang (parse_in, iso ? CLK_CXX14: CLK_GNUCXX14); flag_no_gnu_keywords = iso; flag_no_nonansi_builtin = iso; flag_iso = iso; @@ -1587,7 +1587,7 @@ /* C++11 includes the C99 standard library. */ flag_isoc94 = 1; flag_isoc99 = 1; - cxx_dialect = cxx1y; + cxx_dialect = cxx14; } /* Set the C++ 201z draft standard (without GNU extensions if ISO). */ @@ -1594,7 +1594,7 @@ static void set_std_cxx1z (int iso) { - cpp_set_lang (parse_in, iso ? CLK_CXX1Y: CLK_GNUCXX1Y); + cpp_set_lang (parse_in, iso ? CLK_CXX1Z: CLK_GNUCXX1Z); flag_no_gnu_keywords = iso; flag_no_nonansi_builtin = iso; flag_iso = iso; @@ -1601,6 +1601,7 @@ /* C++11 includes the C99 standard library. */ flag_isoc94 = 1; flag_isoc99 = 1; + flag_isoc11 = 1; cxx_dialect = cxx1z; } Index: gcc/c-family/c-ubsan.c =================================================================== --- gcc/c-family/c-ubsan.c (revision 212639) +++ gcc/c-family/c-ubsan.c (working copy) @@ -144,12 +144,12 @@ build_int_cst (TREE_TYPE (tt), 0)); } - /* For signed x << y, in C++11/C++14, the following: + /* For signed x << y, in C++11 and later, the following: x < 0 || ((unsigned) x >> (precm1 - y)) if > 1, is undefined. */ if (code == LSHIFT_EXPR && !TYPE_UNSIGNED (TREE_TYPE (op0)) - && (cxx_dialect == cxx11 || cxx_dialect == cxx1y)) + && (cxx_dialect >= cxx11)) { tree x = fold_build2 (MINUS_EXPR, integer_type_node, precm1, op1); tt = fold_convert_loc (loc, unsigned_type_for (type0), op0); Index: gcc/cp/decl.c =================================================================== --- gcc/cp/decl.c (revision 212639) +++ gcc/cp/decl.c (working copy) @@ -8381,7 +8381,7 @@ /* We don't allow VLAs at non-function scopes, or during tentative template substitution. */ || !at_function_scope_p () - || (cxx_dialect < cxx1y && !(complain & tf_error))) + || (cxx_dialect < cxx14 && !(complain & tf_error))) { if (!(complain & tf_error)) return error_mark_node; @@ -8393,7 +8393,7 @@ error ("size of array is not an integral constant-expression"); size = integer_one_node; } - else if (cxx_dialect < cxx1y && pedantic && warn_vla != 0) + else if (cxx_dialect < cxx14 && pedantic && warn_vla != 0) { if (name) pedwarn (input_location, OPT_Wvla, "ISO C++ forbids variable length array %qD", name); @@ -8451,7 +8451,7 @@ stabilize_vla_size (itype); - if (cxx_dialect >= cxx1y && flag_exceptions) + if (cxx_dialect >= cxx14 && flag_exceptions) { /* If the VLA bound is larger than half the address space, or less than zero, throw std::bad_array_length. */ @@ -8596,7 +8596,7 @@ return error_mark_node; } - if (cxx_dialect >= cxx1y && array_of_runtime_bound_p (type) + if (cxx_dialect >= cxx14 && array_of_runtime_bound_p (type) && (flag_iso || warn_vla > 0)) pedwarn (input_location, OPT_Wvla, "array of array of runtime bound"); @@ -9611,7 +9611,7 @@ if (current_class_type && LAMBDA_TYPE_P (current_class_type)) /* OK for C++11 lambdas. */; - else if (cxx_dialect < cxx1y) + else if (cxx_dialect < cxx14) { error ("%qs function uses " "% type specifier without trailing " @@ -9837,7 +9837,7 @@ : G_("cannot declare pointer to qualified function type %qT"), type); - if (cxx_dialect >= cxx1y && array_of_runtime_bound_p (type) + if (cxx_dialect >= cxx14 && array_of_runtime_bound_p (type) && (flag_iso || warn_vla > 0)) pedwarn (input_location, OPT_Wvla, declarator->kind == cdk_reference @@ -10193,7 +10193,7 @@ type = error_mark_node; } - if (cxx_dialect >= cxx1y && array_of_runtime_bound_p (type) + if (cxx_dialect >= cxx14 && array_of_runtime_bound_p (type) && (flag_iso || warn_vla > 0)) pedwarn (input_location, OPT_Wvla, "typedef naming array of runtime bound"); @@ -10439,7 +10439,7 @@ if (type_uses_auto (type)) { - if (cxx_dialect >= cxx1y) + if (cxx_dialect >= cxx14) error ("% parameter not permitted in this context"); else error ("parameter declared %"); @@ -14566,7 +14566,7 @@ bool undeduced_auto_decl (tree decl) { - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) return false; return type_uses_auto (TREE_TYPE (decl)); } Index: gcc/cp/parser.c =================================================================== --- gcc/cp/parser.c (revision 212639) +++ gcc/cp/parser.c (working copy) @@ -4974,7 +4974,7 @@ /* ~auto means the destructor of whatever the object is. */ if (cp_parser_is_keyword (token, RID_AUTO)) { - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) pedwarn (input_location, 0, "%<~auto%> only available with " "-std=c++1y or -std=gnu++1y"); @@ -6899,7 +6899,7 @@ && cp_lexer_nth_token_is_keyword (parser->lexer, 2, RID_AUTO) && !type_dependent_expression_p (object)) { - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) pedwarn (input_location, 0, "%<~auto%> only available with " "-std=c++1y or -std=gnu++1y"); @@ -9055,7 +9055,7 @@ { bool direct, non_constant; /* An explicit initializer exists. */ - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) pedwarn (input_location, 0, "lambda capture initializers " "only available with -std=c++1y or -std=gnu++1y"); @@ -9181,7 +9181,7 @@ an opening angle if present. */ if (cp_lexer_next_token_is (parser->lexer, CPP_LESS)) { - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) pedwarn (parser->lexer->next_token->location, 0, "lambda templates are only available with " "-std=c++1y or -std=gnu++1y"); @@ -12159,7 +12159,7 @@ return error_mark_node; /* decltype (auto) */ - if (cxx_dialect >= cxx1y + if (cxx_dialect >= cxx14 && cp_lexer_next_token_is_keyword (parser->lexer, RID_AUTO)) { cp_lexer_consume_token (parser->lexer); @@ -12342,7 +12342,7 @@ if (! cp_parser_uncommitted_to_tentative_parse_p (parser) && type_uses_auto (type_specified)) { - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) { error ("invalid use of % in conversion operator"); return error_mark_node; @@ -14703,13 +14703,13 @@ if (current_class_type && LAMBDA_TYPE_P (current_class_type)) { - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) pedwarn (location_of (type), 0, "use of % in lambda parameter declaration " "only available with " "-std=c++1y or -std=gnu++1y"); } - else if (cxx_dialect < cxx1y) + else if (cxx_dialect < cxx14) pedwarn (location_of (type), 0, "use of % in parameter declaration " "only available with " @@ -18206,7 +18206,7 @@ if (type_specifier_seq.type /* None of the valid uses of 'auto' in C++14 involve the type-id nonterminal, but it is valid in a trailing-return-type. */ - && !(cxx_dialect >= cxx1y && is_trailing_return) + && !(cxx_dialect >= cxx14 && is_trailing_return) && type_uses_auto (type_specifier_seq.type)) { /* A type-id with type 'auto' is only ok if the abstract declarator @@ -18239,7 +18239,7 @@ = G_("types may not be defined in template arguments"); r = cp_parser_type_id_1 (parser, true, false); parser->type_definition_forbidden_message = saved_message; - if (cxx_dialect >= cxx1y && type_uses_auto (r)) + if (cxx_dialect >= cxx14 && type_uses_auto (r)) { error ("invalid use of % in template argument"); r = error_mark_node; @@ -22066,7 +22066,7 @@ if (is_attribute_p ("noreturn", attr_id)) TREE_PURPOSE (TREE_PURPOSE (attribute)) = get_identifier ("gnu"); /* C++14 deprecated attribute is equivalent to GNU's. */ - else if (cxx_dialect >= cxx1y && is_attribute_p ("deprecated", attr_id)) + else if (cxx_dialect >= cxx14 && is_attribute_p ("deprecated", attr_id)) TREE_PURPOSE (TREE_PURPOSE (attribute)) = get_identifier ("gnu"); } @@ -23279,7 +23279,7 @@ || !TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (parm))) ok = false; } - else if (num_parms == 2 && cxx_dialect >= cxx1y) + else if (num_parms == 2 && cxx_dialect >= cxx14) { tree parm_type = TREE_VEC_ELT (parameter_list, 0); tree type = INNERMOST_TEMPLATE_PARMS (parm_type); @@ -23294,7 +23294,7 @@ } if (!ok) { - if (cxx_dialect >= cxx1y) + if (cxx_dialect >= cxx14) error ("literal operator template %qD has invalid parameter list." " Expected non-type template argument pack " " or ", Index: gcc/cp/pt.c =================================================================== --- gcc/cp/pt.c (revision 212639) +++ gcc/cp/pt.c (working copy) @@ -12043,7 +12043,7 @@ r = cp_build_reference_type (type, TYPE_REF_IS_RVALUE (t)); r = cp_build_qualified_type_real (r, cp_type_quals (t), complain); - if (cxx_dialect >= cxx1y + if (cxx_dialect >= cxx14 && !(TREE_CODE (t) == REFERENCE_TYPE && REFERENCE_VLA_OK (t)) && array_of_runtime_bound_p (type) && (flag_iso || warn_vla > 0)) Index: gcc/cp/semantics.c =================================================================== --- gcc/cp/semantics.c (revision 212639) +++ gcc/cp/semantics.c (working copy) @@ -1611,7 +1611,7 @@ force_paren_expr (tree expr) { /* This is only needed for decltype(auto) in C++14. */ - if (cxx_dialect < cxx1y) + if (cxx_dialect < cxx14) return expr; /* If we're in unevaluated context, we can't be deducing a @@ -7051,7 +7051,7 @@ } } - if (cxx_dialect >= cxx1y && array_of_runtime_bound_p (type) + if (cxx_dialect >= cxx14 && array_of_runtime_bound_p (type) && (flag_iso || warn_vla > 0)) { if (complain & tf_warning_or_error) Index: gcc/cp/typeck.c =================================================================== --- gcc/cp/typeck.c (revision 212639) +++ gcc/cp/typeck.c (working copy) @@ -1148,7 +1148,7 @@ /* In C++14 we can end up comparing 'auto' to a normal template parameter. Don't confuse them. */ - if (cxx_dialect >= cxx1y && (is_auto (t1) || is_auto (t2))) + if (cxx_dialect >= cxx14 && (is_auto (t1) || is_auto (t2))) return TYPE_IDENTIFIER (t1) == TYPE_IDENTIFIER (t2); return true; @@ -1558,7 +1558,7 @@ return value; } - if (cxx_dialect >= cxx1y && array_of_runtime_bound_p (type) + if (cxx_dialect >= cxx14 && array_of_runtime_bound_p (type) && (flag_iso || warn_vla > 0)) { if (complain & tf_warning_or_error) @@ -5493,7 +5493,7 @@ if (argtype != error_mark_node) { - if (cxx_dialect >= cxx1y && array_of_runtime_bound_p (argtype) + if (cxx_dialect >= cxx14 && array_of_runtime_bound_p (argtype) && (flag_iso || warn_vla > 0)) { if (complain & tf_warning_or_error) @@ -6315,7 +6315,7 @@ /* In C++14 mode, this interacts badly with force_paren_expr. And it isn't necessary in any mode, because the code below handles glvalues properly. For 4.9, just skip it in C++14 mode. */ - if (cxx_dialect < cxx1y && REFERENCE_REF_P (expr)) + if (cxx_dialect < cxx14 && REFERENCE_REF_P (expr)) expr = TREE_OPERAND (expr, 0); if ((TREE_CODE (type) == REFERENCE_TYPE Index: gcc/doc/invoke.texi =================================================================== --- gcc/doc/invoke.texi (revision 212639) +++ gcc/doc/invoke.texi (working copy) @@ -1719,13 +1719,23 @@ GNU dialect of @option{-std=c++11}. The name @samp{gnu++0x} is deprecated. -@item c++1y +@item c++14 +@itemx c++1y +The 2014 ISO C++ standard plus amendments. +The name @samp{c++1y} is deprecated. + +@item gnu++14 +@itemx gnu++1y +GNU dialect of @option{-std=c++14}. +The name @samp{gnu++1y} is deprecated. + +@item c++1z The next revision of the ISO C++ standard, tentatively planned for -2014. Support is highly experimental, and will almost certainly +2017. Support is highly experimental, and will almost certainly change in incompatible ways in future releases. -@item gnu++1y -GNU dialect of @option{-std=c++1y}. Support is highly experimental, +@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. @end table @@ -2683,7 +2693,7 @@ as C++11 user-defined literal numeric suffixes. This is on by default for all pre-C++11 dialects and all GNU dialects: @option{-std=c++98}, @option{-std=gnu++98}, @option{-std=gnu++11}, -@option{-std=gnu++1y}. +@option{-std=gnu++14}. This option is off by default for ISO C++11 onwards (@option{-std=c++11}, ...). @end table @@ -5454,7 +5464,7 @@ @opindex fsanitize=vla-bound This option instructs the compiler to check that the size of a variable length array is positive. This option does not have any effect in -@option{-std=c++1y} mode, as the standard requires the exception be thrown +@option{-std=c++14} mode, as the standard requires the exception be thrown instead. @item -fsanitize=null Index: gcc/testsuite/g++.dg/cpp0x/cplusplus.C =================================================================== --- gcc/testsuite/g++.dg/cpp0x/cplusplus.C (revision 0) +++ gcc/testsuite/g++.dg/cpp0x/cplusplus.C (working copy) @@ -0,0 +1,5 @@ +// { dg-do compile { target c++11 } } + +#if __cplusplus != 201103L +#error +#endif Index: gcc/testsuite/g++.dg/cpp0x/cplusplus_0x.C =================================================================== --- gcc/testsuite/g++.dg/cpp0x/cplusplus_0x.C (revision 0) +++ gcc/testsuite/g++.dg/cpp0x/cplusplus_0x.C (working copy) @@ -0,0 +1,5 @@ +// { dg-do compile { target c++0x } } + +#if __cplusplus != 201103L +#error +#endif Index: gcc/testsuite/g++.dg/cpp1y/attr-deprecated.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/attr-deprecated.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/attr-deprecated.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } class [[deprecated]] A { Index: gcc/testsuite/g++.dg/cpp1y/auto-dtor1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-dtor1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-dtor1.C (working copy) @@ -1,5 +1,5 @@ // DR 1586 -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } template void f (T* p) Index: gcc/testsuite/g++.dg/cpp1y/auto-fn1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn1.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } constexpr auto f() { return (char)42; } #define SA(X) static_assert ((X),#X) Index: gcc/testsuite/g++.dg/cpp1y/auto-fn10.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn10.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn10.C (working copy) @@ -1,6 +1,6 @@ // A template declared with auto should be declared with auto in an // explicit instantiation or explicit specialization, too. -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template auto f(T t) { return t; } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn11.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn11.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn11.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f() { return; } // OK, return type is void auto* g() { return; } // { dg-error "no value" } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn12.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn12.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn12.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-final { scan-assembler "_ZN1AIiEcvDaEv" } } template Index: gcc/testsuite/g++.dg/cpp1y/auto-fn13.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn13.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn13.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } struct A { template Index: gcc/testsuite/g++.dg/cpp1y/auto-fn14.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn14.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn14.C (working copy) @@ -1,5 +1,5 @@ // PR c++/56177 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f (); auto f () { return 33; } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn15.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn15.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn15.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "-Wno-return-local-addr" } template struct same_type; Index: gcc/testsuite/g++.dg/cpp1y/auto-fn16.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn16.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn16.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template struct ST; template struct ST {}; Index: gcc/testsuite/g++.dg/cpp1y/auto-fn17.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn17.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn17.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } int c; int d; Index: gcc/testsuite/g++.dg/cpp1y/auto-fn18.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn18.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn18.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } struct A { Index: gcc/testsuite/g++.dg/cpp1y/auto-fn19.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn19.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn19.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template auto f() { return T::i; } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn2.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn2.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn2.C (working copy) @@ -1,3 +1,3 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f() { return f(); } // { dg-error "auto" } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn20.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn20.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn20.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template auto f(T) { return 42; } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn21.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn21.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn21.C (working copy) @@ -1,5 +1,5 @@ // N3638: decltype(auto) must stand alone -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void f(); decltype(auto) g1() { return &f; } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn22.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn22.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn22.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } struct A { Index: gcc/testsuite/g++.dg/cpp1y/auto-fn23.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn23.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn23.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58561 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "-g" } auto foo(); Index: gcc/testsuite/g++.dg/cpp1y/auto-fn24.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn24.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn24.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60314 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "-g" } // fine Index: gcc/testsuite/g++.dg/cpp1y/auto-fn25.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn25.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn25.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60574 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-require-effective-target lto } // { dg-options "-flto" } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn3.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn3.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn3.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } bool b; auto f() Index: gcc/testsuite/g++.dg/cpp1y/auto-fn4.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn4.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn4.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template constexpr auto f(T t) { return t+1; } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn5.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn5.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn5.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } int i; auto& f() { return i; } Index: gcc/testsuite/g++.dg/cpp1y/auto-fn6.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn6.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn6.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template struct ST; template struct ST {}; Index: gcc/testsuite/g++.dg/cpp1y/auto-fn7.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn7.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn7.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f(); Index: gcc/testsuite/g++.dg/cpp1y/auto-fn8.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn8.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn8.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f() { return 42; } // { dg-message "old declaration .auto" } auto f(); // OK Index: gcc/testsuite/g++.dg/cpp1y/auto-fn9.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-fn9.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-fn9.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-final { scan-assembler "_Z1fIiERDaRKT_S1_" } } template Index: gcc/testsuite/g++.dg/cpp1y/auto-mangle1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-mangle1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-mangle1.C (working copy) @@ -1,5 +1,5 @@ // Mangling for decltype(auto) -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void f(); Index: gcc/testsuite/g++.dg/cpp1y/auto-neg1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/auto-neg1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/auto-neg1.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60312 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template struct A; Index: gcc/testsuite/g++.dg/cpp1y/cplusplus.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/cplusplus.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/cplusplus.C (working copy) @@ -1,5 +1,5 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } -#if __cplusplus <= 201103L +#if __cplusplus != 201402L #error #endif Index: gcc/testsuite/g++.dg/cpp1y/cplusplus_1y.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/cplusplus_1y.C (revision 0) +++ gcc/testsuite/g++.dg/cpp1y/cplusplus_1y.C (working copy) @@ -0,0 +1,6 @@ +// { dg-do compile { target c++1y } } + +#if __cplusplus != 201402L +#error +#endif + Index: gcc/testsuite/g++.dg/cpp1y/digit-sep-cxx11-neg.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/digit-sep-cxx11-neg.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/digit-sep-cxx11-neg.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target { ! c++1y } } } +// { dg-do compile { target { ! c++14 } } } #define assert(E) if(!(E))__builtin_abort(); Index: gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int main() Index: gcc/testsuite/g++.dg/cpp1y/digit-sep.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/digit-sep.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/digit-sep.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } #define assert(E) if(!(E))__builtin_abort(); Index: gcc/testsuite/g++.dg/cpp1y/fn-generic-member-ool.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/fn-generic-member-ool.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/fn-generic-member-ool.C (working copy) @@ -1,5 +1,5 @@ // Out-of-line generic member function definitions. -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A { Index: gcc/testsuite/g++.dg/cpp1y/lambda-deduce-mult.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-deduce-mult.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-deduce-mult.C (working copy) @@ -1,7 +1,7 @@ // Testcase for an extension to allow return type deduction when the lambda // contains more than just a single return-statement. -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } bool b; template Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C (working copy) @@ -1,5 +1,5 @@ // Generic lambda conversion to function ptr test from N3690 5.1.2.6 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } void f1(int (*)(int)) { } Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-dep.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-dep.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-dep.C (working copy) @@ -1,5 +1,5 @@ // Generic lambda type dependence test part from N3690 5.1.2.12 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void f(int, const int (&)[2] = {}) { } // #1 void f(const int&, const int (&)[1]) { } // #2 Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-mixed.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-mixed.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-mixed.C (working copy) @@ -1,5 +1,5 @@ // Mixed explicit and implicit generic lambda test. -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int main() { Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-udt.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-udt.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-udt.C (working copy) @@ -1,6 +1,6 @@ // Ensure that generic lambdas properly construct and destroy user types. // { dg-options "-DUSE_AUTO_SYNTAX" } -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } int i = 3; Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic.C (working copy) @@ -1,5 +1,5 @@ // Basic generic lambda test -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } template struct pair {}; template struct tuple {}; Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C (working copy) @@ -1,5 +1,5 @@ // PR c++/59271 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } extern "C" int printf (const char *, ...); Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C (working copy) @@ -1,5 +1,5 @@ // Explicit generic lambda test from N3690 5.1.2.5 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-xcfun.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-xcfun.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-xcfun.C (working copy) @@ -1,5 +1,5 @@ // Explicit generic lambda conversion to function ptr test from N3690 5.1.2.6 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } void f1(int (*)(int)) { } Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-xudt.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-xudt.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic-xudt.C (working copy) @@ -1,5 +1,5 @@ // Ensure that generic lambdas properly construct and destroy user types. -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "-DUSE_EXPLICIT_TEMPLATE_SYNTAX" } #include "lambda-generic-udt.C" Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-generic.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-generic.C (working copy) @@ -1,5 +1,5 @@ // Generic lambda test from N3690 5.1.2.5 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/lambda-init.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init.C (working copy) @@ -1,5 +1,5 @@ -// Test for the explicit initializer extension of C++1y -// { dg-do compile { target c++1y } } +// Test for the explicit initializer extension of C++14 +// { dg-do compile { target c++14 } } int main() { Index: gcc/testsuite/g++.dg/cpp1y/lambda-init1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init1.C (working copy) @@ -1,6 +1,6 @@ // N3648: capture init // { dg-options "-w" } -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } int main() { Index: gcc/testsuite/g++.dg/cpp1y/lambda-init2.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init2.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init2.C (working copy) @@ -1,5 +1,5 @@ // N3648: redundancy and capture init -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int main() { Index: gcc/testsuite/g++.dg/cpp1y/lambda-init3.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init3.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init3.C (working copy) @@ -1,6 +1,6 @@ // N3648: capture init at non-block scope // { dg-options "-w" } -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } int i = 42; int j = [x=i]{ return x; }(); Index: gcc/testsuite/g++.dg/cpp1y/lambda-init4.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init4.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init4.C (working copy) @@ -1,5 +1,5 @@ // N3648: capture init example from paper -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } int x = 4; auto y = [&r = x, x = x+1]()->int { Index: gcc/testsuite/g++.dg/cpp1y/lambda-init5.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init5.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init5.C (working copy) @@ -1,5 +1,5 @@ // Test for paren and brace initializers -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/lambda-init6.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init6.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init6.C (working copy) @@ -1,5 +1,5 @@ // Test that captures are not named in the closure type. -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int main() { Index: gcc/testsuite/g++.dg/cpp1y/lambda-init7.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init7.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init7.C (working copy) @@ -1,5 +1,5 @@ // PR c++/59349 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int foo () { [bar()]{}; // { dg-error "empty initializer" } Index: gcc/testsuite/g++.dg/cpp1y/lambda-init8.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init8.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init8.C (working copy) @@ -1,5 +1,5 @@ // DR1760: "no additional copy and destruction is performed" -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/lambda-init9.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/lambda-init9.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/lambda-init9.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void f() { Index: gcc/testsuite/g++.dg/cpp1y/mangle1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/mangle1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/mangle1.C (working copy) @@ -1,5 +1,5 @@ // Test that the parens don't show up in the mangling -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "-Wno-return-local-addr" } // { dg-final { scan-assembler "_Z1gI1AEDTdtfp_1iET_" } } Index: gcc/testsuite/g++.dg/cpp1y/pr57640.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr57640.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr57640.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/pr57644.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr57644.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr57644.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } struct Foo { Index: gcc/testsuite/g++.dg/cpp1y/pr58500.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58500.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58500.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58500 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A {}; Index: gcc/testsuite/g++.dg/cpp1y/pr58533.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58533.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58533.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58533 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void foo() { Index: gcc/testsuite/g++.dg/cpp1y/pr58534.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58534.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58534.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58534 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } template void foo(const auto&) {} Index: gcc/testsuite/g++.dg/cpp1y/pr58535.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58535.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58535.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58535 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A Index: gcc/testsuite/g++.dg/cpp1y/pr58536.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58536.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58536.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58536 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A Index: gcc/testsuite/g++.dg/cpp1y/pr58548.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58548.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58548.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58548 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } void foo(auto) Index: gcc/testsuite/g++.dg/cpp1y/pr58549.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58549.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58549.C (working copy) @@ -1,5 +1,5 @@ // PR c++/58549 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } void foo(auto) Index: gcc/testsuite/g++.dg/cpp1y/pr58637.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58637.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58637.C (working copy) @@ -1,4 +1,4 @@ // PR c++/58637 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template<> void foo(auto); // { dg-error "auto|not a template" } Index: gcc/testsuite/g++.dg/cpp1y/pr58708.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr58708.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr58708.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } template struct is_same Index: gcc/testsuite/g++.dg/cpp1y/pr59110.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59110.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59110.C (working copy) @@ -1,4 +1,4 @@ // PR c++/59110 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int i = *(auto*)0; // { dg-error "" } Index: gcc/testsuite/g++.dg/cpp1y/pr59112.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59112.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59112.C (working copy) @@ -1,5 +1,5 @@ // PR c++/59112 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void foo() { Index: gcc/testsuite/g++.dg/cpp1y/pr59113.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59113.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59113.C (working copy) @@ -1,5 +1,5 @@ // PR c++/59113 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void foo() { Index: gcc/testsuite/g++.dg/cpp1y/pr59629.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59629.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59629.C (working copy) @@ -1,4 +1,4 @@ // PR c++/59629 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void foo(int i = []{ auto 0; }()); // { dg-error "expected|could not convert" } Index: gcc/testsuite/g++.dg/cpp1y/pr59635.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59635.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59635.C (working copy) @@ -1,5 +1,5 @@ // PR c++/59635 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f = [] (auto, ...) { return 0; }; Index: gcc/testsuite/g++.dg/cpp1y/pr59636.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59636.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59636.C (working copy) @@ -1,4 +1,4 @@ // PR c++/59636 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f = []() { return []<>() {}; }; // { dg-error "expected identifier" } Index: gcc/testsuite/g++.dg/cpp1y/pr59638.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59638.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59638.C (working copy) @@ -1,5 +1,5 @@ // PR c++/59638 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } void (*a)(auto); // { dg-error "template declaration" } Index: gcc/testsuite/g++.dg/cpp1y/pr59867.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr59867.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr59867.C (working copy) @@ -1,5 +1,5 @@ // PR c++/59867 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } using namespace std; Index: gcc/testsuite/g++.dg/cpp1y/pr60033.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60033.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60033.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60033 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template auto f(T&&... ts) Index: gcc/testsuite/g++.dg/cpp1y/pr60052.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60052.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60052.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60052 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A Index: gcc/testsuite/g++.dg/cpp1y/pr60053.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60053.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60053.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60053 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A Index: gcc/testsuite/g++.dg/cpp1y/pr60054.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60054.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60054.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60054 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template T fooA(T); template decltype(T{}) fooB(T); Index: gcc/testsuite/g++.dg/cpp1y/pr60064.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60064.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60064.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60064 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } class A Index: gcc/testsuite/g++.dg/cpp1y/pr60065.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60065.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60065.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60065 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } template void foo(auto... x); Index: gcc/testsuite/g++.dg/cpp1y/pr60190.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60190.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60190.C (working copy) @@ -1,4 +1,4 @@ // PR c++/60190 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } auto f = []() -> int() {}; // { dg-error "returning a function|expected" } Index: gcc/testsuite/g++.dg/cpp1y/pr60311.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60311.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60311.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60311 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template struct A {}; // { dg-error "auto" } Index: gcc/testsuite/g++.dg/cpp1y/pr60332.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60332.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60332.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60332 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void foo(); Index: gcc/testsuite/g++.dg/cpp1y/pr60376.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60376.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60376.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60376 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } struct A { Index: gcc/testsuite/g++.dg/cpp1y/pr60377.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60377.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60377.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60377 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } void foo(auto, void (f*)()); // { dg-error "expected" } Index: gcc/testsuite/g++.dg/cpp1y/pr60384.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60384.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60384.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60384 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template int foo(); Index: gcc/testsuite/g++.dg/cpp1y/pr60390.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60390.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60390.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60390 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A Index: gcc/testsuite/g++.dg/cpp1y/pr60391.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60391.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60391.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60391 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } namespace N Index: gcc/testsuite/g++.dg/cpp1y/pr60393.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60393.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60393.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60393 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } void (*f)(auto) + 0; // { dg-error "expected" } Index: gcc/testsuite/g++.dg/cpp1y/pr60573.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60573.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60573.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60573 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A Index: gcc/testsuite/g++.dg/cpp1y/pr60626.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60626.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60626.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60626 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } struct A {}; Index: gcc/testsuite/g++.dg/cpp1y/pr60627.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/pr60627.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/pr60627.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60627 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } // { dg-options "" } template void foo(T) {} Index: gcc/testsuite/g++.dg/cpp1y/regress1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/regress1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/regress1.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60409 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } struct A { Index: gcc/testsuite/g++.dg/cpp1y/system-binary-constants-1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/system-binary-constants-1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/system-binary-constants-1.C (working copy) @@ -1,5 +1,5 @@ // Origin: Dodji Seketeli -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } #include "../system-binary-constants-1.h" Index: gcc/testsuite/g++.dg/cpp1y/udlit-char-template-neg.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/udlit-char-template-neg.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/udlit-char-template-neg.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target { c++11 && { ! c++1y } } } } +// { dg-do compile { target { c++11 && { ! c++14 } } } } template int Index: gcc/testsuite/g++.dg/cpp1y/udlit-char-template.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/udlit-char-template.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/udlit-char-template.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template int Index: gcc/testsuite/g++.dg/cpp1y/udlit-empty-string-neg.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/udlit-empty-string-neg.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/udlit-empty-string-neg.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int operator "*"_s(unsigned long long) // { dg-error "expected empty string after 'operator'" } Index: gcc/testsuite/g++.dg/cpp1y/udlit-enc-prefix-neg.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/udlit-enc-prefix-neg.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/udlit-enc-prefix-neg.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int operator L""_Ls(unsigned long long) // { dg-error "invalid encoding prefix in literal operator" } Index: gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } #include "complex_literals.h" Index: gcc/testsuite/g++.dg/cpp1y/vla-initlist1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla-initlist1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla-initlist1.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/vla1.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla1.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla1.C (working copy) @@ -1,4 +1,4 @@ -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/vla10.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla10.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla10.C (working copy) @@ -1,5 +1,5 @@ // PR c++/57402 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } int i = 2; Index: gcc/testsuite/g++.dg/cpp1y/vla11.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla11.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla11.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60251 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void foo(int n) { Index: gcc/testsuite/g++.dg/cpp1y/vla12.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla12.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla12.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60250 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template void foo() { Index: gcc/testsuite/g++.dg/cpp1y/vla13.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla13.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla13.C (working copy) @@ -1,5 +1,5 @@ // PR c++/60227 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void foo(int n) { Index: gcc/testsuite/g++.dg/cpp1y/vla2.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla2.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla2.C (working copy) @@ -1,5 +1,5 @@ // N3639 allows initialization and capture of VLAs -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } void f(int n) { Index: gcc/testsuite/g++.dg/cpp1y/vla3.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla3.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla3.C (working copy) @@ -1,5 +1,5 @@ // Test for throwing bad_array_length on invalid array length -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/vla4.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla4.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla4.C (working copy) @@ -1,5 +1,5 @@ // Test for range-based for with VLAs. -// { dg-do run { target c++1y } } +// { dg-do run { target c++14 } } #include Index: gcc/testsuite/g++.dg/cpp1y/vla5.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla5.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla5.C (working copy) @@ -1,5 +1,5 @@ // PR c++/55149 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } void test(int n) { int r[n]; Index: gcc/testsuite/g++.dg/cpp1y/vla8.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla8.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla8.C (working copy) @@ -1,5 +1,5 @@ // PR c++/55149 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template struct SA Index: gcc/testsuite/g++.dg/cpp1y/vla9.C =================================================================== --- gcc/testsuite/g++.dg/cpp1y/vla9.C (revision 212639) +++ gcc/testsuite/g++.dg/cpp1y/vla9.C (working copy) @@ -1,5 +1,5 @@ // PR c++/57408 -// { dg-do compile { target c++1y } } +// { dg-do compile { target c++14 } } template struct Impl Index: gcc/testsuite/g++.dg/cpp1z/cplusplus.C =================================================================== --- gcc/testsuite/g++.dg/cpp1z/cplusplus.C (revision 0) +++ gcc/testsuite/g++.dg/cpp1z/cplusplus.C (working copy) @@ -0,0 +1,5 @@ +// { dg-do compile { target c++1z } } + +#if __cplusplus <= 201402L +#error +#endif