gcc/libcpp
Jakub Jelinek 365202625d preprocessor: Implement C++23 P2437R1 - Support for #warning [PR106646]
On Thu, Aug 18, 2022 at 11:02:44PM +0000, Joseph Myers wrote:
> ISO C2x standardizes the existing #warning extension.  Arrange
> accordingly for it not to be diagnosed with -std=c2x -pedantic, but to
> be diagnosed with -Wc11-c2x-compat.

And here is the corresponding C++ version.
Don't pedwarn about this for C++23/GNU++23 and tweak the diagnostics
for C++ otherwise, + testsuite coverage.
The diagnostic wording is similar e.g. to the #elifdef diagnostics.

2022-08-24  Jakub Jelinek  <jakub@redhat.com>

	PR c++/106646
	* init.cc: Implement C++23 P2437R1 - Support for #warning.
	(lang_defaults): Set warning_directive for GNUCXX23 and CXX23.
	* directives.cc (directive_diagnostics): Use different wording of
	#warning pedwarn for C++.

	* g++.dg/cpp/warning-1.C: New test.
	* g++.dg/cpp/warning-2.C: New test.
	* g++.dg/cpp/warning-3.C: New test.
2022-08-24 09:55:57 +02:00
..
include libcpp: Implement C++23 P2290R3 - Delimited escape sequences [PR106645] 2022-08-20 10:26:55 +02:00
po Daily bump. 2022-05-05 00:16:29 +00:00
aclocal.m4 libcpp: Enable Intel CET on Intel CET enabled host for jit 2020-05-12 09:17:45 -07:00
ChangeLog Daily bump. 2022-08-21 00:16:33 +00:00
ChangeLog.jit
charset.cc libcpp: Implement C++23 P2290R3 - Delimited escape sequences [PR106645] 2022-08-20 10:26:55 +02:00
config.in aix: handle 64bit inodes for include directories 2022-01-12 16:59:47 +01:00
configure aix: handle 64bit inodes for include directories 2022-01-12 16:59:47 +01:00
configure.ac aix: handle 64bit inodes for include directories 2022-01-12 16:59:47 +01:00
directives.cc preprocessor: Implement C++23 P2437R1 - Support for #warning [PR106646] 2022-08-24 09:55:57 +02:00
errors.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
expr.cc libcpp: Ignore CPP_PADDING tokens in _cpp_parse_expr [PR105732] 2022-05-29 21:57:51 +02:00
files.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
generated_cpp_wcwidth.h libcpp: Update cpp_wcwidth() to Unicode 14.0.0 2022-06-26 14:13:26 -04:00
identifiers.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
init.cc preprocessor: Implement C++23 P2437R1 - Support for #warning [PR106646] 2022-08-24 09:55:57 +02:00
internal.h preprocessor: -Wbidi-chars and UCNs [PR104030] 2022-01-24 17:48:23 -05:00
lex.cc libcpp: Implement C++23 P2290R3 - Delimited escape sequences [PR106645] 2022-08-20 10:26:55 +02:00
line-map.cc pack fields in line-map data structures 2022-01-18 14:33:01 +01:00
location-example.txt
macro.cc libcpp: Fix up padding handling in funlike_invocation_p [PR104147] 2022-02-01 20:48:03 +01:00
Makefile.in preprocessor: Extract messages from cpp_*_at calls for translation 2022-02-11 23:22:07 +00:00
makeucnid.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
mkdeps.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
pch.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
symtab.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
system.h Update copyright years. 2022-01-03 10:42:10 +01:00
traditional.cc Change references of .c files to .cc files 2022-01-17 22:12:07 +01:00
ucnid.h libcpp: Update ucnid.h to Unicode 14 2022-06-28 17:33:37 -04:00
ucnid.tab Update copyright years. 2022-01-03 10:42:10 +01:00