]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/c-family/stub-objc.c
1914432678e8313be9b989fa0f47fcdc8708b793
[thirdparty/gcc.git] / gcc / c-family / stub-objc.c
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-2020 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 "vec.h"
27
28 #include "c-common.h" /* for enum rid. */
29 #include "c-objc.h"
30
31 tree
32 objc_is_class_name (tree ARG_UNUSED (arg))
33 {
34 return 0;
35 }
36
37 tree
38 objc_is_id (tree ARG_UNUSED (arg))
39 {
40 return 0;
41 }
42
43 tree
44 objc_is_object_ptr (tree ARG_UNUSED (arg))
45 {
46 return 0;
47 }
48
49 bool objc_diagnose_private_ivar (tree ARG_UNUSED (arg))
50 {
51 return false;
52 }
53
54 tree
55 objc_lookup_ivar (tree other, tree ARG_UNUSED (arg))
56 {
57 /* Just use whatever C/C++ found. */
58 return other;
59 }
60
61 void
62 objc_check_decl (tree ARG_UNUSED (decl))
63 {
64 }
65
66 void
67 objc_check_global_decl (tree ARG_UNUSED (decl))
68 {
69 }
70
71 tree
72 objc_common_type (tree ARG_UNUSED (type1), tree ARG_UNUSED (type2))
73 {
74 return 0;
75 }
76
77 bool
78 objc_compare_types (tree ARG_UNUSED (ltyp), tree ARG_UNUSED (rtyp),
79 int ARG_UNUSED (argno), tree ARG_UNUSED (callee))
80 {
81 return false;
82 }
83
84 bool
85 objc_have_common_type (tree ARG_UNUSED (ltyp), tree ARG_UNUSED (rtyp),
86 int ARG_UNUSED (argno), tree ARG_UNUSED (callee))
87 {
88 return false;
89 }
90
91 void
92 objc_volatilize_decl (tree ARG_UNUSED (decl))
93 {
94 }
95
96 tree
97 objc_rewrite_function_call (tree function, tree ARG_UNUSED (first_param))
98 {
99 return function;
100 }
101
102 tree
103 objc_message_selector (void)
104 {
105 return 0;
106 }
107
108 void
109 objc_declare_alias (tree ARG_UNUSED (alias), tree ARG_UNUSED (orig))
110 {
111 }
112
113 void
114 objc_declare_class (tree ARG_UNUSED (identifier))
115 {
116 }
117
118 void
119 objc_declare_protocol (tree ARG_UNUSED (name), tree ARG_UNUSED (attributes))
120 {
121 }
122
123 void
124 objc_start_protocol (tree ARG_UNUSED (proto),
125 tree ARG_UNUSED (protorefs),
126 tree ARG_UNUSED (attribs))
127 {
128 }
129
130 void
131 objc_set_method_opt (bool ARG_UNUSED (optional))
132 {
133 }
134
135 void
136 objc_start_class_interface (tree ARG_UNUSED (name),
137 location_t /*name_loc*/,
138 tree ARG_UNUSED (super),
139 tree ARG_UNUSED (protos),
140 tree ARG_UNUSED (attribs))
141 {
142 }
143
144 void
145 objc_start_category_interface (tree ARG_UNUSED (name),
146 tree ARG_UNUSED (categ),
147 tree ARG_UNUSED (protos),
148 tree ARG_UNUSED (attribs))
149 {
150 }
151
152 void
153 objc_continue_interface (void)
154 {
155 }
156
157 void
158 objc_finish_interface (void)
159 {
160 }
161
162 void
163 objc_add_instance_variable (tree ARG_UNUSED (decl))
164 {
165 }
166
167 void
168 objc_set_visibility (objc_ivar_visibility_kind ARG_UNUSED (vis))
169 {
170 }
171
172 void
173 objc_start_class_implementation (tree ARG_UNUSED (name),
174 tree ARG_UNUSED (super))
175 {
176 }
177
178 void
179 objc_start_category_implementation (tree ARG_UNUSED (name),
180 tree ARG_UNUSED (categ))
181 {
182 }
183
184 void
185 objc_continue_implementation (void)
186 {
187 }
188
189 void
190 objc_clear_super_receiver (void)
191 {
192 }
193
194 void
195 objc_finish_implementation (void)
196 {
197 }
198
199 void
200 objc_add_method_declaration (bool ARG_UNUSED (is_class_method),
201 tree ARG_UNUSED (signature),
202 tree ARG_UNUSED (attributes))
203 {
204 }
205
206 bool
207 objc_start_method_definition (bool ARG_UNUSED (is_class_method),
208 tree ARG_UNUSED (signature),
209 tree ARG_UNUSED (attributes),
210 tree ARG_UNUSED (expr))
211 {
212 return true;
213 }
214
215 void
216 objc_finish_method_definition (tree ARG_UNUSED (fndecl))
217 {
218 }
219
220 bool
221 objc_method_decl (enum tree_code ARG_UNUSED(opcode))
222 {
223 return false;
224 }
225
226 tree
227 objc_build_keyword_decl (tree ARG_UNUSED (selector),
228 tree ARG_UNUSED (type),
229 tree ARG_UNUSED (identifier),
230 tree ARG_UNUSED (attributes))
231 {
232 return 0;
233 }
234
235 tree
236 objc_build_method_signature (bool ARG_UNUSED (is_class_method),
237 tree ARG_UNUSED (rettype),
238 tree ARG_UNUSED (selectors),
239 tree ARG_UNUSED (optparms),
240 bool ARG_UNUSED (ellipsis))
241 {
242 return 0;
243 }
244
245 tree
246 objc_build_encode_expr (tree ARG_UNUSED (expr))
247 {
248 return 0;
249 }
250
251 tree
252 objc_build_protocol_expr (tree ARG_UNUSED (expr))
253 {
254 return 0;
255 }
256
257 tree
258 objc_build_selector_expr (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr))
259 {
260 return 0;
261 }
262
263 tree
264 objc_build_message_expr (tree ARG_UNUSED (receiver), tree ARG_UNUSED (args))
265 {
266 return 0;
267 }
268
269 tree
270 objc_build_string_object (tree ARG_UNUSED (str))
271 {
272 return 0;
273 }
274
275 tree
276 objc_get_class_reference (tree ARG_UNUSED (name))
277 {
278 return 0;
279 }
280
281 bool
282 objc_detect_field_duplicates (bool ARG_UNUSED (check_superclasses_only))
283 {
284 return false;
285 }
286
287 tree
288 objc_get_protocol_qualified_type (tree ARG_UNUSED (name),
289 tree ARG_UNUSED (protos))
290 {
291 return 0;
292 }
293
294 int
295 objc_static_init_needed_p (void)
296 {
297 return 0;
298 }
299
300 tree
301 objc_generate_static_init_call (tree ARG_UNUSED (ctors))
302 {
303 return 0;
304 }
305
306 int
307 objc_is_public (tree ARG_UNUSED (expr), tree ARG_UNUSED (identifier))
308 {
309 return 1;
310 }
311
312 tree
313 objc_get_class_ivars (tree ARG_UNUSED (name))
314 {
315 return 0;
316 }
317
318 void
319 objc_add_property_declaration (location_t ARG_UNUSED (location),
320 tree ARG_UNUSED (decl),
321 vec<property_attribute_info *>&
322 /*prop_attr_list*/)
323 {
324 }
325
326 bool
327 objc_is_property_ref (tree ARG_UNUSED (node))
328 {
329 return 0;
330 }
331
332 bool
333 objc_non_constant_expr_p (tree)
334 {
335 return 0;
336 }
337
338 tree
339 objc_maybe_build_component_ref (tree ARG_UNUSED (datum), tree ARG_UNUSED (component))
340 {
341 return 0;
342 }
343
344 tree
345 objc_build_class_component_ref (tree ARG_UNUSED (datum), tree ARG_UNUSED (component))
346 {
347 return 0;
348 }
349
350 tree
351 objc_maybe_build_modify_expr (tree ARG_UNUSED (lhs), tree ARG_UNUSED (rhs))
352 {
353 return 0;
354 }
355
356 tree
357 objc_build_incr_expr_for_property_ref (location_t ARG_UNUSED (location),
358 enum tree_code ARG_UNUSED (code),
359 tree ARG_UNUSED (argument),
360 tree ARG_UNUSED (increment))
361 {
362 return 0;
363 }
364
365 void
366 objc_add_synthesize_declaration (location_t ARG_UNUSED (start_locus),
367 tree ARG_UNUSED (property_and_ivar_list))
368 {
369 }
370
371 void
372 objc_add_dynamic_declaration (location_t ARG_UNUSED (start_locus),
373 tree ARG_UNUSED (property_list))
374 {
375 }
376
377 const char *
378 objc_maybe_printable_name (tree ARG_UNUSED (decl),
379 int ARG_UNUSED (v))
380 {
381 return NULL;
382 }
383
384 tree
385 objc_build_throw_stmt (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr))
386 {
387 return 0;
388 }
389
390 tree
391 objc_build_synchronized (location_t ARG_UNUSED (start_locus),
392 tree ARG_UNUSED (mutex), tree ARG_UNUSED (body))
393 {
394 return 0;
395 }
396
397 void
398 objc_begin_try_stmt (location_t ARG_UNUSED (try_locus), tree ARG_UNUSED (body))
399 {
400 }
401
402 void
403 objc_begin_catch_clause (tree ARG_UNUSED (decl))
404 {
405 }
406
407 void
408 objc_finish_catch_clause (void)
409 {
410 }
411
412 void
413 objc_build_finally_clause (location_t ARG_UNUSED (finally_locus),
414 tree ARG_UNUSED (body))
415 {
416 }
417
418 tree
419 objc_finish_try_stmt (void)
420 {
421 return 0;
422 }
423
424 tree
425 objc_generate_write_barrier (tree ARG_UNUSED (lhs),
426 enum tree_code ARG_UNUSED (modifycode),
427 tree ARG_UNUSED (rhs))
428 {
429 return 0;
430 }
431
432 void
433 objc_finish_foreach_loop (location_t ARG_UNUSED (location), tree ARG_UNUSED (object_expression),
434 tree ARG_UNUSED (collection_expression), tree ARG_UNUSED (for_body),
435 tree ARG_UNUSED (break_label), tree ARG_UNUSED (continue_label))
436 {
437 return;
438 }
439
440 void
441 objc_write_global_declarations (void)
442 {
443 }
444
445 bool
446 objc_string_ref_type_p (tree ARG_UNUSED (strp))
447 {
448 return false;
449 }
450
451 void
452 objc_check_format_arg (tree ARG_UNUSED (format_arg),
453 tree ARG_UNUSED (args_list))
454 {
455 }
456
457 void
458 objc_finish_function (void)
459 {
460 }
461
462 void
463 objc_maybe_warn_exceptions (location_t ARG_UNUSED (loc))
464 {
465 }
466
467 enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid)
468 {
469 return OBJC_PROPERTY_ATTR_UNKNOWN;
470 }