1 /* Define constants for communication with c-parse.y.
2 Copyright (C) 1987, 1992, 1998, 1999, 2000 Free Software Foundation, Inc.
4 This file is part of GCC.
6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 2, or (at your option) any later
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING. If not, write to the Free
18 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
24 /* Cause the `yydebug' variable to be defined. */
28 extern tree make_pointer_declarator PARAMS ((tree, tree));
30 extern int c_lex PARAMS ((tree *));
31 extern const char *init_c_lex PARAMS ((const char *));
33 extern int indent_level;
36 extern struct cpp_reader* parse_in;
38 #define builtin_define(TXT) cpp_define (pfile, TXT)
39 #define builtin_assert(TXT) cpp_assert (pfile, TXT)
41 /* Pass an object-like macro. If it doesn't lie in the user's
42 namespace, defines it unconditionally. Otherwise define a version
43 with two leading underscores, and another version with two leading
44 and trailing underscores, and define the original only if an ISO
45 standard was not nominated.
47 e.g. passing "unix" defines "__unix", "__unix__" and possibly
48 "unix". Passing "_mips" defines "__mips", "__mips__" and possibly
50 extern void builtin_define_std PARAMS ((const char *));
52 /* Pass an object-like macro and a value to define it to. The third
53 parameter says whether or not to turn the value into a string
55 extern void builtin_define_with_value PARAMS ((const char *, const char *,
58 #endif /* ! GCC_C_LEX_H */