diff options
author | Lewis Hyatt <lhyatt@gmail.com> | 2024-10-14 17:59:46 -0400 |
---|---|---|
committer | Lewis Hyatt <lhyatt@gcc.gnu.org> | 2024-11-23 13:44:38 -0500 |
commit | 18cace467402a35fa2344f6b48890b2e986ad2a5 (patch) | |
tree | 982e443b7223f91a61a003ce9bf61a9e3b4c20e7 /gcc/function.cc | |
parent | af6665e1fdcc6bcd42db51845d7cb2f19fbda650 (diff) | |
download | gcc-18cace467402a35fa2344f6b48890b2e986ad2a5.zip gcc-18cace467402a35fa2344f6b48890b2e986ad2a5.tar.gz gcc-18cace467402a35fa2344f6b48890b2e986ad2a5.tar.bz2 |
libcpp: Fix ICE lexing invalid raw string in a deferred pragma [PR117118]
The PR shows that we ICE after lexing an invalid unterminated raw string,
because lex_raw_string() pops the main buffer unexpectedly. Resolve by
handling this case the same way as for other directives.
libcpp/ChangeLog:
PR preprocessor/117118
* lex.cc (lex_raw_string): Treat an unterminated raw string the same
way for a deferred pragma as is done for other directives.
gcc/testsuite/ChangeLog:
PR preprocessor/117118
* c-c++-common/raw-string-directive-3.c: New test.
* c-c++-common/raw-string-directive-4.c: New test.
Diffstat (limited to 'gcc/function.cc')
0 files changed, 0 insertions, 0 deletions