Merged trunk at revision 161680 into branch.
[official-gcc.git] / gcc / objc / ChangeLog
blob099bc6595acf0a4823bd31d65706a0c5839b2ba2
1 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
3         * objc-act.c: Do not include except.h.
5 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
7         * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
8         allocation.
10         * objc-act.c (objc_volatilize_decl): Likewise.
11         (objc_build_string_object): Likewise.
12         (hash_init): Likewise.
13         (hash_enter): Likewise.
14         (hash_add_attr): Likewise.
15         (add_class): Likewise.
16         (start_class): Likewise.
18 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
20         * objc-act.c: Update include path for moved files.
21         * objc-lang.c: Likewise.
22         * config-lang.in: Update paths in gtfiles for files in c-family/.
24 2010-06-01  Nathan Froyd  <froydnj@codesourcery.com>
26         * objc-act.c (build_next_objc_exception_stuff): Give setjmp a
27         varargs type instead of a zero-argument type.
29 2010-05-30  Nathan Froyd  <froydnj@codesourcery.com>
31         * objc-act.c (synth_module_prologue): Use build_function_type_list
32         instead of build_function_type.
33         (build_module_initializer_routine): Likewise.
34         (build_next_objc_exception_stuff): Likewise.
35         (build_objc_exception_stuff): Likewise.
37 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
39         * objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
40         * Make-lang.in (objc/objc-act.o): Update dependencies.
42 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
44         * objc-act.h: Do not include gimple.h.
45         * objc-act.c: Do not include rtl.h, expr.h, libfuncs.h, and tm_p.h.
46         Include gimple.h.  Explain why except.h has to be included.
47         * objc-lang.c: Do not include diagnostics.h.
48         * Make-lang.in: Update dependencies.
50 2010-05-25  Nathan Froyd  <froydnj@codesourcery.com>
52         * objc-act.c (objc_build_constructor): Adjust OBJCPLUS impedance
53         mismatch code for VECs.
55 2010-05-25  Nathan Froyd  <froydnj@codesourcery.com>
57         * objc-act.c (objc_build_constructor): Take a VEC instead of a tree.
58         Use build_constructor instead of build_constructor_from_list.
59         (objc_build_string_object): Build a VEC argument for
60         objc_build_constructor.
61         (init_def_list): Likewise.
62         (init_objc_symtab): Likewise.
63         (init_module_descriptor): Likewise.
64         (generate_static_references): Likewise.
65         (build_selector_translation_table): Likewise.
66         (build_descriptor_table_initializer): Likewise.
67         (generate_descriptor_table): Likewise.
68         (build_protocol_initializer): Likewise.
69         (build_ivar_list_initializer): Likewise.
70         (generate_ivars_list): Likewise.
71         (build_dispatch_table_initializer): Likewise.
72         (generate_dispatch_table): Likewise.
73         (generate_protocol_list): Likewise.
74         (build_category_initializer): Likewise.
75         (build_shared_structure_initializer): Likewise.
76         (generate_objc_image_info): Likewise.
78 2010-04-30  Iain Sandoe  <iains@gcc.gnu.org>
80         PR objc++/32052
81         * objc-act.c (encode_aggregate_within): Encode structure tags
82         with template args for ObjC++.
84 2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
86         * objc-act.c: Do not include varray.h.
88 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
90         PR c/18624
91         * objc-act.c (finish_var_decl, objc_begin_catch_clause,
92         really_start_method, get_super_receiver, handle_class_ref): Set
93         DECL_READ_P in addition to TREE_USED.
95 2010-04-07  Iain Sandoe <iains@gcc.gnu.org>
97         PR objc/35996
98         * objc-act.c (objc_init): Warn that -fobjc-gc is ignored for
99         -fgnu-runtime and set flag_objc_gc to zero.
101 2010-04-07  Iain Sandoe <iains@gcc.gnu.org>
103         PR objc++/23716
104         * objc-act.c (build_module_initializer_routine): Make the argument
105         to objc_start_function NULL_TREE when compiling ObjC++.
107 2010-02-18  Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
108             Mike Stump  <mikestump@comcast.net>
110         PR objc/43061
111         * objc-act.c (finish_var_decl): Set the generated symbols as "used".
113 2009-12-17  Shujing Zhao  <pearly.zhao@oracle.com>
115         * objc-act.c (objc_substitute_decl, build_ivar_reference,
116         get_super_receiver): Update build_indirect_ref calls.
118 2009-11-28  Jakub Jelinek  <jakub@redhat.com>
120         * objc-act.c (generate_shared_structures): Remove unused sc_spec and
121         decl_specs variables.
122         (objc_build_message_expr): Remove unused loc variable.
123         (objc_finish_message_expr): Remove unused saved_rtype variable.
124         (encode_field_decl): Remove unused type variable.
126         PR obj-c++/42156
127         * objc-act.c (objc_build_struct): INIT_TYPE_OBJC_INFO for
128         type variants that don't have it initialized yet.
130 2009-09-14  Jan Hubicka  <jh@suse.cz>
132         * objc-act.c (objc_add_static_instance): Do not set DECL_COMMON.
134 2009-09-14  Richard Henderson  <rth@redhat.com>
136         * objc-act.c (objc_init_exceptions): Don't call
137         default_init_unwind_resume_libfunc.
138         (objc_build_exc_ptr): Use __builtin_eh_pointer.
140 2009-09-13  Richard Guenther  <rguenther@suse.de>
141         Rafael Avila de Espindola  <espindola@google.com>
143         * objc-act.c (objc_eh_runtime_type): Export.
144         (objc_init_exceptions): Remove.  Move warning code ...
145         (objc_begin_try_stmt): ... here
146         (objc_build_throw_stmt): ... and here.
147         (objc_eh_personality_decl): New.
148         (objc_eh_personality): New function.
149         * objc-act.h (objc_eh_runtime_type): Declare.
150         (objc_eh_personality): Likewise.
151         * objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
152         (LANG_HOOKS_EH_PERSONALITY): Likewise.
154 2009-09-03  Diego Novillo  <dnovillo@google.com>
156         * objc-lang.c (lang_hooks): Remove const qualifier.
158 2009-08-20  Richard Guenther  <rguenther@suse.de>
160         * objc-act.c: Include c-lang.h
161         * Make-lang.in (objc/objc-act.o): Add c-lang.h dependency.
163 2009-07-17  Aldy Hernandez  <aldyh@redhat.com>
164             Manuel López-Ibáñez  <manu@gcc.gnu.org>
166         PR 40435 
167         * objc-act.c: Add location argument to all calls to
168         build_fold_addr_expr.
169         
170 2009-07-14  Taras Glek  <tglek@mozilla.com>
171             Rafael Espindola  <espindola@google.com>
173         * Make-lang.in (objc.install-plugin): New target for
174         installing plugin headers.
176 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
178         * objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
179         EXPR_LOCATION.
180         
181 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
183         * objc-act.c: Replace %J by an explicit location. Update all
184         calls.
185         
186 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
188         * objc-act.c: Replace %H by an explicit location. Update all
189         calls.
190         
191 2009-06-22  Steven Bosscher  <steven@gcc.gnu.org>
193         PR objc/28050
194         * objc-act.c (objc_build_message_args): Return if ARGS is the
195         error_mark_node.
196         
197 2009-06-19  Ian Lance Taylor  <iant@google.com>
199         * objc-act.c (objc_in_struct, objc_struct_types): Remove.
200         (objc_struct_info): New static variable.
201         (objc_start_struct): Pass &objc_struct_info, not &objc_in_struct
202         and &objc_struct_types, to start_struct.
203         (objc_finish_struct): Likewise for finish_struct.
205 2009-06-15  Ian Lance Taylor  <iant@google.com>
207         * objc-act.c (objc_start_function): Don't set
208         label_context_stack_se or label_context_stack_vm.
210 2009-06-12  Aldy Hernandez  <aldyh@redhat.com>
211         
212         * objc-act.c (finish_var_decl): Pass location to finish_decl.
213         (objc_get_parm_info): Same.
214         (get_super_receiver): Same.
215         * objc-act.c (objc_build_component_ref): Pass location to
216         build_compound_ref.
217         (build_module_initializer_routine): Pass location to
218         c_end_compound_stmt.
219         (objc_generate_static_init_call): Pass location to build_stmt.
220         (build_typed_selector_reference): New location argument.
221         (build_selector_reference): Same.
222         (objc_substitute_decl): Pass location to build_array_ref.
223         (next_sjlj_build_try_catch_finally): Pass location to build_stmt.
224         (objc_begin_catch_clause): Same.
225         (objc_finish_try_stmt): Same.
226         (objc_finish_catch_clause): Pass location to c_end_compound_stmt.
227         (objc_build_throw_stmt): New argument.
228         (generate_shared_structures): Pass location to build_c_cast.
229         (objc_build_message_expr): Use local location.
230         (objc_finish_message_expr): Use input_location.
231         (build_objc_method_call): New argument.
232         (objc_build_selector_expr): Same.
233         (get_super_receiver): Pass location to build_c_cast,
234         build_modify_expr, build_compound_expr.
235         * objc-act.c: Add location to all calls to start_struct, build_decl,
236         finish_struct.
237         
238 2009-06-09  Ian Lance Taylor  <iant@google.com>
240         * objc-act.c (objc_gimplify_expr): Change return type to int.
241         * objc-act.h: Update declaration.
243 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
245         * objc-act.c (objc_init): Skip print_struct_values during
246         -fcompare-debug-second.
248 2009-06-03  Ian Lance Taylor  <iant@google.com>
250         * Make-lang.in (cc1obj-checksum.o): Depend upon $(CONFIG_H) and
251         $(SYSTEM_H).
253 2009-05-27  Ian Lance Taylor  <iant@google.com>
255         * Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
256         $(LINKER).
257         (cc1obj$(exeext)): Likewise.
259 2009-05-26  Ian Lance Taylor  <iant@google.com>
261         * Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
262         (cc1obj$(exeext)): Likewise.
264 2009-05-20  Ian Lance Taylor  <iant@google.com>
266         * objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
267         than NULL_TREE to build_special_member_call.
269 2009-05-10  Ian Lance Taylor  <iant@google.com>
271         * objc-act.c (objc_building_struct): New static variable.
272         (objc_in_struct, objc_struct_types): New static variables.
273         (objc_start_struct, objc_finish_struct): New static functions.
274         (generate_struct_by_value_array): Call objc_start_struct instead
275         of start_struct, and call objc_finish_struct instead of
276         finish_struct.
277         (objc_build_struct, build_objc_symtab_template): Likewise.
278         (build_module_descriptor): Likewise.
279         (build_next_objc_exception_stuff): Likewise.
280         (build_protocol_template): Likewise.
281         (build_method_prototype_list_template): Likewise.
282         (build_method_prototype_template): Likewise.
283         (build_category_template, build_selector_template): Likewise.
284         (build_class_template, build_super_template): Likewise.
285         (build_ivar_template, build_ivar_list_template): Likewise.
286         (build_method_list_template): Likewise.
287         (build_method_template): Likewise.
289 2009-05-10  Joseph Myers  <joseph@codesourcery.com>
291         * objc-act.c: Include intl.h.
292         (objc_lookup_protocol): Use complete sentences for diagnostics
293         with %qE for identifiers and translating results of
294         gen_type_name_0 to locale character set.
295         (objc_check_decl, check_protocol_recursively,
296         lookup_and_install_protocols, objc_build_string_object,
297         objc_get_class_reference, objc_declare_alias, objc_declare_class,
298         objc_get_class_ivars, error_with_ivar, check_duplicates,
299         objc_finish_message_expr, objc_build_protocol_expr,
300         objc_build_selector_expr, build_ivar_reference, objc_add_method,
301         add_category, add_instance_variable, objc_is_public,
302         check_methods, check_methods_accessible, check_protocol,
303         start_class, finish_class, start_protocol, really_start_method,
304         get_super_receiver, objc_lookup_ivar): Use %E and %qE for
305         identifiers in diagnostics.  Translate generated text to locale
306         character set as needed.
307         (check_protocol, check_protocols): Change name parameter to type
308         tree.
309         (lang_report_error_function): Remove.
311 2009-04-27  Ian Lance Taylor  <iant@google.com>
313         * objc-act.c (objc_gimplify_expr): Add casts to enum type.
315 2009-04-24  Ian Lance Taylor  <iant@google.com>
317         * objc-act.c (get_super_receiver): Update calls to
318         build_modify_expr to pass new argument.
320 2009-04-21  Taras Glek <tglek@mozilla.com>
322         * objc-act.c: Update GTY annotations to new syntax
323         * objc-act.h: Likewise
325 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
327         * ChangeLog: Add copyright and license notices.
329 2009-04-20  Ian Lance Taylor  <iant@google.com>
331         * objc-act.c (objc_rewrite_function_call): Change parameter from
332         params to first_param.  Change all callers.
334 2009-03-30  Dominique d'Humieres  <dominiq@lps.ens.fr>
336         PR bootstrap/39583
337         * objc-act.c (in_late_binary_op): Define for Objective-C++.
339 2009-03-29  Joseph Myers  <joseph@codesourcery.com>
341         PR c/456
342         PR c/5675
343         PR c/19976
344         PR c/29116
345         PR c/31871
346         PR c/35198
347         * objc-act.c (objc_finish_try_stmt): Set in_late_binary_op.
349 2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
351         PR bootstrap/38262
352         * Make-lang.in (cc1obj-dummy, cc1obj): Add BACKENDLIBS,
353         remove GMPLIBS.
355 2008-10-06  Aldy Hernandez  <aldyh@redhat.com>
357         * objc-act.c (objc_build_string_object): Pass location to
358         build_unary_op.
359         (init_def_list): Same.
360         (init_objc_symtab): Same.
361         (init_module_descriptor): Same.
362         (build_module_initializer_routine): Same.
363         (generate_static_references): Same.
364         (build_typed_selector_reference): Same.
365         (add_objc_string): Same.
366         (objc_substitute_decl): Same.
367         (objc_build_ivar_assignment): Same.
368         (objc_build_global_assignment): Same.
369         (objc_build_strong_cast_assignment): Same.
370         (generate_protocols): Same.
371         (build_protocol_initializer): Same.
372         (build_dispatch_table_initializer): Same.
373         (generate_protocol_list): Same.
374         (build_category_initializer): Same.
375         (build_shared_structure_initializer): Same.
376         (generate_shared_structures): Same.
377         (objc_build_protocol_expr): Same.
378         (build_ivar_reference): Same.
379         (get_super_receiver): Same.
381 2008-09-23  Aldy Hernandez  <aldyh@redhat.com>
383         * objc-act.c (next_sjlj_build_enter_and_setjmp): Call
384         c_common_truthvalue_conversion with location.
385         (next_sjlj_build_catch_list): Same.
386         (next_sjlj_build_try_catch_finally): Same.
388 2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>
390         PR objc/37460
391         * objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
392         * objc-act.h (objc_get_callee_fndecl): Remove prototype.
393         * objc-act.c (objc_get_callee_fndecl): Kill.
395 2008-09-17  Jan Hubicka  <jh@suse.cz>
397         PR c++/18071
398         * objc/objc-act.c (objc_finish_method_definition): Do not set
399         DECL_INLINE.
401 2008-09-01  Aldy Hernandez  <aldyh@redhat.com>
403         * objc-act.c (build_typed_selector_reference): Pass input_location to
404         build_unary_op calls.
405         (build_selector_reference): Same, but to build_array_ref.
406         (objc_substitute_decl): Same.
407         (build_ivar_reference): Same, but to build_indirect_ref.
408         (get_super_receiver): Same.
410 2008-07-28  Richard Guenther  <rguenther@suse.de>
412         Merge from gimple-tuples-branch.
414         2008-07-18  Aldy Hernandez  <aldyh@redhat.com>
416         * Make-lang.in (objc-lang.o): Depend on GIMPLE_H.
417         (objc-act.o): Rename TREE_GIMPLE_H to GIMPLE_H.
418         * objc-act.h: Include gimple.h instead of tree-gimple.h.
419         * ipa-reference.c: Same.
421         2007-11-10  Aldy Hernandez  <aldyh@redhat.com>
423         * objc-act.c (objc_gimplify_expr): Change pre and post to sequences.
424         * objc-act.h (objc_gimplify_expr): Change prototype accordingly.
426 2008-07-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
428         * objc-act.c: Fix comment typos.
430 2008-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
432         * objc-act.c (objc_start_class_interface,
433         objc_start_category_interface, objc_start_class_implementation,
434         objc_start_category_implementation, objc_build_struct,
435         generate_static_references, build_private_template,
436         lookup_category, objc_add_method, add_category,
437         add_instance_variable, objc_is_public, conforms_to_protocol,
438         start_class, continue_class, finish_class): Avoid C++ keywords.
440 2008-07-14  Jason Merrill  <jason@redhat.com>
442         PR objc++/36723
443         * objc-act.c (objc_build_constructor): Update C++ tweak.
445 2007-07-14  Rafael Ávila de Espíndola  <espindola@google.com>
447         * objc-act.c (synth_module_prologue): Use TREE_NO_WARNING instead
448         of DECL_IN_SYSTEM_HEADER.
450 2008-07-11  Ian Lance Taylor  <iant@google.com>
452         * objc-act.c (objc_is_reserved_word): Always check for RID_CLASS,
453         etc., not just when OBJCPLUS is defined.
455 2008-06-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
457         * objc-act.c (setup_string_decl, objc_build_string_object,
458         hash_interface, eq_interface, objc_begin_try_stmt,
459         encode_method_prototype, build_ivar_list_initializer,
460         objc_build_encode_expr): Fix for -Wc++-compat.
462 2008-05-12  Tomas Bily  <tbily@suse.cz>
464         * objc-act.c (objc_generate_write_barrier, objc_finish_message_expr):
465         Use CONVERT_EXPR_P.
467 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
469         * objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT.
471 2008-04-03  Tom Tromey  <tromey@redhat.com>
473         * Make-lang.in (objc_OBJS): New variable.
475 2008-03-27  Tom Tromey  <tromey@redhat.com>
477         * Make-lang.in: Revert automatic dependency patch.
479 2008-03-27  Douglas Gregor  <doug.gregor@gmail.com>
481         PR obj-c++/35704
482         * objc-act.c (objc_build_component_ref): Fix call to
483         finish_class_member_access_expr.
484         (objc_generate_cxx_ctor_or_dtor): Fix call to
485         build_special_member_call.
487 2008-03-25  Andrew Pinski  <pinskia@gmail.com>
489         PR objc/29197
490         * objc-act.c (encode_type): Handle when type is error_mark_node.
491         (objc_push_parm): Handle when the type of parm is error_mark_node.
493 2008-03-25  Tom Tromey  <tromey@redhat.com>
495         * Make-lang.in (objc_OBJS): New variable.
496         (cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove.
498 2008-03-21  Andreas Tobler  <a.tobler@schweiz.org>
500         PR bootstrap/35660
501         * objc-act.c (objc_generate_cxx_ctor_or_dtor): Rename IS_AGGR_TYPE to
502         MAYBE_CLASS_TYPE_P.
503         (objc_generate_cxx_cdtors): Likewise.
504         (add_instance_variable): Likewise.
506 2008-02-26  Tom Tromey  <tromey@redhat.com>
508         * objc-act.c (objc_init): Remove old location code.
510 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
512         PR other/35107
513         * Make-lang.in (cc1obj-dummy, cc1obj): Add $(GMPLIBS).
515 2007-07-30  Nick Clifton  <nickc@redhat.com>
517         * Make-lang.in: Change copyright header to refer to version 3 of
518         the GNU General Public License and to point readers at the
519         COPYING3 file and the FSF's license web page.
520         * lang-specs.h, objc-act.c, objc-tree.def, objc-act.h,
521         config-lang.in, objc-lang.c: Likewise.
523 2007-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
525         * objc-act.c (objc_get_callee_fndecl): Constify.
526         * objc-act.h (objc_get_callee_fndecl): Likewise.
528 2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
530         * objc-act.c (volatilized_hash, volatilized_eq, string_hash,
531         string_eq): Constify.
533 2007-04-04  Stuart Hastings  <stuart@apple.com>
535         PR 31281
536         * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
538 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
540         * Make-lang.in: Add dummy lang.install-pdf target.
542 2007-02-18  Kazu Hirata  <kazu@codesourcery.com>
544         * objc/objc-act.c: Fix comment typos.
546 2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
547             Brooks Moses  <brooks.moses@codesourcery.com>
548             Lee Millward  <lee.millward@codesourcery.com>
550         * objc-act.c (receiver_is_class_object): Use new CALL_EXPR accessors.
551         (objc_get_callee_fndecl): Likewise.
553 2007-01-23  Andrew Pinski  <pinskia@gmail.com>
555         PR objc/27438
556         * objc-act.c (objc_add_static_instance): Mark the decl as
557         TREE_USED.
559 2007-01-20  Andrew Pinski  <pinskia@gmail.com>
561         PR objc/30479
562         * objc-act.c (hash_interface): Use IDENTIFIER_HASH_VALUE instead
563         of htab_hash_pointer.
564         (lookup_interface): Likewise.
565         (add_class): Likewise.
567 2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>
568         
569         * objc-act.c (objc_build_volatilized_type): Keep track of
570         canonical types.
571         (objc_get_protocol_qualified_type): Ditto.
572         
573 2006-11-02  Andreas Tobler  <a.tobler@schweiz.org>
575         * objc-act.c (objc_finish_file): Remove ifdef clause for OBJCPLUS and
576         content where we called cp_finish_file.
578 2006-10-23 Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
580         * objc-act.c (synth_module_prologue): Replace calls to
581         builtin_function with add_builtin_function.
582         (build_next_objc_exception_stuff): Replace calls to
583         builtin_function with add_builtin_function.
584         (build_objc_exception_stuff): Replace calls to
585         builtin_function with add_builtin_function.
587 2006-10-10  Brooks Moses  <bmoses@stanford.edu>
589         * Make-lang.in: Added empty "objc.pdf" target.
591 2006-09-26  Andrew Pinski  <pinskia@physics.uc.edu>
593         PR objc/29195
594         * objc-act.c (objc_push_parm): If we change the type of the
595         decl, relayout the decl.
597 2006-09-19  Eric Christopher  <echristo@apple.com>
599         * objc-act.c (JBLEN): Rename to OBJC_JBLEN,
600         default to something innocuous.
601         (build_next_objc_exception_stuff): Rename JBLEN.
603 2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
605         * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
607 2006-07-19  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
609         PR obj-c++/28434
610         * objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes.
612 2006-06-06  Mike Stump  <mrs@apple.com>
614         * objc-act.c: Remove prototype for objc_build_volatilized_type.
616 2006-05-24  Mike Stump  <mrs@apple.com>
618         * objc-act.c (build_next_objc_exception_stuff): Use JBLEN instead of _JBLEN.
620 2006-05-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
622         PR objc/27240
623         * objc-act.c (objc_is_public): Return early on invalid type.
625 2006-03-02 Fariborz Jahanian <fjahanian@apple.com>
627         * objc-act.c (init_module_descriptor): Remove file name from
628         module descriptor.
629         (gen_type_name_0): Fix ICE when issuing warning.
631 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
632         * Make-lang.in (OBJC): Remove
633         (OBJECTIVE-C): Remove
634         (objective-c): Remove
635         (.PHONY): Remove objective-c and ObjC
637 2005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>
639         PR objc/25360
640         * objc/objc-act.c (encode_type): Encode Complex types as 'j' followed
641         by the inner type.
643 2005-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
645         PR objc/25348
646         * objc-act.c (encode_array): Handle arrays to zero sized types.
648 2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
650         * Make-lang.in (objc.all.build, objc.install-normal): Remove.
652 2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
654         * Make-lang.in: Remove all dependencies on s-gtype.
656 2005-12-02  Richard Guenther  <rguenther@suse.de>
658         * objc-act.c (objc_build_exc_ptr, next_sjlj_build_enter_and_setjmp
659         next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
660         next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
661         build_objc_method_call, objc_rewrite_function_call): Use buildN
662         instead of build.
664 2005-10-20  Geoffrey Keating  <geoffk@apple.com>
666         * objc-act.c (synth_module_prologue): Clear TREE_NOTHROW
667         on objc_msgSend and like builtin functions.
669 2005-10-17  Andreas Krebbel  <krebbel1@de.ibm.com>
671         * objc-act.c (objc_build_component_ref): Adjust call to
672         finish_class_member_access_expr due to a changed prototype.
674 2005-08-31  Andrew Pinski  <pinskia@physics.uc.edu>
676         PR objc/23306
677         * objc-act.c (generate_strings): Remove and move code to
678         finish decl to ...
679         (add_objc_string): here when creating a new string decl.
680         (finish_objc): Don't call generate_strings.
682 2005-08-31  Andrew Pinski  <pinskia@physics.uc.edu>
684         PR objc/23381
685         * objc-act.c (next_sjlj_build_try_catch_finally): Set
686         TREE_SIDE_EFFECTS on catch_seq after building it.
688 2005-08-09  Andrew Pinski  <pinskia@physics.uc.edu>
690         part of PR objc/21992
691         * objc-act.c (handle_class_ref): The ref decl is always referenced.
693 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
695         Make CONSTRUCTOR use VEC to store initializers.
696         * objc-act.c (objc_build_constructor): Use build_constructor_from_list
697         instead of build_constructor.
699 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
701         * objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
702         removed.
703         * objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
704         (KEYWORD_KEY_NAME): Use decl_minimal.
705         (METHOD_SEL_NAME): Ditto..
706         (METHOD_SEL_ARGS): Use decl_non_common.
707         (METHOD_ADD_ARGS): Ditto.
708         (METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
709         (METHOD_DEFINITION): Ditto.
710         (METHOD_ENCODING): Ditto.
711         * objc-lang.c: (objc_init_ts): New function.
713 2005-07-07  Ziemowit Laski  <zlaski@apple.com>
715         * objc-act.c (objc_build_struct): Pass in an actual @interface
716         instead of its name, and annotate the struct created (and all
717         existing variants thereof) with the @interface.
718         (objc_compare_types): Treat forward-declared ObjC classes
719         as stand-alone (root) classes for purposes of type comparisons.
720         (build_private_template): Move some code to objc_build_struct().
722 2005-07-07  Ziemowit Laski  <zlaski@apple.com>
724         PR objc/22274
725         * objc-act.c (objc_build_string_object): For GNU-style constants,
726         use the @interface type rather than the built-in type.
728 2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
730         * Make-lang.in (cc1plus-checksum.c): Use
731         build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
733 2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
735         * objc-act.c: Use %q to quote in diagnostics.
737 2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
739         * objc-act.c: Use '+' flag instead of %J.  Use 'q' flag for
740         quoting.
742 2005-06-30  Ziemowit Laski  <zlaski@apple.com>
744         * objc-act.c (objc_build_volatilized_type): New function.
745         (objc_volatilize_decl): Call objc_build_volatilized_type()
746         instead of build_qualified_type().
748 2005-06-29  Ziemowit Laski  <zlaski@apple.com>
750         * objc-act.c (objc_build_internal_const_str_type): New function.
751         (check_string_class_template): Use objc_get_class_ivars() instead
752         of TYPE_FIELDS() to retrieve ivar list.
753         (AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather
754         than the field itself.
755         (objc_build_string_object): Synthesize a "__builtin_ObjCString"
756         type and use it to lay out compile-time string objects.
757         * objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type):
758         New.
760 2005-06-28  Paul Brook  <paul@codesourcery.com>
762         * objc-act.c (objc_init_exceptions): Call
763         default_init_unwind_resume_libfunc.
765 2005-06-27  Ziemowit Laski  <zlaski@apple.com>
767         * objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO
768         portion of TYPE_LANG_SPECIFIC info for all variants of
769         a class before calling finish_struct(), and restore
770         same TYPE_OBJC_INFO afterwards.
772 2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
774         * all files: Update FSF address in copyright headers.
776 2005-06-15  Joseph S. Myers  <joseph@codesourcery.com>
778         * objc-act.c (my_build_string_pointer): New.
779         (objc_get_class_reference, get_super_receiver): Call
780         my_build_string_pointer instead of my_build_string when building
781         function arguments.
783 2005-05-25  Mike Stump  <mrs@mrs.kithrup.com>
785         * objc-act.c (volatilized_hash): Avoid warnings on 64-bit
786         machines.
788 2005-05-24  Ziemowit Laski  <zlaski@apple.com>
790         * objc-act.c (objc_build_struct): New function.
791         (objc_derived_from_p): Likewise.
792         (objc_build_component_ref): Likewise.
793         (objc_copy_binfo): Likewise.
794         (objc_xref_basetypes): Likewise.
795         (objc_lookup_protocol): Likewise.
796         (objc_compare_protocols): Likewise.
797         (objc_volatilize_decl): Likewise.
798         (encode_aggregate_fields): Likewise.
799         (volatilized_hash): Likewise.
800         (volatilized_eq): Likewise.
801         (objc_compare_types): Likewise.
802         (objc_type_quals_match): Likewise.
803         (DERIVED_FROM_P): New ObjC macro, corresponding to C++ macro
804         of same name.
805         (get_class_ivars): Add second parameter indicating if entire
806         hierarchy is desired.
807         (struct volatilized_type): New type.
808         (volatilized_htab): New hash table.
809         (objc_types_compatible_p, objc_comptypes): Remove functions.
810         (synth_module_prologue): Do not initialize 'unused_list'.
811         (objc_get_class_reference): Fix ObjC++ impedance mismatches.
812         (objc_declare_alias): Implement as a typedef.
813         (objc_substitute_decl, objc_gimplify_expr): Reformat.
814         (objc_get_class_ivars): Adjust call to get_class_ivars().
815         (next_sjlj_build_enter_and_setjmp, synth_forward_declarations,
816         build_ivar_reference, get_super_receiver): Call
817         objc_build_component_ref() instead of build_component_ref().
818         (objc_begin_catch_clause): Use DERIVED_FROM_P() instead of
819         objc_comptypes().
820         (build_private_template): Call objc_build_struct() instead of
821         start_struct() and finish_struct().
822         (hash_init): Initialize volatilized_htab.
823         (objc_is_public): Adjust calls to objc_get_ivars(); adjust
824         ObjC++ impedance mismatches.
825         (encode_aggregate_within): Streamline by calling
826         encode_aggregate_fields().
827         * objc-act.h (objc_types_compatible_p): Remove prototype.
828         (OCTI_UNUSED_LIST, unused_list): Remove slot.
829         * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
831 2005-05-18  Geoffrey Keating  <geoffk@apple.com>
833         * Make-lang.in (cc1obj-dummy): New.
834         (cc1obj-checksum.c): New.
835         (cc1obj-checksum.o): New.
836         (cc1obj): Add cc1obj-checksum.o.
838 2005-05-18  Mike Stump  <mrs@apple.com>
840         PR objc/21641
841         * objc-act.c (struct interface_tuple): Mark it up for GC.
842         (interface_htab): It is really a struct interface_tuple.
844 2005-05-17  Ziemowit Laski  <zlaski@apple.com>
845             Mike Stump  <mrs@apple.com>
847         Yet more Objective-C++...
849         * objc-act.c (objc_finish_try_stmt): Add return value.
850         (objc_build_synchronized): Likewise.
852         * objc-act.c (objc_is_gcable_type): Add.
853         (objc_substitute_decl): Add.
854         (objc_build_ivar_assignment): Add.
855         (objc_build_global_assignment): Add.
856         (objc_build_strong_cast_assignment): Add.
857         (objc_is_ivar_reference_p): Add.
858         (objc_is_global_reference_p): Add.
859         (objc_generate_write_barrier): Add.
860         (objc_rewrite_function_call): Add.
861         (objc_gimplify_expr): Add Objective-C++ support.
862         * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
863         (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Add.
864         (INIT_TYPE_OBJC_INFO): Add Objective-C++ support.
865         (DUP_TYPE_OBJC_INFO): Likewise.
866         (struct imp_entry): Add field has_cxx_cdtors.
867         (struct imp_entry *imp_list): Add OCTI_UMSG_FAST_DECL,
868         OCTI_METH_LIST_TEMPL, OCTI_METH_PROTO_LIST_TEMPL,
869         OCTI_IVAR_LIST_TEMPL, OCTI_ASSIGN_IVAR_DECL,
870         OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
871         OCTI_ASSIGN_STRONGCAST_DECL.
872         (umsg_fast_decl): Add.
873         (objc_assign_ivar_decl): Add.
874         (objc_assign_ivar_fast_decl): Add.
875         (objc_assign_global_decl): Add.
876         (objc_assign_strong_cast_decl): Add.
877         (objc_method_list_ptr): Add.
878         (objc_method_proto_list_ptr): Add.
879         (objc_ivar_list_ptr): Add.
881         * objc-act.c (should_call_super_dealloc): Add.
882         (OBJC_VERSION): Bump to 6.
883         (objc_is_gcable_type): Add.
884         (objc_substitute_decl): Add.
885         (objc_build_ivar_assignment): Add.
886         (objc_build_global_assignment): Add.
887         (objc_build_strong_cast_assignment): Add.
888         (objc_is_gcable_p): Add.
889         (objc_is_ivar_reference_p): Add.
890         (objc_is_global_reference_p): Add.
891         (generate_shared_structures): Add flags parameter.
892         (objc_generate_cxx_ctor_or_dtor): Add.
893         (objc_generate_cxx_cdtors): Add.
894         (add_class): Add name parameter.
895         (objc_types_share_size_and_alignment): Add.
896         (comp_proto_with_proto): Add strict parameter.
897         (CLS_HAS_CXX_STRUCTORS): Add.
898         (TAG_ASSIGNIVAR): Add.
899         (TAG_ASSIGNGLOBAL): Add.
900         (TAG_ASSIGNSTRONGCAST): Add.
901         (TAG_MSGSEND_FAST): Add.
902         (TAG_ASSIGNIVAR_FAST): Add.
903         (TAG_CXX_CONSTRUCT): Add.
904         (TAG_CXX_DESTRUCT): Add.
905         (OBJC_LOOKUP_CLASS): Add.
906         (OBJC_LOOKUP_NO_SUPER): Add.
907         (objc_finish_file): Add pch support.
908         (objc_finish_implementation): Add Objective-C++ support.
909         (synth_module_prologue): Likewise.
910         (synth_module_prologue): Add fast dispatching.
911         (objc_get_class_reference): Add Objective-C++ support.
912         (objc_generate_write_barrier): Likewise.
913         (next_sjlj_build_enter_and_setjmp): Likewise.
914         (objc_begin_try_stmt): Likewise.
915         (build_next_objc_exception_stuff): Add fast ivar support.
916         (build_private_template): Mark the record as used so debug
917         information is generated.
918         (build_protocol_template): Add Objective-C++ support.
919         (objc_method_parm_type) Likewise.
920         (objc_generate_cxx_ctor_or_dtor): Likewise.
921         (objc_generate_cxx_cdtors): Likewise.
922         (build_protocol_initializer): Likewise.
923         (build_category_template): Likewise.
924         (build_class_template): Likewise.
925         (build_method_list_template): Likewise.
926         (build_category_initializer): Likewise.
927         (build_shared_structure_initializer): Likewise.
928         (objc_finish_message_expr): Likewise.
929         (build_objc_method_call): Add fast dispatch support.
930         (lookup_method_static): Add support to end search at superclasses.
931         (add_method_to_hash_list): Add strict parameter to
932         comp_proto_with_proto.
933         (objc_add_method): Likewise.
934         (objc_add_method): Also set the interface_value.
935         (add_instance_variable): Add Objective-C++ support.
936         (objc_is_public): Likewise.
937         (start_class): Likewise.
938         (continue_class): Likewise.
939         (encode_aggregate_within): Likewise.
940         (start_method_def): Likewise.
941         (objc_start_function): Clear current_function_returns_value
942         and current_function_returns_null.
943         (really_start_method): Add Objective-C++ support.
944         (objc_finish_method_definition): Add warning for missing
945         [super dealloc].
946         (finish_objc): Add Objective-C++ support.
947         (generate_objc_image_info): Likewise.
948         (objc_lookup_ivar): Likewise.
949         * objc-act.h (TYPE_HAS_OBJC_INFO): Likewise.
950         (INIT_TYPE_OBJC_INFO): Likewise.
951         (DUP_TYPE_OBJC_INFO): Likewise.
953 2005-04-23  DJ Delorie  <dj@redhat.com>
955         * objc-act.c: Adjust warning() callers.
957 2005-04-21  Roger Sayle  <roger@eyesopen.com>
959         * objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
960         this field of an objc method decl.
961         * objc-act.c (build_method_decl): Take an additional "ellipsis"
962         argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
963         (objc_build_method_signature): Accept additional "ellipsis"
964         argument and pass it to build_method_decl.
965         (get_arg_type_list, start_method_def, gen_method_decl): Use
966         the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
967         TREE_OVERFLOW field of a TREE_LIST node.
969 2005-04-20  Joseph S. Myers  <joseph@codesourcery.com>
971         PR c/12913
972         * objc-act.c (objc_start_function): Create stack level for context
973         of identifiers with variably modified type.
975 2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
977         PR c/772
978         PR c/17913
979         * objc-act.c (objc_start_function): Push context on
980         label_context_stack.
982 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
984         * objc-act.c (next_sjlj_build_enter_and_setjmp,
985         next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally):
986         Call c_common_truthvalue_conversion.
988 2005-02-25  Joseph S. Myers  <joseph@codesourcery.com>
990         * Make-lang.in (objc/objc-parse.o-warn, objc/objc-parse.o,
991         objc/objc-parse.c, objc/objc-parse.y): Remove
992         (OBJC_OBJS, objc.srcextra, objc.tags, objc.mostlyclean,
993         objc.distclean, objc.maintainer-clean): Update for new parser.
994         * config-lang.in (gtfiles): Update for new parser.
996 2005-01-29  Kazu Hirata  <kazu@cs.umass.edu>
998         * lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update
999         copyright.
1001 2005-01-27  Matt Austern  <austern@apple.com>
1003         * objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before
1004         calling instantiate_pending_templates.
1006 2005-01-26  Alexander Malmberg  <alexander@malmberg.org>
1008         PR objc/18862
1009         * objc-act.c (build_selector_translation_table): Use
1010         input_location in the diagnostic for the GNU runtime or if
1011         TREE_PURPOSE (chain) is NULL.
1013 2005-01-25  Alexander Malmberg  <alexander@malmberg.org>
1015         PR objc/18408
1016         * objc-act.c (objc_types_compatible_p): New function.
1017         * objc-act.h (objc_types_compatible_p): Declare.
1018         * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
1020 2005-01-16  Ziemowit Laski  <zlaski@apple.com>
1022         * objc-act.c (objc_push_parm): Call c_type_promotes_to()
1023         via a lang-hook.
1025 2005-01-15  Ziemowit Laski  <zlaski@apple.com>
1027         PR objc/19321
1028         * objc-act.c (get_arg_type_list): Decay function arguments into
1029         pointers.
1030         (objc_push_parm): Likewise; bring PARM_DECL construction closer
1031         in line with what the C front-end does.
1032         (objc_get_parm_info): Call pushdecl() and finish_decl() on
1033         each PARM_DECL, like the C front-end does.
1034         (start_method_def): Remove redundant ARRAY_TYPE decay.
1035         (objc_start_function): Bring closer in line with what the
1036         C front-end does for functions.
1038 2005-01-14  Mike Stump  <mrs@apple.com>
1040         * lang-specs.h ("@objective-c"): Use cc1obj when -E is used so
1041         that -fobjc-exceptions is accepted.
1043 2004-12-30  Ziemowit Laski  <zlaski@apple.com>
1045         PR objc/18971
1046         * objc-act.c (get_arg_type_list, start_method_def): Decay
1047         array arguments into pointers.
1048         (gen_type_name_0): Learn to pretty-print array types.
1050 2004-12-15  Ziemowit Laski  <zlaski@apple.com>
1052         * objc-act.c (build_private_template): Change to return 'void'; do
1053         not set ivar_context, uprivate_record or objc_instance_type.
1054         (objc_comptypes, gen_type_name_0): For types 'id' and 'Class',
1055         retrieve protocol list from the pointee rather than the pointer itself;
1056         check TYPE_HAS_OBJC_INFO(...) precondition before accessing
1057         TYPE_OBJC_PROTOCOL_LIST.
1058         (objc_get_protocol_qualified_type): For types 'id' and 'Class',
1059         construct a variant of the pointee as well as the pointer, and
1060         store protocol information in the former.  When creating variants
1061         of RECORD_TYPEs, clone their TYPE_LANG_SPECIFIC fields and propagate
1062         TYPE_OBJC_INTERFACE information.
1063         (objc_declare_class): If a TYPE_DECL is looked up, retrieve the
1064         underlying RECORD_TYPE to check for presence of TYPE_OBJC_INTERFACE;
1065         for newly-created RECORD_TYPEs, create a tentative TYPE_OBJC_INTERFACE
1066         holding an IDENTIFIER_NODE.
1067         (objc_finish_message_expr): Check TYPE_HAS_OBJC_INFO(...) before
1068         accessing TYPE_OBJC_PROTOCOL_LIST; Use TYPE_OBJC_INTERFACE instead
1069         of calling lookup_interface(); allow for TYPE_OBJC_INTERFACE holding
1070         an IDENTIFIER_NODE (meaning a @class forward-declaration only).
1071         (objc_is_public): Check TYPE_OBJC_INTERFACE instead of calling
1072         lookup_interface().
1073         (continue_class): For @implementations, set ivar_context,
1074         uprivate_record and objc_instance_type, for @interfaces, call
1075         build_private_template().
1076         (encode_pointer): Check TYPE_HAS_OBJC_INFO(...) before accessing
1077         TYPE_OBJC_INTERFACE.
1078         (objc_types_are_equivalent): Check TYPE_HAS_OBJC_INFO(...) before
1079         accessing TYPE_OBJC_PROTOCOL_LIST.
1080         * objc-act.h (OBJC_INFO_SLOT_ELTS, TYPE_OBJC_INFO, INIT_TYPE_OBJC_INFO,
1081         DUP_TYPE_OBJC_INFO, ALLOC_OBJC_TYPE_LANG_SPECIFIC,
1082         SIZEOF_OBJC_TYPE_LANG_SPECIFIC): New macros.
1083         (TYPE_OBJC_INTERFACE): Replaces TREE_STATIC_INSTANCE and now points
1084         to an actual @interface; stored in TYPE_LANG_SPECIFIC(...).
1085         (TYPE_OBJC_PROTOCOL_LIST): Replaces TYPE_PROTOCOL_LIST; stored in
1086         TYPE_LANG_SPECIFIC(...).
1087         (TREE_STATIC_INSTANCE, TYPE_PROTOCOL_LIST): Delete.
1088         (IS_ID, IS_CLASS, IS_PROTOCOL_QUALIFIED_UNTYPED, IS_SUPER,
1089         TYPED_OBJECT): Check for POINTER_TYPE rather than POINTER_TYPE_P;
1090         adjust for use of TYPE_OBJC_INTERFACE and TYPE_OBJC_PROTOCOL_LIST
1091         instead of TREE_STATIC_INSTANCE and TYPE_PROTOCOL_LIST.
1093 2004-11-29  Joseph Myers  <joseph@codesourcery.com>
1095         PR c/7544
1096         * Make-lang.in (objc/objc-act.o): Update dependencies.
1097         * objc-act.c (objc_finish_file): Call
1098         maybe_apply_pending_pragma_weaks if not OBJCPLUS.
1100 2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
1102         PR objc/18406
1103         * obj-act.c (encode_type): 96bits doubles are encoded the
1104         same way as 64bit and 128bit doubles are.
1106 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
1108         * objc-act.c: Use %q, %< and %> for quoting in diagnostics.
1110 2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
1112         PR objc/16546
1113         * objc-act.c (generate_method_descriptors): Remove setting
1114         the new decls' type to variable_length_type.
1115         (generate_ivar_lists): Likewise.
1116         (generate_dispatch_tables): Likewise.
1118 2004-10-30  Ziemowit Laski  <zlaski@apple.com>
1120         * objc-act.c (objc_lookup_ivar): The new OTHER parameter
1121         contains the result of the ID lookup by the C or C++
1122         front-end; in class methods, use OTHER if it exists;
1123         in instance methods, use OTHER only if it is locally
1124         declared.
1126 2004-10-26  Ziemowit Laski  <zlaski@apple.com>
1128         * objc-act.c (finish_class): Do not synthesize bogus
1129         'extern objc_object *_Foo;' declarations for @interface Foo.
1131 2004-10-25  Ziemowit Laski  <zlaski@apple.com>
1132             David Ayers  <d.ayers@inode.at>
1134         * objc-act.c (objc_comptypes): Use IS_PROTOCOL_QUALIFIED_UNTYPED
1135         instead of IS_PROTOCOL_QUALIFIED_ID; add comparisons for:
1136         'Class <Protocol> != id <Protocol>'; 'Class <Protocol> != <class> *';
1137         'Class <Protocol> == id' and 'Class <Protocol> == Class'.
1138         (objc_is_id): Add test for 'super'.
1139         (objc_finish_message_expr): Allow for messaging of 'Class <Proto>'
1140         receivers; if class methods are not found in protocol lists, search
1141         for instance methods therein and warn if one is found.  Look in
1142         global hash tables for suitable method as a last resort when messaging
1143         'id <Proto>', 'Class <Proto>' and invalid receiver types.
1144         (objc_add_method): Insert instance methods listed in protocols into
1145         the global class method hash table.
1146         * objc-act.h (IS_PROTOCOL_QUALIFIED_ID): Rename to
1147         IS_PROTOCOL_QUALIFIED_UNTYPED and allow for 'Class <Proto>' in
1148         addition to 'id <Proto>'.
1150 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
1152         PR objc/17923
1153         * objc-act.c (objc_build_string_object): Create a CONST_DECL
1154         for the NeXT runtime case.
1156 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
1158         * objc-act.c: Fix comment typos.
1160 2004-09-24  Ziemowit Laski  <zlaski@apple.com>
1162         * objc-act.c (init_objc_symtab, init_module_descriptor,
1163         build_shared_structure_initializer): When initializing 'long'
1164         fields, ensure that the initializer value is also 'long'.
1166 2004-09-24  Zack Weinberg  <zack@codesourcery.com>
1168         * objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION
1169         throughout.
1170         (objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION.
1171         (build_selector_translation_table): Use %J in diagnostic
1172         instead of diddling input_line.  Fix spelling.
1174 2004-09-21  Ziemowit Laski  <zlaski@apple.com>
1176         * objc-act.c (objc_fold_objc_type_ref): New function.
1177         * objc-act.h (objc_fold_objc_type_ref): New prototype.
1179 2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
1181         * objc-act.c (objc_start_function, really_start_method,
1182         objc_get_parm_info, start_method_def): Update to new arg_info
1183         structures.
1185 2004-09-07  Ziemowit Laski  <zlaski@apple.com>
1187         * Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of
1188         objc/objc-act.h.
1189         (objc/objc-act.o): Depend on $(HASHTAB_H).
1190         * objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and
1191         objcp-decl.h instead of c-tree.h.
1192         (build_module_descriptor, get_class_ivars, synth_id_with_class_suffix,
1193         error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl,
1194         build_protocol_template): Adjust prototypes.
1195         (build_module_initializer_routine, start_class, continue_class,
1196         finish_class, start_method_def, objc_start_function, start_protocol,
1197         build_method_decl, objc_add_method, add_instance_variable,
1198         build_ivar_reference, is_ivar, is_private, get_super_receiver,
1199         build_selector_table_decl, objc_push_parm, objc_get_parm_info,
1200         gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl,
1201         create_field_decl): New prototypes.
1202         (objc_expand_function_end, comp_method_with_proto, objc_expr_last,
1203         gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl,
1204         define_decl, create_builtin_decl, gen_declspecs): Remove prototypes.
1205         (TYPE_ID): Rename to OBJECT_TYPEDEF_NAME.
1206         (CLASS_TYPEDEF_NAME): New.
1207         (TAG_EXECCLASS): Change from a global variable to a #define.
1208         (TAG_RETURN_STRUCT): Delete.
1209         (TAG_GNUINIT): New, holds '__objc_gnu_init' name.
1210         (objc_inherit_code, objc_public_flag): New, moved from c-parse.in.
1211         (string_descriptor): New struct.
1212         (string_htab): New hash table.
1213         (string_hash, string_eq): New prototypes.
1214         (generate_struct_by_value_array): Call create_field_decl() instead of
1215         create_builtin_decl().
1216         (objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS;
1217         In ObjC++ mode, call cxx_init() instead of c_objc_common_init().
1218         (objc_finish_file): In ObjC++, call instantiate_pending_templates()
1219         and cp_finish_file().
1220         (define_decl, get_static_reference, get_protocol_reference,
1221         create_builtin_decl): Remove functions.
1222         (objc_start_class_interface, objc_start_category_interface,
1223         objc_start_protocol, objc_continue_interface, objc_finish_interface,
1224         objc_start_class_implementation, objc_start_category_implementation,
1225         objc_continue_implementation, objc_finish_implementation,
1226         objc_set_visibility, objc_set_method_type,
1227         objc_build_method_signature, objc_add_method_declaration,
1228         objc_start_method_definition, objc_add_instance_variable,
1229         objc_get_protocol_qualified_type, create_field_decl,
1230         start_var_decl, finish_var_decl): New functions.
1231         (setup_string_decl): Simplify since it is only called once.
1232         (synth_module_prologue): Call build_class_template(); predefine 'id'
1233         and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug
1234         hooks for duration of function; fix GNU runtime messenger signatures
1235         to correspond to reality; forward-declare '__objc_exec_class' for the
1236         GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate
1237         'extern "C" { ... }' wrappers around synthesized declarations; call
1238         build_protocol_template() and build_category_template().
1239         (string_hash, string_eq): New functions.
1240         (objc_build_string_object): Check metaclass correctness only once;
1241         store string literals in hash table.
1242         (objc_build_constructor): Do not convert initializer elements;
1243         adjust for ObjC++ impedance mismatch.
1244         (build_objc_symtab_template): Call create_field_decl() instead of
1245         create_builtin_decl().
1246         (init_objc_symtab): Add missing conversion to initializer element.
1247         (build_metadata_decl): Call start_var_decl() instead of define_decl().
1248         (generate_objc_symtab_decl): Do not call build_category_template();
1249         call start_var_decl() and finish_var_decl() instead of start_decl()
1250         and finish_decl().
1251         (build_module_descriptor): Call create_field_decl() instead of
1252         grokfield(); call start_var_decl() and finish_var_decl() instead of
1253         start_decl() and finish_decl(); always mark module descriptor as
1254         used; move GNU runtime-specific functionality to
1255         build_module_initializer_routine().
1256         (build_module_initializer_routine): New function, broken off of
1257         build_module_descriptor().
1258         (objc_static_init_needed_p, objc_generate_static_init_call): New
1259         functions.
1260         (generate_static_references, generate_strings,
1261         build_selector_translation_table, generate_descriptor_table,
1262         generate_ivars_list, generate_dispatch_table, generate_category): Call
1263         start_var_decl() and finish_var_decl() instead of start_decl() and
1264         finish_decl(); build a type directly instead of via groktypename().
1265         (build_selector_reference_decl, build_selector_table_decl,
1266         build_class_reference_decl, build_protocol_reference,
1267         generate_objc_image_info): Call start_var_decl() instead of
1268         build_decl().
1269         (build_selector_reference): For GNU runtime, do not call
1270         build_selector_reference_decl().
1271         (build_selector, build_typed_selector_reference): Always convert
1272         result to the selector type.
1273         (add_objc_string): Cast return value to 'char *'.
1274         (build_method_prototype_template, build_selector_template,
1275         build_method_template): Use actual selector type for fields
1276         pointing to selectors.
1277         (finish_objc): For GNU runtime, call
1278         build_module_initializer_routine() after build_module_descriptor().
1279         (generate_protocol_list, generate_shared_structures): Call
1280         start_var_decl() and finish_var_decl() instead of start_decl() and
1281         finish_decl(); build a type directly instead of via
1282         groktypename().
1283         (synth_id_with_class_suffix): Return a string.
1284         (get_arg_type_list): For instance methods, use the instance type for
1285         'self'; do not call groktypename_in_parm_context().
1286         (build_objc_string_decl): Squash redeclaration errors in ObjC++.
1287         (objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME;
1288         handle RECORD_TYPEs in ObjC as well as ObjC++.
1289         (objc_is_id): New function.
1290         (objc_is_object_ptr): Return the canonical type node.
1291         (objc_get_class_ivars): Simplify using get_class_ivars().
1292         (get_class_ivars): Remove second parameter; create a fresh copy
1293         of the ivar list for each call; do not check for existence of
1294         super class.
1295         (objc_eh_runtime_type): Mark #ifndef OBJCPLUS.
1296         (objc_init_exceptions): When using SJLJ-style exceptions, require
1297         the use of '-fobjc-exceptions' flag; do not require it for DWARF-style
1298         exceptions.
1299         (objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use
1300         objc_object_type instead of objc_id_type.
1301         (objc_begin_catch_clause): Convert the incoming PARM_DECL into
1302         a VAR_DECL before placing it in the appropriate scope; do not
1303         call define_decl(); adjust call to c_begin_compound_stmt();
1304         use objc_object_type instead of objc_id_type.
1305         (build_next_objc_exception_stuff): Call create_field_decl() instead
1306         of create_builtin_decl(); construct type directly instead of calling
1307         groktypename(); use OBJC_VOID_AT_END to mark end of function parameters.
1308         (build_private_template): Adjust call to get_class_ivars(); build
1309         a type directly instead of via groktypename().
1310         (build_protocol_template, build_method_prototype_list_template,
1311         build_method_prototype_template, build_category_template,
1312         build_selector_template, build_class_template, build_super_template,
1313         build_ivar_template, build_ivar_list_template,
1314         build_method_list_template, build_method_template):
1315         Call create_field_decl() instead of grokfield().
1316         (objc_method_parm_type): Do not call groktypename().
1317         (generate_descriptor_table): Call start_var_decl() and
1318         finish_var_decl() instead of start_decl() and finish_decl().
1319         (generate_method_descriptors, build_protocol_initializer,
1320         generate_dispatch_tables, build_category_initializer,
1321         build_shared_structure_initializer): Do not call groktypename().
1322         (generate_protocols): Call start_var_decl() and finish_var_decl()
1323         instead of start_decl() and finish_decl(); do not call groktypename().
1324         (error_with_ivar): Remove last parameter.
1325         (check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition
1326         to CLASS_IVARS lists; adjust calls to error_with_ivar().
1327         (generate_ivar_lists): Convert one of the initializer elements; do
1328         not call groktypename().
1329         (get_arg_type_list, start_method_def, gen_method_def): Account for
1330         new representation of variable arguments and '...' in Objective-C
1331         methods; add Objective-C++ impedance matching code.
1332         (is_objc_type_qualifier): Remove function.
1333         (adjust_type_for_id_default): Simplify; there is no longer a need to
1334         wade through declspecs.
1335         (lookup_interface, start_class, continue_class,
1336         finish_class, start_method_def, start_protocol, build_method_decl,
1337         objc_add_method, add_instance_variable, build_ivar_reference,
1338         is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue):
1339         Make into static functions.
1340         (receiver_is_class_object): Use new IS_CLASS() macro.
1341         (objc_build_message_expr): Tweak ObjC++ message argument handling;
1342         call objc_finish_message_expr() instead of finish_message_expr().
1343         (finish_message_expr): Rename to objc_finish_message_expr(); use
1344         OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME.
1345         call gen_type_name() instead of gen_declaration(); call objc_is_id()
1346         instead of using IS_ID and IS_CLASS; Use objc_class_name instead of
1347         calling get_identifier("Class"); handle CONVERT_EXPRs in receiver.
1348         (build_objc_method_call, warn_with_method): Do not call groktypename().
1349         (build_ivar_reference): Call convert() instead of clobbering in a
1350         type.
1351         (hash_init): Initialize string_htab hash table.
1352         (add_instance_variable): Simplify parameter list; do not call grokfield();
1353         do not populate CLASS_IVARS list.
1354         (start_class): Check for the existence of super class, if one was specified.
1355         (continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not
1356         call build_class_template(); adjust call to get_class_ivars(); call
1357         build_decl(), pushdecl() and finish_decl() instead of define_decl().
1358         (finish_class): Call build_decl(), pushdecl() and finish_decl() instead
1359         of define_decl().
1360         (add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size.
1361         (start_protocol): Do not call build_protocol_template(); use
1362         PROTOCOL_BINFO_ELTS for the tree vector size.
1363         (encode_type_qualifiers): Do not handle the 'const' qualifier here.
1364         (encode_pointer): Encode 'const char *' as 'r*', for backwards
1365         compatibility.
1366         (encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld".
1367         (encode_type): Handle the 'const' qualifier here.
1368         (objc_parmlist): New global variable, sued by objc_push_parm and
1369         objc_get_parm_info().
1370         (objc_push_parm, objc_get_parm_info): New functions.
1371         (objc_expr_last): Remove function.
1372         (synth_self_and_ucmd_args): For instance methods, use the instance
1373         type for 'self'; call objc_push_parm() instead of push_parm_decl().
1374         (start_method_def): Do not call push_scope(), declare_parm_level(),
1375         pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last();
1376         just use objc_push_parm() and objc_get_parm_info().
1377         (comp_method_with_proto): Remove function.
1378         (objc_types_are_equivalent): Strip away indirections before comparing
1379         underlying types.
1380         (comp_proto_with_proto): Do not call groktypename(); types are no
1381         longer in raw declspec format.
1382         (objc_start_function): New function.
1383         (really_start_method): Call comp_proto_with_proto() instead of
1384         comp_method_with_proto(); call objc_start_function() instead of
1385         hand-crafting a function declarator.
1386         (continue_method_def, objc_expand_function_end): Remove functions.
1387         (get_super_receiver): Call objc_get_current_scope() instead of
1388         get_current_scope(); reference 'super_class' field (instead of
1389         'class').
1390         (finish_method_def): Rename to objc_finish_method_definition() and
1391         add a function decl parameter; move method encoding call from
1392         objc_expand_function_end().
1393         (is_complex_decl, adorn_decl, gen_declarator, gen_declspecs,
1394         gen_declaration_1): Remove functions.
1395         (tmpbuf, RAW_DECLSPEC): Remove.
1396         (gen_declaration): Remove second parameter; simplify to deal
1397         with TYPE_P nodes instead of raw declspecs.
1398         (gen_type_name, gen_type_name_0): New functions.
1399         (gen_method_decl): Remove second parameter; call gen_type_name()
1400         instead of gen_declaration_1().
1401         (dump_interface): Adjust calls to gen_declaration() and
1402         gen_method_decl(); do not allocate a separate string buffer.
1403         (init_objc): Allocate a larger string buffer to accommodate
1404         dump_interface(); adjust call to build_module_descriptor();
1405         add call to build_module_initializer_routine() for the GNU
1406         runtime.
1407         (generate_classref_translation_entry): Do not call start_decl(); call
1408         finish_var_decl() instead of finish_decl(); call convert() instead of
1409         build_c_cast().
1410         * objc-act.h (CLASS_OWN_IVARS): Remove accessor.
1411         (CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is
1412         gone.
1413         (OCTI_GNU_INIT_DECL, GNU_INIT_decl): New.
1414         (OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove.
1415         (OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME,
1416         objc_object_type and objc_object_name, respectively.
1417         (OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference,
1418         objc_class_name): New.
1419         (IS_CLASS): New macro.
1420         (IS_ID, IS_SUPER): Robustify.
1421         (OCTI_EXECCLASS_DECL, execclass_decl): New.
1422         (finish_file, start_class, continue_class, finish_class,
1423         start_method_def, continue_method_def, finish_method_def,
1424         start_protocol, finish_protocol, objc_build_throw_stmt,
1425         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
1426         objc_build_synchronized_epilogue, objc_build_try_prologue,
1427         objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue,
1428         objc_build_finally_prologue, objc_build_finally_epilogue,
1429         is_ivar, is_private, is_public, add_instance_variable, objc_add_method,
1430         get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name,
1431         get_class_reference, get_static_reference, get_object_reference,
1432         build_message_expr, finish_message_expr, build_selector_expr,
1433         build_ivar_reference, build_keyword_decl, build_method_decl,
1434         build_protocol_expr, build_objc_string_object, objc_declare_alias,
1435         objc_declare_class, objc_declare_protocols, objc_comptypes,
1436         objc_check_decl, build_encode_expr): Remove prototypes.
1437         (imp_count, cat_count): Make GGC-aware.
1438         (OBJC_SET_TYPE_NAME): New macro.
1440 2004-09-03  Ziemowit Laski  <zlaski@apple.com>
1442         * config-lang.in: Update copyright notice.
1443         (lang_requires): Indicate that ObjC requires C to be built first.
1445 2004-09-01  Ziemowit Laski  <zlaski@apple.com>
1447         * objc-act.c (objc_check_decl): Use OBJC_TYPE_NAME macro instead of
1448         TYPE_NAME.
1449         (build_objc_string_object): Rename to objc_build_string_object().
1450         (get_class_reference): Rename to objc_get_class_reference().
1451         (get_class_ivars_from_name): Rename to objc_get_class_ivars().
1452         (next_sjlj_build_catch_list, get_super_receiver): Call
1453         objc_get_class_reference() instead of get_class_reference().
1454         (build_keyword_decl): Rename to objc_build_keyword_decl().
1455         (build_message_expr): Rename to objc_build_message_expr().
1456         (build_protocol_expr): Rename to objc_build_protocol_expr().
1457         (build_selector_expr): Rename to objc_build_selector_expr().
1458         (build_encode_expr): Rename to objc_build_encode_expr().
1459         * objc-act.h (get_class_ivars_from_name): Rename prototype to
1460         objc_get_class_ivars().
1461         (get_class_reference): Rename prototype to objc_get_class_reference().
1462         (build_message_expr): Rename prototype to objc_build_message_expr().
1463         (build_selector_expr): Rename prototype to objc_build_selector_expr().
1464         (build_keyword_decl): Rename prototype to objc_build_keyword_decl().
1465         (build_protocol_expr): Rename prototype to objc_build_prototype_expr().
1466         (build_objc_string_object): Rename prototype to
1467         objc_build_string_object().
1469 2004-09-01  Ziemowit Laski  <zlaski@apple.com>
1471         * objc-act.c (lookup_interface): Make function 'static' and add a
1472         local prototype.
1473         (objc_check_decl, get_class_reference, objc_declare_alias,
1474         objc_declare_class, objc_is_object_ptr): Call objc_is_class_name()
1475         instead of is_class_name().
1476         (get_super_receiver, objc_clear_super_receiver): Call
1477         objc_get_current_scope() instead of get_current_scope().
1478         (is_class_name): Rename to objc_is_class_name.
1479         (lookup_objc_ivar): Rename to objc_lookup_ivar.
1481 2004-08-28  Ziemowit Laski  <zlaski@apple.com>
1483         * objc-act.c (objc_is_reserved_word): New function.
1485 2004-08-15  Ziemowit Laski  <zlaski@apple.com>
1487         * Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H),
1488         $(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h.
1489         (objc/objc-parse.o): Do not depend on gtype-objc.h.
1490         * objc-act.c: Do not include gtype-objc.h.
1491         (finish_file): Rename to objc_finish_file().
1492         * objc-act.h (finish_file): Update copyright notice; remove prototype.
1493         * objc-lang.c: Update copyright notice; include diagnostic.h,
1494         c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include
1495         toplev.h.
1496         (finish_file): New hook routine.
1497         (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
1498         LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
1499         LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
1500         LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
1501         LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
1502         LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
1503         LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
1504         LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
1505         LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
1506         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
1507         LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
1508         LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
1509         LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
1510         LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
1511         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
1512         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
1513         LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
1514         LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
1515         LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
1516         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
1517         LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
1518         LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
1519         LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
1520         LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
1521         Move to c-objc-common.h.
1524 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
1526 Copying and distribution of this file, with or without modification,
1527 are permitted in any medium without royalty provided the copyright
1528 notice and this notice are preserved.