blob: e4e820c0c1c45e99738da63bfb546824720710b4 [file] [log] [blame]
// If not c++0x/gnu99, the {,u,u8,U,L}R prefix should be parsed as separate
// token.
// { dg-do compile }
// { dg-options "-std=gnu89" { target c } }
// { dg-options "-std=c++98" { target c++ } }
const void *s0 = R"(a)"; // { dg-error "was not declared|undeclared" "undeclared" }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const void *s1 = uR"(a)"; // { dg-error "was not declared|undeclared" "undeclared" }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const void *s2 = UR"(a)"; // { dg-error "was not declared|undeclared" "undeclared" }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const void *s3 = u8R"(a)"; // { dg-error "was not declared|undeclared" "undeclared" }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const void *s4 = LR"(a)"; // { dg-error "was not declared|undeclared" "undeclared" }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const int i0 = R'a'; // { dg-error "was not declared" "undeclared" { target c++ } }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const int i1 = uR'a'; // { dg-error "was not declared" "undeclared" { target c++ } }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const int i2 = UR'a'; // { dg-error "was not declared" "undeclared" { target c++ } }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const int i3 = u8R'a'; // { dg-error "was not declared" "undeclared" { target c++ } }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
const int i4 = LR'a'; // { dg-error "was not declared" "undeclared" { target c++ } }
// { dg-error "expected ',' or ';'" "expected" { target c } .-1 }
#define R "a"
#define uR "b"
#define UR "c"
#define u8R "d"
#define LR "e"
const void *s5 = R"(a)";
const void *s6 = uR"(a)";
const void *s7 = UR"(a)";
const void *s8 = u8R"(a)";
const void *s9 = LR"(a)";
#undef R
#undef uR
#undef UR
#undef u8R
#undef LR
#define R 1 +
#define uR 2 +
#define UR 3 +
#define u8R 4 +
#define LR 5 +
const int i5 = R'a';
const int i6 = uR'a';
const int i7 = UR'a';
const int i8 = u8R'a';
const int i9 = LR'a';
int main () {}