c++: add missing -Wc++??-extensions checks
The pedwarns for each of these features should be silenced by the appropriate -Wno-c++??-extensions. The handle_pragma_diagnostic_impl change is necessary so that we handle -Wc++23-extensions early so it's available to interpret_float while lexing. gcc/c-family/ChangeLog: * c-pragma.cc (handle_pragma_diagnostic_impl): Also handle -Wc++23-extensions early. * c-lex.cc (interpret_float): Use -Wc++23-extensions for extended floating point literal pedwarn. gcc/cp/ChangeLog: * parser.cc (cp_parser_simple_type_specifier): Use -Wc++20-extensions for auto parameter pedwarn. * pt.cc (do_decl_instantiation, do_type_instantiation): Use -Wc++11-extensions for 'extern template'. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/extern_template-7.C: New test. * g++.dg/cpp23/ext-floating19.C: New test. * g++.dg/cpp2a/abbrev-fn1.C: New test.
Showing
- gcc/c-family/c-lex.cc 4 additions, 4 deletionsgcc/c-family/c-lex.cc
- gcc/c-family/c-pragma.cc 2 additions, 0 deletionsgcc/c-family/c-pragma.cc
- gcc/cp/parser.cc 1 addition, 1 deletiongcc/cp/parser.cc
- gcc/cp/pt.cc 4 additions, 4 deletionsgcc/cp/pt.cc
- gcc/testsuite/g++.dg/cpp0x/extern_template-7.C 10 additions, 0 deletionsgcc/testsuite/g++.dg/cpp0x/extern_template-7.C
- gcc/testsuite/g++.dg/cpp23/ext-floating19.C 20 additions, 0 deletionsgcc/testsuite/g++.dg/cpp23/ext-floating19.C
- gcc/testsuite/g++.dg/cpp2a/abbrev-fn1.C 6 additions, 0 deletionsgcc/testsuite/g++.dg/cpp2a/abbrev-fn1.C
Loading
Please register or sign in to comment