https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123273
--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <[email protected]>: https://gcc.gnu.org/g:1297b7204aca7fbad741ae02086fa5e134083a5f commit r16-7173-g1297b7204aca7fbad741ae02086fa5e134083a5f Author: Jakub Jelinek <[email protected]> Date: Fri Jan 30 10:56:10 2026 +0100 libcpp: Fix up comment handling in -fdirectives-only preprocessing [PR123273] Back in 2020 Nathan rewrote the -E -fdirectives-only preprocessing. In PR103130 a year and half later I've fixed the handling of comments so that /* \*/ is considered as full comment even when * is escaped, to match the normal preprocessing. The following testcases shows further bugs in the comment handling. One is that /* *\/ should not be considered as full comment (i.e. when the / after * is escaped). And another one is that the code was treating any number of backslashes as escape, which is wrong, only a single backslash is an escape, two backslashes preprocess as one backslash, three as one backslash and one escape, etc. So, while /* *\ / is a full comment, /* *\\ / or /* *\\\\\\\\\\\\\ / is not. 2026-01-30 Jakub Jelinek <[email protected]> PR preprocessor/123273 * lex.cc (cpp_directive_only_process): Only go to done_comment for '/' if star is true and esc is false. When seeing '\\' with esc set to true, clear esc as well as star instead of keeping esc set. * c-c++-common/cpp/dir-only-10.c: New test. * c-c++-common/cpp/dir-only-11.c: New test.
