diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/parse/parser-pr14875-2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/parse/parser-pr14875-2.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/parse/parser-pr14875-2.C b/gcc/testsuite/g++.dg/parse/parser-pr14875-2.C new file mode 100644 index 000000000..3510aac90 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/parser-pr14875-2.C @@ -0,0 +1,31 @@ +// PR 14875: When using 'or' keyword, the error message speaks of a '||' token +// { dg-do compile } +// { dg-options "" } +#define CHECK(x) void ::x + CHECK (and); // { dg-error "before .and. token" } + CHECK (and_eq); // { dg-error "before .and_eq. token" } + CHECK (bitand); // { dg-error "before .bitand. token" } + CHECK (bitor); // { dg-error "before .bitor. token" } + CHECK (compl); // { dg-error "before .compl. token" } + CHECK (not); // { dg-error "before .not. token" } + CHECK (not_eq); // { dg-error "before .not_eq. token" } + CHECK (or); // { dg-error "before .or. token" } + CHECK (or_eq); // { dg-error "before .or_eq. token" } + CHECK (xor); // { dg-error "before .xor. token" } + CHECK (xor_eq); // { dg-error "before .xor_eq. token" } +#undef CHECK +#define CHECK(x) int x + CHECK (<:); // { dg-error "before .<:. token" } + CHECK (:>); // { dg-error "before .:>. token" } +#undef CHECK +#define CHECK(x) x + CHECK (<%); // { dg-error "before .<%. token" } +#undef CHECK +#define CHECK(x) x x + CHECK (%>); // { dg-error "before .%>. token" } +#undef CHECK +#define CHECK(x) x + CHECK (%:); // { dg-error "stray .%:. " } + CHECK (%:%:); // { dg-error "stray .%:%:. " } + + |