]> gcc.gnu.org Git - gcc.git/blame - gcc/c-lang.c
re PR c++/5998 (regression, all builtins disabled)
[gcc.git] / gcc / c-lang.c
CommitLineData
c0f940ef 1/* Language-specific hook definitions for C front end.
517cbe13 2 Copyright (C) 1991, 1995, 1997, 1998,
21c7361e 3 1999, 2000, 2001 Free Software Foundation, Inc.
c0f940ef 4
1322177d 5This file is part of GCC.
c0f940ef 6
1322177d
LB
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 2, or (at your option) any later
10version.
c0f940ef 11
1322177d
LB
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
c0f940ef
RS
16
17You should have received a copy of the GNU General Public License
1322177d
LB
18along with GCC; see the file COPYING. If not, write to the Free
19Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2002111-1307, USA. */
c0f940ef
RS
21
22
23#include "config.h"
670ee920 24#include "system.h"
c0f940ef 25#include "tree.h"
8f17b5c5 26#include "c-tree.h"
52dabb6c 27#include "c-common.h"
69dcadff 28#include "langhooks.h"
d23c55c2 29#include "langhooks-def.h"
a32f2771 30
f5e99456 31static const char *c_init PARAMS ((const char *));
ee811cfd 32static void c_init_options PARAMS ((void));
cd2a3ba2 33static void c_post_options PARAMS ((void));
0abc6a6a
NB
34
35/* ### When changing hooks, consider if ObjC needs changing too!! ### */
cd2a3ba2 36
3ac88239
NB
37#undef LANG_HOOKS_NAME
38#define LANG_HOOKS_NAME "GNU C"
69dcadff
AO
39#undef LANG_HOOKS_INIT
40#define LANG_HOOKS_INIT c_init
22703ccc
NB
41#undef LANG_HOOKS_FINISH
42#define LANG_HOOKS_FINISH c_common_finish
69dcadff
AO
43#undef LANG_HOOKS_INIT_OPTIONS
44#define LANG_HOOKS_INIT_OPTIONS c_init_options
45#undef LANG_HOOKS_DECODE_OPTION
46#define LANG_HOOKS_DECODE_OPTION c_decode_option
47#undef LANG_HOOKS_POST_OPTIONS
48#define LANG_HOOKS_POST_OPTIONS c_post_options
8ac61af7
RK
49#undef LANG_HOOKS_GET_ALIAS_SET
50#define LANG_HOOKS_GET_ALIAS_SET c_common_get_alias_set
ac79cd5a
RK
51#undef LANG_HOOKS_SAFE_FROM_P
52#define LANG_HOOKS_SAFE_FROM_P c_safe_from_p
4f0ade92
NB
53#undef LANG_HOOKS_MARK_TREE
54#define LANG_HOOKS_MARK_TREE c_mark_tree
c9d892a8
NB
55#undef LANG_HOOKS_EXPAND_EXPR
56#define LANG_HOOKS_EXPAND_EXPR c_expand_expr
52dabb6c
NB
57#undef LANG_HOOKS_PARSE_FILE
58#define LANG_HOOKS_PARSE_FILE c_common_parse_file
7ffb4fd2
NB
59#undef LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES
60#define LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES c_insert_default_attributes
db3acfa5
JM
61#undef LANG_HOOKS_STATICP
62#define LANG_HOOKS_STATICP c_staticp
5d69f816
NB
63#undef LANG_HOOKS_PRINT_IDENTIFIER
64#define LANG_HOOKS_PRINT_IDENTIFIER c_print_identifier
65#undef LANG_HOOKS_SET_YYDEBUG
66#define LANG_HOOKS_SET_YYDEBUG c_set_yydebug
63e1b1c4
NB
67#undef LANG_HOOKS_DUP_LANG_SPECIFIC_DECL
68#define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL c_dup_lang_specific_decl
8ac61af7 69
69dcadff
AO
70#undef LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN
71#define LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN \
72 c_cannot_inline_tree_fn
73#undef LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS
74#define LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS \
75 c_disregard_inline_limits
76#undef LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P
77#define LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P \
78 anon_aggr_type_p
f735a153
JJ
79#undef LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING
80#define LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING \
81 c_convert_parm_for_inlining
69dcadff 82
0abc6a6a
NB
83/* ### When changing hooks, consider if ObjC needs changing too!! ### */
84
cd2a3ba2 85/* Each front end provides its own. */
3ac88239 86const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
cd2a3ba2 87
2f9834e8
KG
88/* Tree code classes. */
89
90#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
91
92const char tree_code_type[] = {
93#include "tree.def"
94 'x',
95#include "c-common.def"
96};
97#undef DEFTREECODE
98
99/* Table indexed by tree code giving number of expression
100 operands beyond the fixed part of the node structure.
101 Not used for types or decls. */
102
103#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
104
105const unsigned char tree_code_length[] = {
106#include "tree.def"
107 0,
108#include "c-common.def"
109};
110#undef DEFTREECODE
111
112/* Names of tree components.
113 Used for printing out the tree and error messages. */
114#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
115
116const char *const tree_code_name[] = {
117#include "tree.def"
118 "@@dummy",
119#include "c-common.def"
120};
121#undef DEFTREECODE
122
cd2a3ba2
NB
123/* Post-switch processing. */
124static void
125c_post_options ()
126{
4d6baafa 127 c_common_post_options ();
cd2a3ba2 128}
add7091b 129
ee811cfd
NB
130static void
131c_init_options ()
b53beeb2 132{
4d6baafa 133 c_common_init_options (clk_c);
b53beeb2
RH
134}
135
f5e99456
NB
136static const char *
137c_init (filename)
138 const char *filename;
c0f940ef 139{
3b27886e 140 return c_objc_common_init (filename);
c0f940ef
RS
141}
142
c0f940ef 143/* Used by c-lex.c, but only for objc. */
a604ca26 144
c0f940ef
RS
145tree
146lookup_interface (arg)
d6f4ec51 147 tree arg ATTRIBUTE_UNUSED;
c0f940ef
RS
148{
149 return 0;
150}
151
a604ca26
TW
152tree
153is_class_name (arg)
d6f4ec51 154 tree arg ATTRIBUTE_UNUSED;
a604ca26
TW
155{
156 return 0;
157}
158
c0f940ef
RS
159void
160maybe_objc_check_decl (decl)
d6f4ec51 161 tree decl ATTRIBUTE_UNUSED;
c0f940ef
RS
162{
163}
164
165int
a604ca26 166maybe_objc_comptypes (lhs, rhs, reflexive)
d6f4ec51
KG
167 tree lhs ATTRIBUTE_UNUSED;
168 tree rhs ATTRIBUTE_UNUSED;
169 int reflexive ATTRIBUTE_UNUSED;
a604ca26 170{
a0825a7f 171 return -1;
a604ca26
TW
172}
173
c0f940ef
RS
174tree
175maybe_building_objc_message_expr ()
176{
177 return 0;
178}
179
180int
181recognize_objc_keyword ()
182{
183 return 0;
184}
185
7e585d16
ZW
186/* Used by c-typeck.c (build_external_ref), but only for objc. */
187
188tree
189lookup_objc_ivar (id)
190 tree id ATTRIBUTE_UNUSED;
191{
192 return 0;
193}
194
2c5f4139
JM
195void
196finish_file ()
197{
3b27886e 198 c_objc_common_finish_file ();
2c5f4139 199}
This page took 0.88172 seconds and 5 git commands to generate.