/* Define constants and variables for communication with parse.y.
- Copyright (C) 1987, 1992, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 92-97, 1998 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
and by Brendan Kehoe (brendan@cygnus.com).
RID_FRIEND,
RID_VIRTUAL,
RID_EXPLICIT,
+ RID_EXPORT,
RID_SIGNED,
RID_AUTO,
RID_MUTABLE,
+ RID_COMPLEX,
+ RID_RESTRICT,
- /* This is where grokdeclarator ends its search when setting the specbits. */
+ /* This is where grokdeclarator ends its search when setting the
+ specbits. */
RID_PUBLIC,
RID_PRIVATE,
RID_EXCEPTION,
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_MUTABLE
+#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))
/* 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. */
extern int pending_lang_change;
-extern tree make_pointer_declarator (), make_reference_declarator ();
-extern void reinit_parse_for_function ();
-extern void reinit_parse_for_method ();
-extern int yylex ();
+extern int yylex PROTO((void));