Merge remote-tracking branch 'origin/vendor/GCC80'
[dragonfly.git] / contrib / gcc-8.0 / 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-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
29 objc_is_class_name (tree ARG_UNUSED (arg))
30 {
31   return 0;
32 }
33
34 tree
35 objc_is_id (tree ARG_UNUSED (arg))
36 {
37   return 0;
38 }
39
40 tree
41 objc_is_object_ptr (tree ARG_UNUSED (arg))
42 {
43   return 0;
44 }
45
46 bool objc_diagnose_private_ivar (tree ARG_UNUSED (arg))
47 {
48   return false;
49 }
50
51 tree
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
59 objc_check_decl (tree ARG_UNUSED (decl))
60 {
61 }
62
63 void
64 objc_check_global_decl (tree ARG_UNUSED (decl))
65 {
66 }
67
68 tree
69 objc_common_type (tree ARG_UNUSED (type1), tree ARG_UNUSED (type2))
70 {
71   return 0;
72 }
73
74 bool
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
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
89 objc_volatilize_decl (tree ARG_UNUSED (decl))
90 {
91 }
92
93 tree
94 objc_rewrite_function_call (tree function, tree ARG_UNUSED (first_param))
95 {
96   return function;
97 }
98
99 tree
100 objc_message_selector (void)
101 {
102   return 0;
103 }
104
105 void
106 objc_declare_alias (tree ARG_UNUSED (alias), tree ARG_UNUSED (orig))
107 {
108 }
109
110 void
111 objc_declare_class (tree ARG_UNUSED (identifier))
112 {
113 }
114
115 void
116 objc_declare_protocol (tree ARG_UNUSED (name), tree ARG_UNUSED (attributes))
117 {
118 }
119
120 void
121 objc_start_protocol (tree ARG_UNUSED (proto),
122                      tree ARG_UNUSED (protorefs),
123                      tree ARG_UNUSED (attribs))
124 {
125 }
126
127 void 
128 objc_set_method_opt (bool ARG_UNUSED (optional))
129 {
130 }
131
132 void
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
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
149 objc_continue_interface (void)
150 {
151 }
152
153 void
154 objc_finish_interface (void)
155 {
156 }
157
158 void
159 objc_add_instance_variable (tree ARG_UNUSED (decl))
160 {
161 }
162
163 void
164 objc_set_visibility (objc_ivar_visibility_kind ARG_UNUSED (vis))
165 {
166 }
167
168 void
169 objc_start_class_implementation (tree ARG_UNUSED (name),
170                                  tree ARG_UNUSED (super))
171 {
172 }
173
174 void
175 objc_start_category_implementation (tree ARG_UNUSED (name),
176                                     tree ARG_UNUSED (categ))
177 {
178 }
179
180 void
181 objc_continue_implementation (void)
182 {
183 }
184
185 void
186 objc_clear_super_receiver (void)
187 {
188 }
189
190 void
191 objc_finish_implementation (void)
192 {
193 }
194
195 void
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
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
212 objc_finish_method_definition (tree ARG_UNUSED (fndecl))
213 {
214 }
215
216 bool 
217 objc_method_decl (enum tree_code ARG_UNUSED(opcode))
218 {
219   return false;
220 }
221
222 tree
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
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
242 objc_build_encode_expr (tree ARG_UNUSED (expr))
243 {
244   return 0;
245 }
246
247 tree
248 objc_build_protocol_expr (tree ARG_UNUSED (expr))
249 {
250   return 0;
251 }
252
253 tree
254 objc_build_selector_expr (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr))
255 {
256   return 0;
257 }
258
259 tree
260 objc_build_message_expr (tree ARG_UNUSED (receiver), tree ARG_UNUSED (args))
261 {
262   return 0;
263 }
264
265 tree
266 objc_build_string_object (tree ARG_UNUSED (str))
267 {
268   return 0;
269 }
270
271 tree
272 objc_get_class_reference (tree ARG_UNUSED (name))
273 {
274   return 0;
275 }
276
277 bool
278 objc_detect_field_duplicates (bool ARG_UNUSED (check_superclasses_only))
279 {
280   return false;
281 }
282
283 tree
284 objc_get_protocol_qualified_type (tree ARG_UNUSED (name),
285                                   tree ARG_UNUSED (protos))
286 {
287   return 0;
288 }
289
290 int
291 objc_static_init_needed_p (void)
292 {
293   return 0;
294 }
295
296 tree
297 objc_generate_static_init_call (tree ARG_UNUSED (ctors))
298 {
299   return 0;
300 }
301
302 int
303 objc_is_public (tree ARG_UNUSED (expr), tree ARG_UNUSED (identifier))
304 {
305   return 1;
306 }
307
308 tree
309 objc_get_class_ivars (tree ARG_UNUSED (name))
310 {
311   return 0;
312 }
313
314 void
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
329 objc_is_property_ref (tree ARG_UNUSED (node))
330 {
331   return 0;
332 }
333
334 tree
335 objc_maybe_build_component_ref (tree ARG_UNUSED (datum), tree ARG_UNUSED (component))
336 {
337   return 0;
338 }
339
340 tree
341 objc_build_class_component_ref (tree ARG_UNUSED (datum), tree ARG_UNUSED (component))
342 {
343   return 0;
344 }
345
346 tree
347 objc_maybe_build_modify_expr (tree ARG_UNUSED (lhs), tree ARG_UNUSED (rhs))
348 {
349   return 0;
350 }
351
352 tree
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
362 objc_add_synthesize_declaration (location_t ARG_UNUSED (start_locus), 
363                                  tree ARG_UNUSED (property_and_ivar_list))
364 {
365 }
366
367 void
368 objc_add_dynamic_declaration (location_t ARG_UNUSED (start_locus), 
369                               tree ARG_UNUSED (property_list))
370 {
371 }
372
373 const char *
374 objc_maybe_printable_name (tree ARG_UNUSED (decl), 
375                            int ARG_UNUSED (v))
376 {
377   return NULL;
378 }
379
380 tree
381 objc_build_throw_stmt (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr))
382 {
383   return 0;
384 }
385
386 tree
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
394 objc_begin_try_stmt (location_t ARG_UNUSED (try_locus), tree ARG_UNUSED (body))
395 {
396 }
397
398 void
399 objc_begin_catch_clause (tree ARG_UNUSED (decl))
400 {
401 }
402
403 void
404 objc_finish_catch_clause (void)
405 {
406 }
407
408 void
409 objc_build_finally_clause (location_t ARG_UNUSED (finally_locus),
410                            tree ARG_UNUSED (body))
411 {
412 }
413
414 tree
415 objc_finish_try_stmt (void)
416 {
417   return 0;
418 }
419
420 tree
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
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
437 objc_write_global_declarations (void)
438 {
439 }
440
441 bool
442 objc_string_ref_type_p (tree ARG_UNUSED (strp))
443 {
444    return false;
445 }
446
447 void
448 objc_check_format_arg (tree ARG_UNUSED (format_arg), 
449                        tree ARG_UNUSED (args_list))
450 {
451 }
452
453 void
454 objc_finish_function (void)
455 {
456 }
457
458 void
459 objc_maybe_warn_exceptions (location_t ARG_UNUSED (loc))
460 {
461 }