c++: add -Wdeprecated-literal-operator [CWG2521]
C++23 CWG issue 2521 (https://wg21.link/cwg2521) deprecates user-defined literal operators declared with the optional space between "" and the suffix. Many testcases used that syntax; I removed the space from most of them, and added C++23 warning tests to a few. CWG 2521 gcc/ChangeLog: * doc/invoke.texi: Document -Wdeprecated-literal-operator. gcc/c-family/ChangeLog: * c.opt: Add -Wdeprecated-literal-operator. * c-opts.cc (c_common_post_options): Default on in C++23. * c.opt.urls: Regenerate. gcc/cp/ChangeLog: * parser.cc (location_between): New. (cp_parser_operator): Handle -Wdeprecated-literal-operator. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/udlit-string-literal.h * g++.dg/cpp0x/Wliteral-suffix2.C * g++.dg/cpp0x/constexpr-55708.C * g++.dg/cpp0x/gnu_fext-numeric-literals.C * g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C * g++.dg/cpp0x/pr51420.C * g++.dg/cpp0x/pr60209-neg.C * g++.dg/cpp0x/pr60209.C * g++.dg/cpp0x/pr61038.C * g++.dg/cpp0x/std_fext-numeric-literals.C * g++.dg/cpp0x/std_fno-ext-numeric-literals.C * g++.dg/cpp0x/udlit-addr.C * g++.dg/cpp0x/udlit-args-neg.C * g++.dg/cpp0x/udlit-args.C * g++.dg/cpp0x/udlit-args2.C * g++.dg/cpp0x/udlit-clink-neg.C * g++.dg/cpp0x/udlit-concat-neg.C * g++.dg/cpp0x/udlit-concat.C * g++.dg/cpp0x/udlit-constexpr.C * g++.dg/cpp0x/udlit-cpp98-neg.C * g++.dg/cpp0x/udlit-declare-neg.C * g++.dg/cpp0x/udlit-embed-quote.C * g++.dg/cpp0x/udlit-extended-id-1.C * g++.dg/cpp0x/udlit-extended-id-3.C * g++.dg/cpp0x/udlit-extern-c.C * g++.dg/cpp0x/udlit-friend.C * g++.dg/cpp0x/udlit-general.C * g++.dg/cpp0x/udlit-implicit-conv-neg-char8_t.C * g++.dg/cpp0x/udlit-implicit-conv-neg.C * g++.dg/cpp0x/udlit-inline.C * g++.dg/cpp0x/udlit-mangle.C * g++.dg/cpp0x/udlit-member-neg.C * g++.dg/cpp0x/udlit-namespace.C * g++.dg/cpp0x/udlit-nofunc-neg.C * g++.dg/cpp0x/udlit-nonempty-str-neg.C * g++.dg/cpp0x/udlit-nosuffix-neg.C * g++.dg/cpp0x/udlit-nounder-neg.C * g++.dg/cpp0x/udlit-operator-neg.C * g++.dg/cpp0x/udlit-overflow-neg.C * g++.dg/cpp0x/udlit-overflow.C * g++.dg/cpp0x/udlit-preproc-neg.C * g++.dg/cpp0x/udlit-raw-length.C * g++.dg/cpp0x/udlit-raw-op-string-neg.C * g++.dg/cpp0x/udlit-raw-op.C * g++.dg/cpp0x/udlit-raw-str.C * g++.dg/cpp0x/udlit-resolve-char8_t.C * g++.dg/cpp0x/udlit-resolve.C * g++.dg/cpp0x/udlit-shadow-neg.C * g++.dg/cpp0x/udlit-string-length.C * g++.dg/cpp0x/udlit-suffix-neg.C * g++.dg/cpp0x/udlit-template.C * g++.dg/cpp0x/udlit-tmpl-arg-neg.C * g++.dg/cpp0x/udlit-tmpl-arg-neg2.C * g++.dg/cpp0x/udlit-tmpl-arg.C * g++.dg/cpp0x/udlit-tmpl-parms-neg.C * g++.dg/cpp0x/udlit-tmpl-parms.C * g++.dg/cpp1y/pr57640.C * g++.dg/cpp1y/pr88872.C * g++.dg/cpp26/unevalstr1.C * g++.dg/cpp2a/concepts-pr60391.C * g++.dg/cpp2a/consteval-prop21.C * g++.dg/cpp2a/nontype-class6.C * g++.dg/cpp2a/udlit-class-nttp-ctad-neg.C * g++.dg/cpp2a/udlit-class-nttp-ctad-neg2.C * g++.dg/cpp2a/udlit-class-nttp-ctad.C * g++.dg/cpp2a/udlit-class-nttp-neg.C * g++.dg/cpp2a/udlit-class-nttp-neg2.C * g++.dg/cpp2a/udlit-class-nttp.C * g++.dg/ext/is_convertible2.C * g++.dg/lookup/pr87269.C * g++.dg/cpp0x/udlit_system_header: Adjust for C++23 deprecated operator "" _suffix. * g++.dg/DRs/dr2521.C: New test.
Showing
- gcc/c-family/c-opts.cc 5 additions, 0 deletionsgcc/c-family/c-opts.cc
- gcc/c-family/c.opt 4 additions, 0 deletionsgcc/c-family/c.opt
- gcc/c-family/c.opt.urls 3 additions, 0 deletionsgcc/c-family/c.opt.urls
- gcc/cp/parser.cc 29 additions, 4 deletionsgcc/cp/parser.cc
- gcc/doc/invoke.texi 12 additions, 0 deletionsgcc/doc/invoke.texi
- gcc/testsuite/g++.dg/DRs/dr2521.C 5 additions, 0 deletionsgcc/testsuite/g++.dg/DRs/dr2521.C
- gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix2.C 3 additions, 2 deletionsgcc/testsuite/g++.dg/cpp0x/Wliteral-suffix2.C
- gcc/testsuite/g++.dg/cpp0x/constexpr-55708.C 1 addition, 1 deletiongcc/testsuite/g++.dg/cpp0x/constexpr-55708.C
- gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C 16 additions, 16 deletionsgcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C
- gcc/testsuite/g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C 16 additions, 16 deletionsgcc/testsuite/g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C
- gcc/testsuite/g++.dg/cpp0x/pr51420.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/cpp0x/pr51420.C
- gcc/testsuite/g++.dg/cpp0x/pr60209-neg.C 8 additions, 8 deletionsgcc/testsuite/g++.dg/cpp0x/pr60209-neg.C
- gcc/testsuite/g++.dg/cpp0x/pr60209.C 2 additions, 0 deletionsgcc/testsuite/g++.dg/cpp0x/pr60209.C
- gcc/testsuite/g++.dg/cpp0x/pr61038.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/cpp0x/pr61038.C
- gcc/testsuite/g++.dg/cpp0x/std_fext-numeric-literals.C 16 additions, 16 deletionsgcc/testsuite/g++.dg/cpp0x/std_fext-numeric-literals.C
- gcc/testsuite/g++.dg/cpp0x/std_fno-ext-numeric-literals.C 16 additions, 16 deletionsgcc/testsuite/g++.dg/cpp0x/std_fno-ext-numeric-literals.C
- gcc/testsuite/g++.dg/cpp0x/udlit-addr.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/cpp0x/udlit-addr.C
- gcc/testsuite/g++.dg/cpp0x/udlit-args-neg.C 12 additions, 12 deletionsgcc/testsuite/g++.dg/cpp0x/udlit-args-neg.C
- gcc/testsuite/g++.dg/cpp0x/udlit-args.C 11 additions, 11 deletionsgcc/testsuite/g++.dg/cpp0x/udlit-args.C
- gcc/testsuite/g++.dg/cpp0x/udlit-args2.C 4 additions, 4 deletionsgcc/testsuite/g++.dg/cpp0x/udlit-args2.C
Loading
Please register or sign in to comment