1 /* Stub functions for Objective-C and Objective-C++ routines
2 that are called from within the C and C++ front-ends,
3 respectively.
4 Copyright (C) 1991-2018 Free Software Foundation, Inc.
5
6 This file is part of GCC.
7
8 GCC is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 3, or (at your option) any later
11 version.
12
13 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
21
22 #include "config.h"
23 #include "system.h"
24 #include "coretypes.h"
25 #include "tree.h"
26 #include "c-objc.h"
27
28 tree
objc_is_class_name(tree ARG_UNUSED (arg))29 objc_is_class_name (tree ARG_UNUSED (arg))
30 {
31 return 0;
32 }
33
34 tree
objc_is_id(tree ARG_UNUSED (arg))35 objc_is_id (tree ARG_UNUSED (arg))
36 {
37 return 0;
38 }
39
40 tree
objc_is_object_ptr(tree ARG_UNUSED (arg))41 objc_is_object_ptr (tree ARG_UNUSED (arg))
42 {
43 return 0;
44 }
45
objc_diagnose_private_ivar(tree ARG_UNUSED (arg))46 bool objc_diagnose_private_ivar (tree ARG_UNUSED (arg))
47 {
48 return false;
49 }
50
51 tree
objc_lookup_ivar(tree other,tree ARG_UNUSED (arg))52 objc_lookup_ivar (tree other, tree ARG_UNUSED (arg))
53 {
54 /* Just use whatever C/C++ found. */
55 return other;
56 }
57
58 void
objc_check_decl(tree ARG_UNUSED (decl))59 objc_check_decl (tree ARG_UNUSED (decl))
60 {
61 }
62
63 void
objc_check_global_decl(tree ARG_UNUSED (decl))64 objc_check_global_decl (tree ARG_UNUSED (decl))
65 {
66 }
67
68 tree
objc_common_type(tree ARG_UNUSED (type1),tree ARG_UNUSED (type2))69 objc_common_type (tree ARG_UNUSED (type1), tree ARG_UNUSED (type2))
70 {
71 return 0;
72 }
73
74 bool
objc_compare_types(tree ARG_UNUSED (ltyp),tree ARG_UNUSED (rtyp),int ARG_UNUSED (argno),tree ARG_UNUSED (callee))75 objc_compare_types (tree ARG_UNUSED (ltyp), tree ARG_UNUSED (rtyp),
76 int ARG_UNUSED (argno), tree ARG_UNUSED (callee))
77 {
78 return false;
79 }
80
81 bool
objc_have_common_type(tree ARG_UNUSED (ltyp),tree ARG_UNUSED (rtyp),int ARG_UNUSED (argno),tree ARG_UNUSED (callee))82 objc_have_common_type (tree ARG_UNUSED (ltyp), tree ARG_UNUSED (rtyp),
83 int ARG_UNUSED (argno), tree ARG_UNUSED (callee))
84 {
85 return false;
86 }
87
88 void
objc_volatilize_decl(tree ARG_UNUSED (decl))89 objc_volatilize_decl (tree ARG_UNUSED (decl))
90 {
91 }
92
93 tree
objc_rewrite_function_call(tree function,tree ARG_UNUSED (first_param))94 objc_rewrite_function_call (tree function, tree ARG_UNUSED (first_param))
95 {
96 return function;
97 }
98
99 tree
objc_message_selector(void)100 objc_message_selector (void)
101 {
102 return 0;
103 }
104
105 void
objc_declare_alias(tree ARG_UNUSED (alias),tree ARG_UNUSED (orig))106 objc_declare_alias (tree ARG_UNUSED (alias), tree ARG_UNUSED (orig))
107 {
108 }
109
110 void
objc_declare_class(tree ARG_UNUSED (identifier))111 objc_declare_class (tree ARG_UNUSED (identifier))
112 {
113 }
114
115 void
objc_declare_protocol(tree ARG_UNUSED (name),tree ARG_UNUSED (attributes))116 objc_declare_protocol (tree ARG_UNUSED (name), tree ARG_UNUSED (attributes))
117 {
118 }
119
120 void
objc_start_protocol(tree ARG_UNUSED (proto),tree ARG_UNUSED (protorefs),tree ARG_UNUSED (attribs))121 objc_start_protocol (tree ARG_UNUSED (proto),
122 tree ARG_UNUSED (protorefs),
123 tree ARG_UNUSED (attribs))
124 {
125 }
126
127 void
objc_set_method_opt(bool ARG_UNUSED (optional))128 objc_set_method_opt (bool ARG_UNUSED (optional))
129 {
130 }
131
132 void
objc_start_class_interface(tree ARG_UNUSED (name),tree ARG_UNUSED (super),tree ARG_UNUSED (protos),tree ARG_UNUSED (attribs))133 objc_start_class_interface (tree ARG_UNUSED (name),
134 tree ARG_UNUSED (super),
135 tree ARG_UNUSED (protos),
136 tree ARG_UNUSED (attribs))
137 {
138 }
139
140 void
objc_start_category_interface(tree ARG_UNUSED (name),tree ARG_UNUSED (categ),tree ARG_UNUSED (protos),tree ARG_UNUSED (attribs))141 objc_start_category_interface (tree ARG_UNUSED (name),
142 tree ARG_UNUSED (categ),
143 tree ARG_UNUSED (protos),
144 tree ARG_UNUSED (attribs))
145 {
146 }
147
148 void
objc_continue_interface(void)149 objc_continue_interface (void)
150 {
151 }
152
153 void
objc_finish_interface(void)154 objc_finish_interface (void)
155 {
156 }
157
158 void
objc_add_instance_variable(tree ARG_UNUSED (decl))159 objc_add_instance_variable (tree ARG_UNUSED (decl))
160 {
161 }
162
163 void
objc_set_visibility(objc_ivar_visibility_kind ARG_UNUSED (vis))164 objc_set_visibility (objc_ivar_visibility_kind ARG_UNUSED (vis))
165 {
166 }
167
168 void
objc_start_class_implementation(tree ARG_UNUSED (name),tree ARG_UNUSED (super))169 objc_start_class_implementation (tree ARG_UNUSED (name),
170 tree ARG_UNUSED (super))
171 {
172 }
173
174 void
objc_start_category_implementation(tree ARG_UNUSED (name),tree ARG_UNUSED (categ))175 objc_start_category_implementation (tree ARG_UNUSED (name),
176 tree ARG_UNUSED (categ))
177 {
178 }
179
180 void
objc_continue_implementation(void)181 objc_continue_implementation (void)
182 {
183 }
184
185 void
objc_clear_super_receiver(void)186 objc_clear_super_receiver (void)
187 {
188 }
189
190 void
objc_finish_implementation(void)191 objc_finish_implementation (void)
192 {
193 }
194
195 void
objc_add_method_declaration(bool ARG_UNUSED (is_class_method),tree ARG_UNUSED (signature),tree ARG_UNUSED (attributes))196 objc_add_method_declaration (bool ARG_UNUSED (is_class_method),
197 tree ARG_UNUSED (signature),
198 tree ARG_UNUSED (attributes))
199 {
200 }
201
202 bool
objc_start_method_definition(bool ARG_UNUSED (is_class_method),tree ARG_UNUSED (signature),tree ARG_UNUSED (attributes),tree ARG_UNUSED (expr))203 objc_start_method_definition (bool ARG_UNUSED (is_class_method),
204 tree ARG_UNUSED (signature),
205 tree ARG_UNUSED (attributes),
206 tree ARG_UNUSED (expr))
207 {
208 return true;
209 }
210
211 void
objc_finish_method_definition(tree ARG_UNUSED (fndecl))212 objc_finish_method_definition (tree ARG_UNUSED (fndecl))
213 {
214 }
215
216 bool
objc_method_decl(enum tree_code ARG_UNUSED (opcode))217 objc_method_decl (enum tree_code ARG_UNUSED(opcode))
218 {
219 return false;
220 }
221
222 tree
objc_build_keyword_decl(tree ARG_UNUSED (selector),tree ARG_UNUSED (type),tree ARG_UNUSED (identifier),tree ARG_UNUSED (attributes))223 objc_build_keyword_decl (tree ARG_UNUSED (selector),
224 tree ARG_UNUSED (type),
225 tree ARG_UNUSED (identifier),
226 tree ARG_UNUSED (attributes))
227 {
228 return 0;
229 }
230
231 tree
objc_build_method_signature(bool ARG_UNUSED (is_class_method),tree ARG_UNUSED (rettype),tree ARG_UNUSED (selectors),tree ARG_UNUSED (optparms),bool ARG_UNUSED (ellipsis))232 objc_build_method_signature (bool ARG_UNUSED (is_class_method),
233 tree ARG_UNUSED (rettype),
234 tree ARG_UNUSED (selectors),
235 tree ARG_UNUSED (optparms),
236 bool ARG_UNUSED (ellipsis))
237 {
238 return 0;
239 }
240
241 tree
objc_build_encode_expr(tree ARG_UNUSED (expr))242 objc_build_encode_expr (tree ARG_UNUSED (expr))
243 {
244 return 0;
245 }
246
247 tree
objc_build_protocol_expr(tree ARG_UNUSED (expr))248 objc_build_protocol_expr (tree ARG_UNUSED (expr))
249 {
250 return 0;
251 }
252
253 tree
objc_build_selector_expr(location_t ARG_UNUSED (loc),tree ARG_UNUSED (expr))254 objc_build_selector_expr (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr))
255 {
256 return 0;
257 }
258
259 tree
objc_build_message_expr(tree ARG_UNUSED (receiver),tree ARG_UNUSED (args))260 objc_build_message_expr (tree ARG_UNUSED (receiver), tree ARG_UNUSED (args))
261 {
262 return 0;
263 }
264
265 tree
objc_build_string_object(tree ARG_UNUSED (str))266 objc_build_string_object (tree ARG_UNUSED (str))
267 {
268 return 0;
269 }
270
271 tree
objc_get_class_reference(tree ARG_UNUSED (name))272 objc_get_class_reference (tree ARG_UNUSED (name))
273 {
274 return 0;
275 }
276
277 bool
objc_detect_field_duplicates(bool ARG_UNUSED (check_superclasses_only))278 objc_detect_field_duplicates (bool ARG_UNUSED (check_superclasses_only))
279 {
280 return false;
281 }
282
283 tree
objc_get_protocol_qualified_type(tree ARG_UNUSED (name),tree ARG_UNUSED (protos))284 objc_get_protocol_qualified_type (tree ARG_UNUSED (name),
285 tree ARG_UNUSED (protos))
286 {
287 return 0;
288 }
289
290 int
objc_static_init_needed_p(void)291 objc_static_init_needed_p (void)
292 {
293 return 0;
294 }
295
296 tree
objc_generate_static_init_call(tree ARG_UNUSED (ctors))297 objc_generate_static_init_call (tree ARG_UNUSED (ctors))
298 {
299 return 0;
300 }
301
302 int
objc_is_public(tree ARG_UNUSED (expr),tree ARG_UNUSED (identifier))303 objc_is_public (tree ARG_UNUSED (expr), tree ARG_UNUSED (identifier))
304 {
305 return 1;
306 }
307
308 tree
objc_get_class_ivars(tree ARG_UNUSED (name))309 objc_get_class_ivars (tree ARG_UNUSED (name))
310 {
311 return 0;
312 }
313
314 void
objc_add_property_declaration(location_t ARG_UNUSED (location),tree ARG_UNUSED (decl),bool ARG_UNUSED (parsed_property_readonly),bool ARG_UNUSED (parsed_property_readwrite),bool ARG_UNUSED (parsed_property_assign),bool ARG_UNUSED (parsed_property_retain),bool ARG_UNUSED (parsed_property_copy),bool ARG_UNUSED (parsed_property_nonatomic),tree ARG_UNUSED (parsed_property_getter_ident),tree ARG_UNUSED (parsed_property_setter_ident))315 objc_add_property_declaration (location_t ARG_UNUSED (location),
316 tree ARG_UNUSED (decl),
317 bool ARG_UNUSED (parsed_property_readonly),
318 bool ARG_UNUSED (parsed_property_readwrite),
319 bool ARG_UNUSED (parsed_property_assign),
320 bool ARG_UNUSED (parsed_property_retain),
321 bool ARG_UNUSED (parsed_property_copy),
322 bool ARG_UNUSED (parsed_property_nonatomic),
323 tree ARG_UNUSED (parsed_property_getter_ident),
324 tree ARG_UNUSED (parsed_property_setter_ident))
325 {
326 }
327
328 bool
objc_is_property_ref(tree ARG_UNUSED (node))329 objc_is_property_ref (tree ARG_UNUSED (node))
330 {
331 return 0;
332 }
333
334 tree
objc_maybe_build_component_ref(tree ARG_UNUSED (datum),tree ARG_UNUSED (component))335 objc_maybe_build_component_ref (tree ARG_UNUSED (datum), tree ARG_UNUSED (component))
336 {
337 return 0;
338 }
339
340 tree
objc_build_class_component_ref(tree ARG_UNUSED (datum),tree ARG_UNUSED (component))341 objc_build_class_component_ref (tree ARG_UNUSED (datum), tree ARG_UNUSED (component))
342 {
343 return 0;
344 }
345
346 tree
objc_maybe_build_modify_expr(tree ARG_UNUSED (lhs),tree ARG_UNUSED (rhs))347 objc_maybe_build_modify_expr (tree ARG_UNUSED (lhs), tree ARG_UNUSED (rhs))
348 {
349 return 0;
350 }
351
352 tree
objc_build_incr_expr_for_property_ref(location_t ARG_UNUSED (location),enum tree_code ARG_UNUSED (code),tree ARG_UNUSED (argument),tree ARG_UNUSED (increment))353 objc_build_incr_expr_for_property_ref (location_t ARG_UNUSED (location),
354 enum tree_code ARG_UNUSED (code),
355 tree ARG_UNUSED (argument),
356 tree ARG_UNUSED (increment))
357 {
358 return 0;
359 }
360
361 void
objc_add_synthesize_declaration(location_t ARG_UNUSED (start_locus),tree ARG_UNUSED (property_and_ivar_list))362 objc_add_synthesize_declaration (location_t ARG_UNUSED (start_locus),
363 tree ARG_UNUSED (property_and_ivar_list))
364 {
365 }
366
367 void
objc_add_dynamic_declaration(location_t ARG_UNUSED (start_locus),tree ARG_UNUSED (property_list))368 objc_add_dynamic_declaration (location_t ARG_UNUSED (start_locus),
369 tree ARG_UNUSED (property_list))
370 {
371 }
372
373 const char *
objc_maybe_printable_name(tree ARG_UNUSED (decl),int ARG_UNUSED (v))374 objc_maybe_printable_name (tree ARG_UNUSED (decl),
375 int ARG_UNUSED (v))
376 {
377 return NULL;
378 }
379
380 tree
objc_build_throw_stmt(location_t ARG_UNUSED (loc),tree ARG_UNUSED (expr))381 objc_build_throw_stmt (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr))
382 {
383 return 0;
384 }
385
386 tree
objc_build_synchronized(location_t ARG_UNUSED (start_locus),tree ARG_UNUSED (mutex),tree ARG_UNUSED (body))387 objc_build_synchronized (location_t ARG_UNUSED (start_locus),
388 tree ARG_UNUSED (mutex), tree ARG_UNUSED (body))
389 {
390 return 0;
391 }
392
393 void
objc_begin_try_stmt(location_t ARG_UNUSED (try_locus),tree ARG_UNUSED (body))394 objc_begin_try_stmt (location_t ARG_UNUSED (try_locus), tree ARG_UNUSED (body))
395 {
396 }
397
398 void
objc_begin_catch_clause(tree ARG_UNUSED (decl))399 objc_begin_catch_clause (tree ARG_UNUSED (decl))
400 {
401 }
402
403 void
objc_finish_catch_clause(void)404 objc_finish_catch_clause (void)
405 {
406 }
407
408 void
objc_build_finally_clause(location_t ARG_UNUSED (finally_locus),tree ARG_UNUSED (body))409 objc_build_finally_clause (location_t ARG_UNUSED (finally_locus),
410 tree ARG_UNUSED (body))
411 {
412 }
413
414 tree
objc_finish_try_stmt(void)415 objc_finish_try_stmt (void)
416 {
417 return 0;
418 }
419
420 tree
objc_generate_write_barrier(tree ARG_UNUSED (lhs),enum tree_code ARG_UNUSED (modifycode),tree ARG_UNUSED (rhs))421 objc_generate_write_barrier (tree ARG_UNUSED (lhs),
422 enum tree_code ARG_UNUSED (modifycode),
423 tree ARG_UNUSED (rhs))
424 {
425 return 0;
426 }
427
428 void
objc_finish_foreach_loop(location_t ARG_UNUSED (location),tree ARG_UNUSED (object_expression),tree ARG_UNUSED (collection_expression),tree ARG_UNUSED (for_body),tree ARG_UNUSED (break_label),tree ARG_UNUSED (continue_label))429 objc_finish_foreach_loop (location_t ARG_UNUSED (location), tree ARG_UNUSED (object_expression),
430 tree ARG_UNUSED (collection_expression), tree ARG_UNUSED (for_body),
431 tree ARG_UNUSED (break_label), tree ARG_UNUSED (continue_label))
432 {
433 return;
434 }
435
436 void
objc_write_global_declarations(void)437 objc_write_global_declarations (void)
438 {
439 }
440
441 bool
objc_string_ref_type_p(tree ARG_UNUSED (strp))442 objc_string_ref_type_p (tree ARG_UNUSED (strp))
443 {
444 return false;
445 }
446
447 void
objc_check_format_arg(tree ARG_UNUSED (format_arg),tree ARG_UNUSED (args_list))448 objc_check_format_arg (tree ARG_UNUSED (format_arg),
449 tree ARG_UNUSED (args_list))
450 {
451 }
452
453 void
objc_finish_function(void)454 objc_finish_function (void)
455 {
456 }
457
458 void
objc_maybe_warn_exceptions(location_t ARG_UNUSED (loc))459 objc_maybe_warn_exceptions (location_t ARG_UNUSED (loc))
460 {
461 }
462