OSDN Git Service

92th Cygnus<->FSF quick merge
[pf3gnuchains/gcc-fork.git] / gcc / cp / lex.h
index f9bf3f1..fcea57a 100644 (file)
@@ -1,5 +1,5 @@
 /* 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).
 
@@ -26,6 +26,7 @@ enum rid
 {
   RID_UNUSED,
   RID_INT,
+  RID_BOOL,
   RID_CHAR,
   RID_WCHAR,
   RID_FLOAT,
@@ -57,31 +58,38 @@ enum rid
   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))
@@ -114,9 +122,11 @@ extern char *token_buffer; /* Pointer to token buffer.  */
 
 /* 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.  */