On 08/22/2014 04:36 PM, Jason Merrill wrote:
OK, thanks.
Jason
Committed 214400.
Attached patch is the one committed.
Thanks.
libcpp/
2014-08-23 Edward Smith-Rowland <3dw...@verizon.net>
* include/cpplib.h (enum c_lang): Add CLK_GNUCXX1Z, CLK_CXX1Z;
Rename CLK_GNUCXX1Y, CLK_CXX1Y to CLK_GNUCXX14, CLK_CXX14;
* init.c (struct lang_flags lang_defaults): Add column for trigraphs;
Add rows for CLK_GNUCXX1Z, CLK_CXX1Z; (cpp_set_lang): Set trigraphs;
(cpp_init_builtins): Set __cplusplus to 201402L for C++14;
Set __cplusplus to 201500L for C++17.
* expr.c (cpp_classify_number): Change C++1y to C++14 in binary
constants error message.
gcc/c-family/
2014-08-23 Edward Smith-Rowland <3dw...@verizon.net>
* c-common.h (enum cxx_dialect): Add cxx14.
* c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
* c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
gcc/cp/
2014-08-23 Edward Smith-Rowland <3dw...@verizon.net>
* decl.c (compute_array_index_type, grokdeclarator,
undeduced_auto_decl): Change from cxx1y to cxx14.
*lambda.c(add_capture()): Change error message from C++1y to C++14.
* parser.c (cp_parser_unqualified_id, cp_parser_pseudo_destructor_name,
cp_parser_lambda_introducer, cp_parser_lambda_declarator_opt,
cp_parser_decltype, cp_parser_conversion_type_id,
cp_parser_simple_type_specifier, cp_parser_type_id_1,
cp_parser_template_type_arg, cp_parser_std_attribute,
cp_parser_template_declaration_after_export): Ditto.
* pt.c (tsubst): Ditto.
* semantics.c (force_paren_expr, finish_decltype_type): Ditto.
* tree.c: Change comment.
* typeck.c (comp_template_parms_position, cxx_sizeof_or_alignof_type,
cp_build_addr_expr_1, maybe_warn_about_useless_cast): Ditto.
gcc/
2014-08-23 Edward Smith-Rowland <3dw...@verizon.net>
* doc/invoke.texi: Change c++1y to c++14 and gnu++1y to gnu++14.
Deprecate c++1y. Change language to reflect greater confidence in C++14.
gcc/testsuite/
2014-08-23 Edward Smith-Rowland <3dw...@verizon.net>
* g++.dg/cpp0x/cplusplus.C: New.
* g++.dg/cpp0x/cplusplus_0x.C: New.
* g++.dg/cpp0x/auto3.C: Change c++1y to c++14.
* g++.dg/cpp0x/auto41.C: Ditto.
* g++.dg/cpp0x/auto9.C: Ditto.
* g++.dg/cpp0x/initlist26.C: Ditto.
* g++.dg/cpp0x/pr59111.C: Ditto.
* g++.dg/cpp0x/trailing2.C: Ditto.
* g++.dg/cpp1y/attr-deprecated.C: Ditto.
* g++.dg/cpp1y/auto-dtor1.C: Ditto.
* g++.dg/cpp1y/auto-fn1.C: Ditto.
* g++.dg/cpp1y/auto-fn2.C: Ditto.
* g++.dg/cpp1y/auto-fn3.C: Ditto.
* g++.dg/cpp1y/auto-fn4.C: Ditto.
* g++.dg/cpp1y/auto-fn5.C: Ditto.
* g++.dg/cpp1y/auto-fn6.C: Ditto.
* g++.dg/cpp1y/auto-fn7.C: Ditto.
* g++.dg/cpp1y/auto-fn8.C: Ditto.
* g++.dg/cpp1y/auto-fn9.C: Ditto.
* g++.dg/cpp1y/auto-fn10.C: Ditto.
* g++.dg/cpp1y/auto-fn11.C: Ditto.
* g++.dg/cpp1y/auto-fn12.C: Ditto.
* g++.dg/cpp1y/auto-fn13.C: Ditto.
* g++.dg/cpp1y/auto-fn14.C: Ditto.
* g++.dg/cpp1y/auto-fn15.C: Ditto.
* g++.dg/cpp1y/auto-fn16.C: Ditto.
* g++.dg/cpp1y/auto-fn17.C: Ditto.
* g++.dg/cpp1y/auto-fn18.C: Ditto.
* g++.dg/cpp1y/auto-fn19.C: Ditto.
* g++.dg/cpp1y/auto-fn20.C: Ditto.
* g++.dg/cpp1y/auto-fn21.C: Ditto.
* g++.dg/cpp1y/auto-fn22.C: Ditto.
* g++.dg/cpp1y/auto-fn23.C: Ditto.
* g++.dg/cpp1y/auto-fn24.C: Ditto.
* g++.dg/cpp1y/auto-fn25.C: Ditto.
* g++.dg/cpp1y/auto-mangle1.C: Ditto.
* g++.dg/cpp1y/auto-neg1.C: Ditto.
* g++.dg/cpp1y/digit-sep.C: Ditto.
* g++.dg/cpp1y/digit-sep-neg.C: Ditto.
* g++.dg/cpp1y/digit-sep-cxx11-neg.C: Ditto.
* g++.dg/cpp1y/fn-generic-member-ool.C: Ditto.
* g++.dg/cpp1y/lambda-deduce-mult.C: Ditto.
* g++.dg/cpp1y/lambda-generic.C: Ditto.
* g++.dg/cpp1y/lambda-generic-cfun.C: Ditto.
* g++.dg/cpp1y/lambda-generic-dep.C: Ditto.
* g++.dg/cpp1y/lambda-generic-mixed.C: Ditto.
* g++.dg/cpp1y/lambda-generic-udt.C: Ditto.
* g++.dg/cpp1y/lambda-generic-variadic.C: Ditto.
* g++.dg/cpp1y/lambda-generic-vla1.C: Ditto.
* g++.dg/cpp1y/lambda-generic-x.C: Ditto.
* g++.dg/cpp1y/lambda-generic-xcfun.C: Ditto.
* g++.dg/cpp1y/lambda-generic-xudt.C: Ditto.
* g++.dg/cpp1y/lambda-init.C: Ditto.
* g++.dg/cpp1y/lambda-init1.C: Ditto.
* g++.dg/cpp1y/lambda-init2.C: Ditto.
* g++.dg/cpp1y/lambda-init3.C: Ditto.
* g++.dg/cpp1y/lambda-init4.C: Ditto.
* g++.dg/cpp1y/lambda-init5.C: Ditto.
* g++.dg/cpp1y/lambda-init6.C: Ditto.
* g++.dg/cpp1y/lambda-init7.C: Ditto.
* g++.dg/cpp1y/lambda-init8.C: Ditto.
* g++.dg/cpp1y/lambda-init9.C: Ditto.
* g++.dg/cpp1y/mangle1.C: Ditto.
* g++.dg/cpp1y/pr57640.C: Ditto.
* g++.dg/cpp1y/pr57644.C: Ditto.
* g++.dg/cpp1y/pr58500.C: Ditto.
* g++.dg/cpp1y/pr58533.C: Ditto.
* g++.dg/cpp1y/pr58534.C: Ditto.
* g++.dg/cpp1y/pr58535.C: Ditto.
* g++.dg/cpp1y/pr58536.C: Ditto.
* g++.dg/cpp1y/pr58548.C: Ditto.
* g++.dg/cpp1y/pr58549.C: Ditto.
* g++.dg/cpp1y/pr58637.C: Ditto.
* g++.dg/cpp1y/pr58708.C: Ditto.
* g++.dg/cpp1y/pr59110.C: Ditto.
* g++.dg/cpp1y/pr59112.C: Ditto.
* g++.dg/cpp1y/pr59113.C: Ditto.
* g++.dg/cpp1y/pr59629.C: Ditto.
* g++.dg/cpp1y/pr59635.C: Ditto.
* g++.dg/cpp1y/pr59636.C: Ditto.
* g++.dg/cpp1y/pr59638.C: Ditto.
* g++.dg/cpp1y/pr59867.C: Ditto.
* g++.dg/cpp1y/pr60033.C: Ditto.
* g++.dg/cpp1y/pr60052.C: Ditto.
* g++.dg/cpp1y/pr60053.C: Ditto.
* g++.dg/cpp1y/pr60054.C: Ditto.
* g++.dg/cpp1y/pr60064.C: Ditto.
* g++.dg/cpp1y/pr60065.C: Ditto.
* g++.dg/cpp1y/pr60190.C: Ditto.
* g++.dg/cpp1y/pr60311.C: Ditto.
* g++.dg/cpp1y/pr60332.C: Ditto.
* g++.dg/cpp1y/pr60376.C: Ditto.
* g++.dg/cpp1y/pr60377.C: Ditto.
* g++.dg/cpp1y/pr60384.C: Ditto.
* g++.dg/cpp1y/pr60390.C: Ditto.
* g++.dg/cpp1y/pr60391.C: Ditto.
* g++.dg/cpp1y/pr60393.C: Ditto.
* g++.dg/cpp1y/pr60573.C: Ditto.
* g++.dg/cpp1y/pr60626.C: Ditto.
* g++.dg/cpp1y/pr60627.C: Ditto.
* g++.dg/cpp1y/regress1.C: Ditto.
* g++.dg/cpp1y/system-binary-constants-1.C: Ditto.
* g++.dg/cpp1y/udlit-char-template.C: Ditto.
* g++.dg/cpp1y/udlit-char-template-neg.C: Ditto.
* g++.dg/cpp1y/udlit-empty-string-neg.C: Ditto.
* g++.dg/cpp1y/udlit-enc-prefix-neg.C: Ditto.
* g++.dg/cpp1y/udlit-userdef-string.C: Ditto.
* g++.dg/cpp1y/var-templ1.C: Ditto.
* g++.dg/cpp1y/var-templ2.C: Ditto.
* g++.dg/cpp1y/var-templ3.C: Ditto.
* g++.dg/cpp1y/var-templ4.C: Ditto.
* g++.dg/cpp1y/var-templ5.C: Ditto.
* g++.dg/cpp1y/var-templ6.C: Ditto.
* g++.dg/cpp1y/var-templ7.C: Ditto.
* g++.dg/cpp1y/vla1.C: Ditto.
* g++.dg/cpp1y/vla2.C: Ditto.
* g++.dg/cpp1y/vla3.C: Ditto.
* g++.dg/cpp1y/vla4.C: Ditto.
* g++.dg/cpp1y/vla5.C: Ditto.
* g++.dg/cpp1y/vla8.C: Ditto.
* g++.dg/cpp1y/vla9.C: Ditto.
* g++.dg/cpp1y/vla10.C: Ditto.
* g++.dg/cpp1y/vla11.C: Ditto.
* g++.dg/cpp1y/vla12.C: Ditto.
* g++.dg/cpp1y/vla13.C: Ditto.
* g++.dg/cpp1y/vla-initlist1.C: Ditto.
* g++.dg/ext/vector23.C: Ditto.
* g++.dg/ext/vla11.C: Ditto.
* gcc/testsuite/g++.dg/ubsan/cxx1y-vla.C: Ditto.
* g++.dg/warn/Wvla-2.C: Ditto.
* g++.dg/debug/dwarf2/auto1.C: Ditto.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-ped-neg.C: Ditto.
* g++.dg/cpp1y/cplusplus.C: Check for exact date.
* g++.dg/cpp1y/system-binary-constants-1.C: Check C++14 instead of C++1y
in error message.
* g++.dg/system-binary-constants-1.C: Ditto.
* g++.dg/cpp1y/cplusplus_1y.C: New.
* g++.dg/cpp1z/cplusplus.C: New.
* lib/target-supports.exp:
(check_effective_target_c++1y*): Rename to check_effective_target_c++14*
(check_effective_target_c++11_only): Call check_effective_target_c++14;
(check_effective_target_c++11_down): Ditto.
Index: libcpp/include/cpplib.h
===================================================================
--- libcpp/include/cpplib.h (revision 213910)
+++ 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 213910)
+++ 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");
@@ -509,7 +515,9 @@
_cpp_define_builtin (pfile, "__STDC_VERSION__ 199901L");
if (CPP_OPTION (pfile, uliterals)
- && !CPP_OPTION (pfile, cplusplus))
+ && !(CPP_OPTION (pfile, cplusplus)
+ && (CPP_OPTION (pfile, lang) == GNUCXX
+ || CPP_OPTION (pfile, lang) == CXX98)))
{
_cpp_define_builtin (pfile, "__STDC_UTF_16__ 1");
_cpp_define_builtin (pfile, "__STDC_UTF_32__ 1");
Index: libcpp/expr.c
===================================================================
--- libcpp/expr.c (revision 213910)
+++ libcpp/expr.c (working copy)
@@ -687,7 +687,7 @@
&& CPP_PEDANTIC (pfile))
cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0,
CPP_OPTION (pfile, cplusplus)
- ? "binary constants are a C++1y feature "
+ ? "binary constants are a C++14 feature "
"or GCC extension"
: "binary constants are a GCC extension");
Index: gcc/c-family/c-common.h
===================================================================
--- gcc/c-family/c-common.h (revision 213910)
+++ 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 213910)
+++ 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;
}
@@ -1585,9 +1585,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;
@@ -1594,7 +1594,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). */
@@ -1601,7 +1601,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;
@@ -1608,6 +1608,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 213910)
+++ gcc/c-family/c-ubsan.c (working copy)
@@ -146,12 +146,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 213910)
+++ gcc/cp/decl.c (working copy)
@@ -8417,7 +8417,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;
@@ -8429,7 +8429,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);
@@ -8487,7 +8487,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. */
@@ -8503,7 +8503,7 @@
DECL_ATTRIBUTES
(current_function_decl)))
{
- /* From C++1y onwards, we throw an exception on a negative
+ /* From C++14 onwards, we throw an exception on a negative
length size of an array; see above. */
/* We have to add 1 -- in the ubsan routine we generate
@@ -8632,7 +8632,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");
@@ -9652,14 +9652,14 @@
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 "
"%<auto%> type specifier without trailing "
"return type", name);
inform (input_location, "deduced return type "
- "only available with -std=c++1y or "
- "-std=gnu++1y");
+ "only available with -std=c++14 or "
+ "-std=gnu++14");
}
else if (virtualp)
{
@@ -9878,7 +9878,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
@@ -10235,7 +10235,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");
@@ -10481,7 +10481,7 @@
if (type_uses_auto (type))
{
- if (cxx_dialect >= cxx1y)
+ if (cxx_dialect >= cxx14)
error ("%<auto%> parameter not permitted in this context");
else
error ("parameter declared %<auto%>");
@@ -14631,7 +14631,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/lambda.c
===================================================================
--- gcc/cp/lambda.c (revision 213910)
+++ gcc/cp/lambda.c (working copy)
@@ -474,7 +474,7 @@
}
else if (variably_modified_type_p (type, NULL_TREE))
{
- error ("capture of variable-size type %qT that is not a C++1y array "
+ error ("capture of variable-size type %qT that is not a C++14 array "
"of runtime bound", type);
if (TREE_CODE (type) == ARRAY_TYPE
&& variably_modified_type_p (TREE_TYPE (type), NULL_TREE))
Index: gcc/cp/parser.c
===================================================================
--- gcc/cp/parser.c (revision 213910)
+++ gcc/cp/parser.c (working copy)
@@ -4972,10 +4972,10 @@
/* ~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");
+ "-std=c++14 or -std=gnu++14");
cp_lexer_consume_token (parser->lexer);
return build_nt (BIT_NOT_EXPR, make_auto ());
}
@@ -6897,10 +6897,10 @@
&& 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");
+ "-std=c++14 or -std=gnu++14");
cp_lexer_consume_token (parser->lexer);
cp_lexer_consume_token (parser->lexer);
*scope = NULL_TREE;
@@ -9067,10 +9067,10 @@
{
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");
+ "only available with -std=c++14 or -std=gnu++14");
capture_init_expr = cp_parser_initializer (parser, &direct,
&non_constant);
explicit_init_p = true;
@@ -9193,10 +9193,10 @@
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");
+ "-std=c++14 or -std=gnu++14");
cp_lexer_consume_token (parser->lexer);
@@ -12171,7 +12171,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);
@@ -12354,7 +12354,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 %<auto%> in conversion operator");
return error_mark_node;
@@ -14719,17 +14719,17 @@
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 %<auto%> in lambda parameter declaration "
"only available with "
- "-std=c++1y or -std=gnu++1y");
+ "-std=c++14 or -std=gnu++14");
}
- else if (cxx_dialect < cxx1y)
+ else if (cxx_dialect < cxx14)
pedwarn (location_of (type), 0,
"use of %<auto%> in parameter declaration "
"only available with "
- "-std=c++1y or -std=gnu++1y");
+ "-std=c++14 or -std=gnu++14");
else
pedwarn (location_of (type), OPT_Wpedantic,
"ISO C++ forbids use of %<auto%> in parameter "
@@ -18231,7 +18231,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
@@ -18264,7 +18264,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 %<auto%> in template argument");
r = error_mark_node;
@@ -22120,7 +22120,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");
}
@@ -23333,7 +23333,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);
@@ -23348,7 +23348,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 <char...>"
" or <typename CharT, CharT...>",
Index: gcc/cp/pt.c
===================================================================
--- gcc/cp/pt.c (revision 213910)
+++ gcc/cp/pt.c (working copy)
@@ -2310,10 +2310,10 @@
int wanted = num_template_headers_for_class (ctx);
if (!TYPE_P (ctx) || !CLASSTYPE_TEMPLATE_INFO (ctx))
{
- if (cxx_dialect < cxx1y)
+ if (cxx_dialect < cxx14)
pedwarn (DECL_SOURCE_LOCATION (decl), 0,
"variable templates only available with "
- "-std=c++1y or -std=gnu++1y");
+ "-std=c++14 or -std=gnu++14");
// Namespace-scope variable templates should have a template header.
++wanted;
@@ -12125,7 +12125,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 213910)
+++ gcc/cp/semantics.c (working copy)
@@ -1610,7 +1610,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
@@ -7063,7 +7063,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/tree.c
===================================================================
--- gcc/cp/tree.c (revision 213910)
+++ gcc/cp/tree.c (working copy)
@@ -890,7 +890,7 @@
return build_cplus_array_type (elt, build_index_type (size_int (n - 1)));
}
-/* True iff T is a C++1y array of runtime bound (VLA). */
+/* True iff T is a C++14 array of runtime bound (VLA). */
bool
array_of_runtime_bound_p (tree t)
Index: gcc/cp/typeck.c
===================================================================
--- gcc/cp/typeck.c (revision 213910)
+++ 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)
@@ -5509,7 +5509,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)
@@ -6331,7 +6331,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 213910)
+++ gcc/doc/invoke.texi (working copy)
@@ -1721,13 +1721,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
@@ -2675,7 +2685,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
@@ -5485,7 +5495,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_only } }
+
+#if __cplusplus != 201103L
+#error "__cplusplus != 201103L"
+#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,6 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+#if __cplusplus != 201103L
+#error "__cplusplus != 201103L"
+#endif
Index: gcc/testsuite/g++.dg/cpp0x/auto3.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/auto3.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp0x/auto3.C (working copy)
@@ -19,7 +19,7 @@
// CWG issue 625
A<auto> A2 = A1; // { dg-error "" }
-auto foo() { } // { dg-error "auto" "" { target { ! c++1y } } }
+auto foo() { } // { dg-error "auto" "" { target { ! c++14 } } }
void bar(auto i) // { dg-error "incomplete|auto" }
{
Index: gcc/testsuite/g++.dg/cpp0x/auto41.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/auto41.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp0x/auto41.C (working copy)
@@ -1,5 +1,5 @@
// PR c++/58550
// { dg-do compile { target c++11 } }
-auto foo(); // { dg-error "auto" "" { target { ! c++1y } } }
-auto fp = foo; // { dg-error "auto" "" { target c++1y } }
+auto foo(); // { dg-error "auto" "" { target { ! c++14 } } }
+auto fp = foo; // { dg-error "auto" "" { target c++14 } }
Index: gcc/testsuite/g++.dg/cpp0x/auto9.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/auto9.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp0x/auto9.C (working copy)
@@ -15,13 +15,13 @@
struct A
{
- operator auto (); // { dg-error "auto" "" {
target { ! c++1y } } }
- operator auto *(); // { dg-error "auto" "" {
target { ! c++1y } } }
+ operator auto (); // { dg-error "auto" "" {
target { ! c++14 } } }
+ operator auto *(); // { dg-error "auto" "" {
target { ! c++14 } } }
};
struct A2
{
- operator auto () -> int; // { dg-error "invalid use of"
"" { target { ! c++1y } } }
+ operator auto () -> int; // { dg-error "invalid use of"
"" { target { ! c++14 } } }
operator auto *() -> int; // { dg-error "auto" }
};
@@ -98,8 +98,8 @@
template <typename T = auto> struct E {}; // { dg-error "invalid use of" }
template <class T = auto *> struct F {}; // { dg-error "invalid use
of|expected" }
-auto fnlate () -> auto; // { dg-error "invalid
use of" "" { target { ! c++1y } } }
-auto fnlate2 () -> auto *; // { dg-error "invalid use
of|expected" "" { target { ! c++1y } } }
+auto fnlate () -> auto; // { dg-error "invalid
use of" "" { target { ! c++14 } } }
+auto fnlate2 () -> auto *; // { dg-error "invalid use
of|expected" "" { target { ! c++14 } } }
void
badthrow () throw (auto) // { dg-error "invalid use of" }
Index: gcc/testsuite/g++.dg/cpp0x/initlist26.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/initlist26.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp0x/initlist26.C (working copy)
@@ -1,6 +1,6 @@
// PR c++/42059
// { dg-do compile { target c++11 } }
-// { dg-options "" { target { ! c++1y } } }
+// { dg-options "" { target { ! c++14 } } }
void
foo (int i)
Index: gcc/testsuite/g++.dg/cpp0x/pr59111.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/pr59111.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp0x/pr59111.C (working copy)
@@ -1,5 +1,5 @@
// PR c++/59111
// { dg-do compile { target c++11 } }
-auto& foo(); // { dg-error "type specifier without trailing return type" ""
{ target { ! c++1y } } }
+auto& foo(); // { dg-error "type specifier without trailing return type" ""
{ target { ! c++14 } } }
int i = foo(); // { dg-error "" }
Index: gcc/testsuite/g++.dg/cpp0x/trailing2.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/trailing2.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp0x/trailing2.C (working copy)
@@ -3,7 +3,7 @@
// { dg-do compile { target c++11 } }
auto f1 () -> int;
-auto f2 (); // { dg-error "without trailing return type" "" {
target { ! c++1y } } }
+auto f2 (); // { dg-error "without trailing return type" "" {
target { ! c++14 } } }
int f3 () -> int; // { dg-error "trailing return type" }
auto *f4 () -> int; // { dg-error "trailing return type" }
@@ -10,7 +10,7 @@
struct A
{
auto f5 () const -> int;
- auto f6 (); // { dg-error "without trailing return type" "" {
target { ! c++1y } } }
+ auto f6 (); // { dg-error "without trailing return type" "" {
target { ! c++14 } } }
int f7 () -> int; // { dg-error "trailing return type" }
auto *f8 () -> int; // { dg-error "trailing return type" }
};
Index: gcc/testsuite/g++.dg/cpp1y/attr-deprecated.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/attr-deprecated.C (revision 213910)
+++ 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 213910)
+++ 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 <class T>
void f (T* p)
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn1.C (revision 213910)
+++ 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 213910)
+++ 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 <class T>
auto f(T t) { return t; }
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn11.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn11.C (revision 213910)
+++ 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 213910)
+++ 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 <class T>
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn13.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn13.C (revision 213910)
+++ 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 <class T>
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn14.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn14.C (revision 213910)
+++ 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 213910)
+++ 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<class,class> struct same_type;
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn16.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn16.C (revision 213910)
+++ 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<class,class> struct ST;
template<class T> struct ST<T,T> {};
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn17.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn17.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <class T>
auto f() { return T::i; }
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn2.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn2.C (revision 213910)
+++ 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 213910)
+++ 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 <class T>
auto f(T) { return 42; }
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn21.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn21.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <class T>
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 213910)
+++ 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 213910)
+++ 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 <class T, class U> struct ST;
template <class T> struct ST<T,T> {};
Index: gcc/testsuite/g++.dg/cpp1y/auto-fn7.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-fn7.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <class T>
Index: gcc/testsuite/g++.dg/cpp1y/auto-mangle1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/auto-mangle1.C (revision 213910)
+++ 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 213910)
+++ 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<typename> struct A;
Index: gcc/testsuite/g++.dg/cpp1y/cplusplus.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/cplusplus.C (revision 213910)
+++ 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_only } }
-#if __cplusplus <= 201103L
-#error
+#if __cplusplus != 201402L
+#error "__cplusplus != 201402L"
#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 }
+// { dg-options "-std=c++1y" }
+
+#if __cplusplus != 201402L
+#error "__cplusplus != 201402L"
+#endif
Index: gcc/testsuite/g++.dg/cpp1y/digit-sep-cxx11-neg.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/digit-sep-cxx11-neg.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <class T>
Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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
213910)
+++ 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 <typename T, typename U> struct pair {};
template <typename... T> struct tuple {};
Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C (revision 213910)
+++ 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 213910)
+++ 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 <iostream>
Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-xcfun.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/lambda-generic-xcfun.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <iostream>
Index: gcc/testsuite/g++.dg/cpp1y/lambda-init.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/lambda-init.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <initializer_list>
Index: gcc/testsuite/g++.dg/cpp1y/lambda-init6.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/lambda-init6.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <cassert>
Index: gcc/testsuite/g++.dg/cpp1y/lambda-init9.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/lambda-init9.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <chrono>
Index: gcc/testsuite/g++.dg/cpp1y/pr57644.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr57644.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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<typename> void foo(const auto&) {}
Index: gcc/testsuite/g++.dg/cpp1y/pr58535.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr58535.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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<typename, typename>
struct is_same
Index: gcc/testsuite/g++.dg/cpp1y/pr59110.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr59110.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 214399)
+++ 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 "" }
Index: gcc/testsuite/g++.dg/cpp1y/pr59867.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr59867.C (revision 213910)
+++ 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 213910)
+++ 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 <typename... T>
auto f(T&&... ts)
Index: gcc/testsuite/g++.dg/cpp1y/pr60052.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr60052.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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<typename T> T fooA(T);
template<typename T> decltype(T{}) fooB(T);
Index: gcc/testsuite/g++.dg/cpp1y/pr60064.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr60064.C (revision 213910)
+++ 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 213910)
+++ 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 <int> void foo(auto... x);
Index: gcc/testsuite/g++.dg/cpp1y/pr60190.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr60190.C (revision 213910)
+++ 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>() -> int() {}; // { dg-error "returning a function|expected" }
Index: gcc/testsuite/g++.dg/cpp1y/pr60311.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr60311.C (revision 213910)
+++ 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<void(*)(auto)> struct A {}; // { dg-error "auto" }
Index: gcc/testsuite/g++.dg/cpp1y/pr60332.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr60332.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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<typename> int foo();
Index: gcc/testsuite/g++.dg/cpp1y/pr60390.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/pr60390.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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<typename T> void foo(T) {}
Index: gcc/testsuite/g++.dg/cpp1y/regress1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/regress1.C (revision 213910)
+++ 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/system-binary-constants-1.C
===================================================================
--- gcc/testsuite/g++.dg/system-binary-constants-1.C (revision 213910)
+++ gcc/testsuite/g++.dg/system-binary-constants-1.C (working copy)
@@ -14,5 +14,5 @@
warning. */
return 23;
#endif
- return 0b1101; /* { dg-warning "binary constants are a C..1y feature or GCC
extension" } */
+ return 0b1101; /* { dg-warning "binary constants are a C..14 feature or GCC
extension" } */
}
Index: gcc/testsuite/g++.dg/cpp1y/system-binary-constants-1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/system-binary-constants-1.C (revision
213910)
+++ gcc/testsuite/g++.dg/cpp1y/system-binary-constants-1.C (working copy)
@@ -1,5 +1,5 @@
// Origin: Dodji Seketeli <do...@redhat.com>
-// { dg-do compile { target c++1y } }
+// { dg-do compile { target c++14 } }
#include "../system-binary-constants-1.h"
@@ -9,5 +9,5 @@
#if BINARY_INT_CONSTANT_IN_SYSTEM_HEADER
return 23;
#endif
- return 0b1101; // { dg-bogus "binary constants are a C..1y feature or GCC
extension" }
+ return 0b1101; // { dg-bogus "binary constants are a C..14 feature or GCC
extension" }
}
Index: gcc/testsuite/g++.dg/cpp1y/udlit-char-template-neg.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/udlit-char-template-neg.C (revision
213910)
+++ 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<typename CharT, CharT... String>
int
Index: gcc/testsuite/g++.dg/cpp1y/udlit-char-template.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/udlit-char-template.C (revision 213910)
+++ 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<typename CharT, CharT... String>
int
Index: gcc/testsuite/g++.dg/cpp1y/udlit-empty-string-neg.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/udlit-empty-string-neg.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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/var-templ1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/var-templ1.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp1y/var-templ1.C (working copy)
@@ -1,5 +1,4 @@
-// { dg-do run }
-// { dg-options "-std=c++1y" }
+// { dg-do run { target c++14 } }
template<int A, int B>
struct S1
Index: gcc/testsuite/g++.dg/cpp1y/var-templ2.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/var-templ2.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp1y/var-templ2.C (working copy)
@@ -1,5 +1,4 @@
-// { dg-do compile }
-// { dg-options "-std=c++1y" }
+// { dg-do compile { target c++14 } }
// Template variables and static member variables of template classes are
// often confused.
Index: gcc/testsuite/g++.dg/cpp1y/var-templ3.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/var-templ3.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp1y/var-templ3.C (working copy)
@@ -1,5 +1,4 @@
-// { dg-do run }
-// { dg-options "-std=c++1y" }
+// { dg-do run { target c++14 } }
template<typename T>
constexpr int var = sizeof (T);
Index: gcc/testsuite/g++.dg/cpp1y/var-templ4.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/var-templ4.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp1y/var-templ4.C (working copy)
@@ -1,5 +1,4 @@
-// { dg-do run }
-// { dg-options "-std=c++1y" }
+// { dg-do run { target c++14 } }
template<typename T>
constexpr int var = sizeof (T);
Index: gcc/testsuite/g++.dg/cpp1y/var-templ5.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/var-templ5.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp1y/var-templ5.C (working copy)
@@ -1,5 +1,4 @@
-// { dg-do run }
-// { dg-options "-std=c++1y" }
+// { dg-do run { target c++14 } }
template<int A, int B>
struct S1
Index: gcc/testsuite/g++.dg/cpp1y/var-templ6.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/var-templ6.C (revision 213910)
+++ gcc/testsuite/g++.dg/cpp1y/var-templ6.C (working copy)
@@ -1,4 +1,4 @@
-// { dg-options "-std=c++1y" }
+// { dg-do compile { target c++14 } }
template<typename T>
constexpr bool Class = __is_class(T);
Index: gcc/testsuite/g++.dg/cpp1y/var-templ7.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/var-templ7.C (revision 214399)
+++ gcc/testsuite/g++.dg/cpp1y/var-templ7.C (working copy)
@@ -1,4 +1,4 @@
-// { dg-do compile { target c++1y } }
+// { dg-do compile { target c++14 } }
template <class T> T var = 0;
Index: gcc/testsuite/g++.dg/cpp1y/vla-initlist1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/vla-initlist1.C (revision 213910)
+++ 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 <initializer_list>
Index: gcc/testsuite/g++.dg/cpp1y/vla1.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/vla1.C (revision 213910)
+++ 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 <typeinfo>
Index: gcc/testsuite/g++.dg/cpp1y/vla10.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/vla10.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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<typename> void foo()
{
Index: gcc/testsuite/g++.dg/cpp1y/vla13.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/vla13.C (revision 213910)
+++ 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 213910)
+++ 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 213910)
+++ 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 <new>
Index: gcc/testsuite/g++.dg/cpp1y/vla4.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/vla4.C (revision 213910)
+++ 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 <new>
Index: gcc/testsuite/g++.dg/cpp1y/vla5.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/vla5.C (revision 213910)
+++ 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 213910)
+++ 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<unsigned int TA>
struct SA
Index: gcc/testsuite/g++.dg/cpp1y/vla9.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/vla9.C (revision 213910)
+++ 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<typename Callable>
struct Impl
Index: gcc/testsuite/g++.dg/ext/vector23.C
===================================================================
--- gcc/testsuite/g++.dg/ext/vector23.C (revision 213910)
+++ gcc/testsuite/g++.dg/ext/vector23.C (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target c++1y } } */
+/* { dg-do compile { target c++14 } } */
/* { dg-options "-Wsign-conversion" } */
// Ignore warning on some powerpc-linux configurations.
// { dg-prune-output "non-standard ABI extension" }
Index: gcc/testsuite/g++.dg/ext/vla11.C
===================================================================
--- gcc/testsuite/g++.dg/ext/vla11.C (revision 213910)
+++ gcc/testsuite/g++.dg/ext/vla11.C (working copy)
@@ -1,6 +1,6 @@
// Test that auto works with VLAs.
// { dg-do compile { target c++11 } }
-// { dg-options "" { target { ! c++1y } } }
+// { dg-options "" { target { ! c++14 } } }
void bar(int n)
{
Index: gcc/testsuite/g++.dg/ubsan/cxx1y-vla.C
===================================================================
--- gcc/testsuite/g++.dg/ubsan/cxx1y-vla.C (revision 213910)
+++ gcc/testsuite/g++.dg/ubsan/cxx1y-vla.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-fsanitize=vla-bound -Wall -Wno-unused-variable -std=c++1y" }
*/
+/* { dg-options "-fsanitize=vla-bound -Wall -Wno-unused-variable -std=c++14" }
*/
/* { dg-shouldfail "ubsan" } */
int
Index: gcc/testsuite/g++.dg/warn/Wvla-2.C
===================================================================
--- gcc/testsuite/g++.dg/warn/Wvla-2.C (revision 213910)
+++ gcc/testsuite/g++.dg/warn/Wvla-2.C (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! c++1y } } } */
+/* { dg-do compile { target { ! c++14 } } } */
/* { dg-options "-pedantic-errors -Wvla" } */
void func (int i)
Index: gcc/testsuite/g++.dg/debug/dwarf2/auto1.C
===================================================================
--- gcc/testsuite/g++.dg/debug/dwarf2/auto1.C (revision 213910)
+++ gcc/testsuite/g++.dg/debug/dwarf2/auto1.C (working copy)
@@ -1,5 +1,5 @@
// PR c++/53756
-// { dg-do compile { target c++1y } }
+// { dg-do compile { target c++14 } }
// { dg-options "-g -dA -fno-debug-types-section" }
// We're looking for something like
Index: gcc/testsuite/g++.dg/cpp1z/typename-tmpl-tmpl-parm-ped-neg.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1z/typename-tmpl-tmpl-parm-ped-neg.C
(revision 213910)
+++ gcc/testsuite/g++.dg/cpp1z/typename-tmpl-tmpl-parm-ped-neg.C
(working copy)
@@ -1,4 +1,4 @@
-// { dg-do compile { target c++1y_down } }
+// { dg-do compile { target c++14_down } }
// { dg-options "-pedantic" }
template<typename T>
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,6 @@
+// { dg-do compile }
+// { dg-options "-std=c++1z" }
+
+#if __cplusplus <= 201402L
+#error "__cplusplus <= 201402L"
+#endif
Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp (revision 213910)
+++ gcc/testsuite/lib/target-supports.exp (working copy)
@@ -5683,7 +5683,7 @@
}
# Check whether the current active language standard supports the features
-# of C++11/C++1y by checking for the presence of one of the -std
+# of C++11/C++14 by checking for the presence of one of the -std
# flags. This assumes that the default for the compiler is C++98, and that
# there will never be multiple -std= arguments on the command line.
proc check_effective_target_c++11_only { } {
@@ -5696,28 +5696,29 @@
if [check_effective_target_c++11_only] {
return 1
}
- return [check_effective_target_c++1y]
+ return [check_effective_target_c++14]
}
proc check_effective_target_c++11_down { } {
if ![check_effective_target_c++] {
return 0
}
- return ![check_effective_target_c++1y]
+ return ![check_effective_target_c++14]
}
-proc check_effective_target_c++1y_only { } {
+proc check_effective_target_c++14_only { } {
if ![check_effective_target_c++] {
return 0
}
return [check-flags { { } { } { -std=c++1y -std=gnu++1y -std=c++14
-std=gnu++14 } }]
}
-proc check_effective_target_c++1y { } {
- if [check_effective_target_c++1y_only] {
+
+proc check_effective_target_c++14 { } {
+ if [check_effective_target_c++14_only] {
return 1
}
return [check_effective_target_c++1z]
}
-proc check_effective_target_c++1y_down { } {
+proc check_effective_target_c++14_down { } {
if ![check_effective_target_c++] {
return 0
}