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 } 462