diff options
Diffstat (limited to 'gcc/testsuite/c-c++-common/raw-string-7.c')
-rw-r--r-- | gcc/testsuite/c-c++-common/raw-string-7.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/raw-string-7.c b/gcc/testsuite/c-c++-common/raw-string-7.c new file mode 100644 index 000000000..0c556639c --- /dev/null +++ b/gcc/testsuite/c-c++-common/raw-string-7.c @@ -0,0 +1,24 @@ +// The trailing whitespace after \ and before newline extension +// breaks full compliance for raw strings. +// { dg-do run { xfail *-*-* } } +// { dg-options "-std=gnu99" { target c } } +// { dg-options "-std=c++0x" { target c++ } } + +// Note, there is a single space after \ on the following line. +const char *s0 = R"(\ +)"; +// { dg-bogus "backslash and newline separated by space" "" { xfail *-*-* } 8 } + +// Note, there is a single tab after \ on the following line. +const char *s1 = R"(\ +)"; +// { dg-bogus "backslash and newline separated by space" "" { xfail *-*-* } 13 } + +int +main (void) +{ + if (__builtin_strcmp (s0, "\\ \n") != 0 + || __builtin_strcmp (s1, "\\\t\n") != 0) + __builtin_abort (); + return 0; +} |