re PR c++/23333 (accepts invalid pure specifier)
2005-12-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/23333
* include/cpplib.h: Add PURE_ZERO to flags for the cpp_token structure.
* c-lex.c (c_lex_with_flags): Add PURE_ZERO to cpp_flags if
number is a single digit '0'.
* parser.c (cp_parser_pure_specifier): Check for PURE_ZERO to
identify a single '0'.
* g++.dg/parse/error25.C: Add more tests.
From-SVN: r108947
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index b5bece5..0ab6635 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -172,6 +172,8 @@
#define NAMED_OP (1 << 4) /* C++ named operators. */
#define NO_EXPAND (1 << 5) /* Do not macro-expand this token. */
#define BOL (1 << 6) /* Token at beginning of line. */
+#define PURE_ZERO (1 << 7) /* Single 0 digit, used by the C++ frontend,
+ set in c-lex.c. */
/* Specify which field, if any, of the cpp_token union is used. */