Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
Adding a few more tweaks: commit bf054f32b165fda6e90c52a57a31538e5ae24678 Author: Jason Merrill ja...@redhat.com Date: Mon Aug 25 00:48:17 2014 -0400 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for -std=c++14 and -std=gnu++14, rather than the reverse. * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14. * c-common.h (cxx_dialect): Remove cxx1y. diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index f621a3a..d1cc810 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -640,9 +640,8 @@ enum cxx_dialect { /* C++11 */ cxx0x, cxx11 = cxx0x, - /* C++14 */ - cxx1y, - cxx14 = cxx1y, + /* C++14 */ + cxx14, /* C++1z (C++17?) */ cxx1z }; diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c index 42f1759..1b01b4f 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -698,12 +698,12 @@ c_common_handle_option (size_t scode, const char *arg, int value, } break; -case OPT_std_c__1y: -case OPT_std_gnu__1y: +case OPT_std_c__14: +case OPT_std_gnu__14: if (!preprocessing_asm_p) { - set_std_cxx14 (code == OPT_std_c__1y /* ISO */); - if (code == OPT_std_c__1y) + set_std_cxx14 (code == OPT_std_c__14 /* ISO */); + if (code == OPT_std_c__14) cpp_opts-ext_numeric_literals = 0; } break; @@ -1587,7 +1587,7 @@ set_std_cxx11 (int iso) cxx_dialect = cxx11; } -/* Set the C++ 201y draft standard (without GNU extensions if ISO). */ +/* Set the C++ 2014 draft standard (without GNU extensions if ISO). */ static void set_std_cxx14 (int iso) { diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index cb7bb3e..d619250 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -1440,11 +1440,12 @@ C++ ObjC++ Alias(std=c++11) Undocumented Deprecated in favor of -std=c++11 std=c++1y -C++ ObjC++ -Conform to the ISO 2014(?) C++ draft standard (experimental and incomplete support) +C++ ObjC++ Alias(std=c++14) Undocumented +Deprecated in favor of -std=c++14 std=c++14 -C++ ObjC++ Alias(std=c++1y) Undocumented +C++ ObjC++ Undocumented +Conform to the ISO 2014 C++ standard (experimental and incomplete support) std=c++1z C++ ObjC++ @@ -1496,11 +1497,11 @@ C++ ObjC++ Alias(std=gnu++11) Deprecated in favor of -std=gnu++11 std=gnu++1y -C++ ObjC++ -Conform to the ISO 201y(4?) C++ draft standard with GNU extensions (experimental and incomplete support) +C++ ObjC++ Alias(std=gnu++14) Undocumented std=gnu++14 -C++ ObjC++ Alias(std=gnu++1y) Undocumented +C++ ObjC++ +Conform to the ISO 2014 C++ standard with GNU extensions (experimental and incomplete support) std=gnu++1z C++ ObjC++ diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index f76fc3f..c50d8b8 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -248,10 +248,10 @@ static GTY(()) bool cold_text_section_used = false; /* The default cold text section. */ static GTY(()) section *cold_text_section; -/* The DIE for C++1y 'auto' in a function return type. */ +/* The DIE for C++14 'auto' in a function return type. */ static GTY(()) dw_die_ref auto_die; -/* The DIE for C++1y 'decltype(auto)' in a function return type. */ +/* The DIE for C++14 'decltype(auto)' in a function return type. */ static GTY(()) dw_die_ref decltype_auto_die; /* Forward declarations for functions defined in this file. */
Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
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. *
Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
OK, thanks. Jason
Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
On 07/16/2014 12:18 PM, Mike Stump wrote: On Jul 16, 2014, at 7:51 AM, Ed Smith-Rowland 3dw...@verizon.net wrote: Deprecate c++1y. Chane language to reflect greater confidence in C++14 Chane - Change. I looked at your patch, all seems fine. I like the documentation edits you did, nice job. Here is another round - basically the same except testcases tweaked. built and tested on x86_64-linux. OK? libcpp/ 2014-07-16 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. gcc/c-family/ 2014-07-16 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-07-16 Edward Smith-Rowland 3dw...@verizon.net * decl.c (compute_array_index_type, grokdeclarator, undeduced_auto_decl): Change from cxx1y to cxx14. * 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. * typeck.c (comp_template_parms_position, cxx_sizeof_or_alignof_type, cp_build_addr_expr_1, maybe_warn_about_useless_cast): Ditto. gcc/ 2014-07-16 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-07-16 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.
Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
On 07/16/2014 12:18 PM, Mike Stump wrote: On Jul 16, 2014, at 7:51 AM, Ed Smith-Rowland 3dw...@verizon.net wrote: Deprecate c++1y. Chane language to reflect greater confidence in C++14 Chane - Change. I looked at your patch, all seems fine. I like the documentation edits you did, nice job. In the last patch I has missed a few testcases. These are repaired and added to the patch. Sorry for the noise. built and tested on x86_64-linux. OK? libcpp/ 2014-07-26 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. gcc/c-family/ 2014-07-26 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-07-26 Edward Smith-Rowland 3dw...@verizon.net * decl.c (compute_array_index_type, grokdeclarator, undeduced_auto_decl): Change from cxx1y to cxx14. * 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. * typeck.c (comp_template_parms_position, cxx_sizeof_or_alignof_type, cp_build_addr_expr_1, maybe_warn_about_useless_cast): Ditto. gcc/ 2014-07-26 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-07-26 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.
Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
On Jul 16, 2014, at 7:51 AM, Ed Smith-Rowland 3dw...@verizon.net wrote: Deprecate c++1y. Chane language to reflect greater confidence in C++14 Chane - Change. I looked at your patch, all seems fine. I like the documentation edits you did, nice job.
[PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
Here are some C++ versioning changes reflecting C++14 status and adding c++1z. It is a followup to Jason's patch on 2014-06-26 adding std=c++1z, etc. This will allow us to start making C++1z changes to the preprocessor (n3981 remove trigraphs). In fact, I made trigraphs opt-in for both c++1z and gnu++1z. I did not change c-family/c.opt to change wording on options and aliasing to document C++14. Should we do that too? libcpp/ 2014-07-10 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. gcc/c-family/ 2014-07-10 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-07-10 Edward Smith-Rowland 3dw...@verizon.net * decl.c (compute_array_index_type, grokdeclarator, undeduced_auto_decl): Change from cxx1y to cxx14. * 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. * typeck.c (comp_template_parms_position, cxx_sizeof_or_alignof_type, cp_build_addr_expr_1, maybe_warn_about_useless_cast): Ditto. Index: libcpp/include/cpplib.h === --- libcpp/include/cpplib.h (revision 212346) +++ 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 212346) +++ 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,
Re: [PATCH, C++, CPP] Add C++1z to the preprocessor. Rename C++1y to C++14.
On Jul 10, 2014, at 2:12 AM, Ed Smith-Rowland 3dw...@verizon.net wrote: Rename C++1y to C++14. So generally when we do this we change most of the uses in the test suite of the c++1y flag to use the standard spelling. Some might appreciate that we have one test case testing the 1y spelling for completeness. Also, is there some documentation to update with the new spelling? doc/invoke.texi maybe?