/* Define constants and variables for communication with parse.y.
- Copyright (C) 1987, 1992, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
and by Brendan Kehoe (brendan@cygnus.com).
{
RID_UNUSED,
RID_INT,
+ RID_BOOL,
RID_CHAR,
RID_WCHAR,
RID_FLOAT,
RID_VOLATILE,
RID_FRIEND,
RID_VIRTUAL,
+ RID_EXPLICIT,
+ RID_SIGNED,
+ RID_AUTO,
+ RID_MUTABLE,
+ RID_COMPLEX,
+
+ /* This is where grokdeclarator ends its search when setting the
+ specbits. */
+
RID_PUBLIC,
RID_PRIVATE,
RID_PROTECTED,
- RID_SIGNED,
RID_EXCEPTION,
- RID_RAISES,
- RID_AUTO,
- RID_MUTABLE,
RID_TEMPLATE,
RID_SIGNATURE,
+ RID_NULL,
/* Before adding enough to get up to 64, the RIDBIT_* macros
- will have to be changed a little. */
+ will have to be changed a little. */
RID_MAX
};
#define NORID RID_UNUSED
#define RID_FIRST_MODIFIER RID_EXTERN
+#define RID_LAST_MODIFIER RID_COMPLEX
/* The type that can represent all values of RIDBIT. */
-/* We assume that we can stick in at least 32 bits into this. */
+/* We assume that we can stick in at least 32 bits into this. */
typedef struct { unsigned long idata[2]; }
RID_BIT_TYPE;
-/* Be careful, all these modify N twice. */
+/* Be careful, all these modify N twice. */
#define RIDBIT_SETP(N, V) (((unsigned long)1 << (int) ((N)%32)) \
& (V).idata[(N)/32])
#define RIDBIT_NOTSETP(NN, VV) (! RIDBIT_SETP (NN, VV))
/* Back-door communication channel to the lexer. */
extern int looking_for_typename;
+extern int looking_for_template;
/* Tell the lexer where to look for names. */
extern tree got_scope;
+extern tree got_object;
/* Pending language change.
Positive is push count, negative is pop count. */