mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-21 19:35:28 -05:00
libcpp: Use pedwarn instead of warning for CWG2578 diagnostics [PR120778]
This is another case which changed from compile time undefined behavior to ill-formed, diagnostic required. Now, we warn on this, so pedantically that is good enough, maybe all we need is a testcase, but the following patch changes it to a pedwarn for C++26. 2025-08-04 Jakub Jelinek <jakub@redhat.com> PR preprocessor/120778 * macro.cc (stringify_arg): For C++26 emit a pedarn instead of warning for \ at the end of stringification. * g++.dg/DRs/dr2578.C: New test.
This commit is contained in:
committed by
Jakub Jelinek
parent
d49d359b0c
commit
b9f443b617
@@ -1003,7 +1003,10 @@ stringify_arg (cpp_reader *pfile, const cpp_token **first, unsigned int count)
|
||||
/* Ignore the final \ of invalid string literals. */
|
||||
if (backslash_count & 1)
|
||||
{
|
||||
cpp_error (pfile, CPP_DL_WARNING,
|
||||
cpp_error (pfile,
|
||||
CPP_OPTION (pfile, cplusplus)
|
||||
&& CPP_OPTION (pfile, lang) >= CLK_GNUCXX26
|
||||
? CPP_DL_PEDWARN : CPP_DL_WARNING,
|
||||
"invalid string literal, ignoring final %<\\%>");
|
||||
dest--;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user