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.

Reply via email to