Skip to content
Snippets Groups Projects
Commit b6ff52a9 authored by Jason Merrill's avatar Jason Merrill
Browse files

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.
parent 5b08ae50
No related branches found
No related tags found
Loading
Showing
with 169 additions and 112 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment