https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99446
--- Comment #13 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- Hi Nathan, I've been playing with a variant of c-c++-common/raw-string-6.c with your patch: $ cat raw-string-6.c $ cat raw-string-6.c // { dg-do compile } // { dg-options "-std=gnu99" { target c } } // { dg-options "-std=c++0x" { target c++ } } #include "xxxx.h" $ cat xxxx.h const void *s0 = R"ouch()ouCh"; $ gcc -x c raw-string-6.c In file included from raw-string-6.c:5: xxxx.h:1:18: error: unterminated raw string 1 | const void *s0 = R"ouch()ouCh"; | ^ raw-string-6.c:6: error: expected expression at end of input $ gcc -x c++ raw-string-6.c In file included from raw-string-6.c:5: xxxx.h:1:18: error: unterminated raw string 1 | const void *s0 = R"ouch()ouCh"; | ^ xxxx.h:1:16: error: expected primary-expression at end of input 1 | const void *s0 = R"ouch()ouCh"; | ^ Do you agree that the C++ FE places the error about the end of input on a somewhat surprising place? Bernd.