]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-lex.h
Oops, missed ChangeLog in last checkin...
[thirdparty/gcc.git] / gcc / c-lex.h
CommitLineData
4d69ceb3 1/* Define constants for communication with c-parse.y.
6e090c76 2 Copyright (C) 1987, 1992, 1998, 1999, 2000 Free Software Foundation, Inc.
4d69ceb3
RS
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU CC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU CC; see the file COPYING. If not, write to
940d9d63
RK
18the Free Software Foundation, 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA. */
4d69ceb3
RS
20
21
22
23enum rid
24{
25 RID_UNUSED,
26 RID_INT,
27 RID_CHAR,
28 RID_FLOAT,
29 RID_DOUBLE,
30 RID_VOID,
31 RID_UNUSED1,
32
33 RID_UNSIGNED,
34 RID_SHORT,
35 RID_LONG,
36 RID_AUTO,
37 RID_STATIC,
38 RID_EXTERN,
39 RID_REGISTER,
40 RID_TYPEDEF,
41 RID_SIGNED,
42 RID_CONST,
3932261a 43 RID_RESTRICT,
4d69ceb3 44 RID_VOLATILE,
4b4f19ec
GM
45 RID_BOUNDED,
46 RID_UNBOUNDED,
4d69ceb3
RS
47 RID_INLINE,
48 RID_NOALIAS,
726b5217 49 RID_ITERATOR,
43517f90 50 RID_COMPLEX,
4d69ceb3 51
163051e7
TW
52 RID_IN,
53 RID_OUT,
54 RID_INOUT,
55 RID_BYCOPY,
f1488aba 56 RID_BYREF,
163051e7
TW
57 RID_ONEWAY,
58 RID_ID,
59
4d69ceb3
RS
60 RID_MAX
61};
62
b6c21411
RS
63#define NORID RID_UNUSED
64
4d69ceb3 65#define RID_FIRST_MODIFIER RID_UNSIGNED
b6c21411
RS
66
67/* The elements of `ridpointers' are identifier nodes
68 for the reserved type names and storage classes.
69 It is indexed by a RID_... value. */
70extern tree ridpointers[(int) RID_MAX];
32454fcc
RS
71
72/* the declaration found for the last IDENTIFIER token read in.
73 yylex must look this up to detect typedefs, which get token type TYPENAME,
74 so it is left around in case the identifier is not a typedef but is
75 used in a context which makes it a reference to a variable. */
76extern tree lastiddecl;
77
78extern char *token_buffer; /* Pointer to token buffer. */
79
6e090c76
KG
80extern tree make_pointer_declarator PARAMS ((tree, tree));
81extern void reinit_parse_for_function PARAMS ((void));
82extern void position_after_white_space PARAMS ((void));
83extern int check_newline PARAMS ((void));
56c0e996 84
6e090c76
KG
85extern int yylex PARAMS ((void));
86extern void yyerror PARAMS ((const char *));
56c0e996 87
6e090c76
KG
88extern void forget_protocol_qualifiers PARAMS ((void));
89extern void remember_protocol_qualifiers PARAMS ((void));
90extern tree is_class_name PARAMS ((tree));