]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/objc/ChangeLog
PR tree-optimization/45919
[thirdparty/gcc.git] / gcc / objc / ChangeLog
CommitLineData
e9e7c336 12010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
2
3 Merge from 'apple/trunk' branch on FSF servers. Obvious updates
4 to gcc_alloc_xxx calls in hash_init and hash_class_name_enter to
5 get it to compile in the current trunk.
6
7 2006-01-27 Fariborz Jahanian <fjahanian@apple.com>
8
9 Radar 4345837
10 * objc/objc-act.c (hash_class_name_enter): New.
11 (hash_class_name_lookup): New.
12 (objc_declare_alias): Enter alias name into hash table.
13 (objc_declare_class): Enter class name into hash table.
14 (objc_is_class_name): Do a hash look up of class name.
15 (hash_init): Initialize the two new hash tables.
16 * objc-act.h: Added cls_name_hash_list and als_name_hash_list
17 declarations, removed class_chain and alias_chain.
18
64cd9619 192010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
20
21 * objc-lang.c (finish_file): Removed.
22 * objc-act.c (objc_finish_file): Renamed to
23 objc_write_global_declarations. Do not try to instantiate C++
24 templates when compiling Objective-C++ as this is now
25 automatically done before this function is called. Do not check
26 for syntax-only run or PCH generation as this is done by the
27 callers.
28 * objc-act.h (objc_finish_file): Removed.
29
e1f293c0 302010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
31
32 Implemented parsing @synthesize and @dynamic for
33 Objective-C/Objective-C++.
34 * objc-act.c (objc_add_synthesize_declaration): New.
35 (objc_add_dynamic_declaration): New.
36
372010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
38
39 * objc-act.c (lookup_and_install_protocols): Return NULL if passed
40 error_mark_node.
41
69b07042 422010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
43
44 Merge from 'apple/trunk' branch on FSF servers.
a1176db9 45
46 2006-03-10 Fariborz Jahanian <fjahanian@apple.com>
47
48 Radar 4407151
49 * objc/objc-act.c (objc_is_class_name): template parameter is not
50 an objective class name.
51 (objc_generate_cxx_cdtors): Check for the null
52 objc_implementation_context.
53
542010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
55
56 Merge from 'apple/trunk' branch on FSF servers.
69b07042 57
58 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
59
60 Radar 4330422
61 * objc/objc-act.c (objc_non_volatilized_type): New
62
63 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
64
65 Radar 4204796
66 * objc-act.c (objc_build_volatilized_type): Build 'volatilzed'
67 types with proper attribute set and correctly.
68 (objc_volatilize_decl): Remove unneeded code.
69 (objc_type_quals_match): Use the new attribute to check on
70 'volatilzed' type.
71 (hash_init): removed unneeded code.
72
f15f2e56 732010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
74
75 Merge from 'apple/trunk' branch on FSF servers.
76
77 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
78
79 Radar 4133425
80 * objc-act.c (objc_diagnose_private_ivar): New.
81
4a8875ed 822010-10-17 Iain Sandoe <iains@gcc.gnu.org>
83
84 * objc-act.c: Rename 'objc_public_flag' to objc_ivar_visibility and
85 make its type 'objc_ivar_visibility_kind'.
86 (objc_start_class_interface): Update to use visibility enum.
87 (objc_start_class_implementation): Likewise.
88 (objc_set_visibility): Update to use visibility enum, warn that
89 @package is handle as per @public.
90 (add_instance_variable): Handle OBJC_IVAR_VIS_PACKAGE.
91 * objc-act.h: Rename 'objc_public_flag' to objc_ivar_visibility and
92 make its type 'objc_ivar_visibility_kind'.
93
86c110ac 942010-10-14 Iain Sandoe <iains@gcc.gnu.org>
95
96 merge from FSF apple 'trunk' branch.
97 2006 Fariborz Jahanian <fjahanian@apple.com>
98
99 Radars 4436866, 4505126, 4506903, 4517826
100 * objc-act.c (CALL_EXPR_OBJC_PROPERTY_GETTER): New.
101 property_readonly, property_getter, property_setter, property_ivar,
102 property_copies, in_objc_property_setter_name_context: New vars.
103 (objc_set_property_attr): New.
104 (objc_add_property_variable): New.
105 (lookup_property_in_list): New.
106 (lookup_property): New.
107 (objc_build_getter_call): New.
108 (objc_setter_func_call): New.
109 (get_selector_from_reference): New.
110 (objc_build_setter_call): New.
111 (is_property): New.
112 (build_property_reference): New.
113 (objc_finish_message_expr): Detect readonly property and warn.
114 (objc_build_property_ivar_name): New.
115 (objc_build_property_setter_name): New.
116 (objc_gen_one_property_datum): New.
117 (objc_process_getter_setter): New.
118 (objc_synthesize_getter): New.
119 (objc_synthesize_setter): New.
120 (objc_gen_property_data): New.
121 (finish_class): Generate property data.
122 (comp_proto_with_proto): Separated from ...
123 (match_proto_with_proto): ... New.
124 (objc_lookup_ivar): Handle properties.
125 * objc-tree.def (PROPERTY_DECL): New tree code.
126 * objc-act.h: CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS update size.
127 (METHOD_PROPERTY_CONTEXT): New.
128 (PROPERTY_NAME): New.
129 (PROPERTY_GETTER_NAME): New.
130 (PROPERTY_SETTER_NAME): New.
131 (PROPERTY_IVAR_NAME): New.
132 (PROPERTY_READONLY): New.
133 (PROPERTY_COPIES): New.
134 (TOTAL_CLASS_RAW_IVARS): New.
135 (CLASS_PROPERTY_DECL): New.
136 (IMPL_PROPERTY_DECL): New.
137 * objc-lang.c (objc_init_ts): Update fields for property_decl.
138
382597e4 1392010-10-13 Richard Henderson <rth@redhat.com>
140
141 * objc-act.c (objc_eh_personality): Update call to
142 build_personality_function.
143
40c8d1dd 1442010-10-13 Iain Sandoe <iains@gcc.gnu.org>
145
146 merge from FSF apple 'trunk' branch.
147
148 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
149 Radar 3803157 (method attributes)
150 * objc/objc-act.h (METHOD_TYPE_ATTRIBUTES): New macro.
151 * objc/objc-act.c (objc_decl_method_attributes): New.
152 (objc_add_method_declaration): Process method's attribute.
153 (objc_start_method_definition): Ditto.
154 (build_objc_method_call): Inject method attribute into
155 built function type.
156 (objc_method_decl): New.
157 (objc_warn_deprecated)use): New.
158
18cfeada 1592010-10-07 Andi Kleen <ak@linux.intel.com>
160
161 * Make-lang.in (cc1obj-dummy): Remove.
162 (cc1obj-checksum): Change to run checksum over object files
163 and options only.
164
31a38208 1652010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
166
167 PR objc/45925
168 * objc-act.c (objc_finish_foreach_loop): Convert return value of
169 countByEnumeratingWithState:objects:count: to long unsigned int.
170
b79b475d 1712010-10-07 Iain Sandoe <iains@gcc.gnu.org>
172
40d49b18 173 * objc-act.c (build_objc_method_call): Replace calls to
174 build_function_call () with the VEC equivalent. Construct parameter
175 lists as VECs.
176
1772010-10-07 Iain Sandoe <iains@gcc.gnu.org>
178
179 * objc-act.c (objc_build_message_expr): Call mark_exp_read () to
180 signal that the receiver has been used.
b79b475d 181
e1aa4dab 1822010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
183
184 * README: Obsolete file removed.
185
0a65c3bb 1862010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
187
188 Implemented fast enumeration for Objective-C.
189 * objc-act.c (build_fast_enumeration_state_template): New.
190 (TAG_ENUMERATION_MUTATION): New.
191 (TAG_FAST_ENUMERATION_STATE): New.
192 (synth_module_prologue): Call build_fast_enumeration_state_template() and set up
193 objc_enumeration_mutation_decl.
194 (objc_create_temporary_var): Allow providing a name to temporary
195 variables.
196 (objc_build_exc_ptr): Updated calls to
197 objc_create_temporary_var().
198 (next_sjlj_build_try_catch_finally): Same change.
199 (objc_finish_foreach_loop): New.
200 * objc-act.h: Added OCTI_FAST_ENUM_STATE_TEMP,
201 OCTI_ENUM_MUTATION_DECL, objc_fast_enumeration_state_template,
202 objc_enumeration_mutation_decl.
203
204 Merge from 'apple/trunk' branch on FSF servers.
205
206 2006-04-12 Fariborz Jahanian <fjahanian@apple.com>
207
208 Radar 4507230
209 * objc-act.c (objc_type_valid_for_messaging): New routine to check
210 for valid objc object types.
211 (objc_finish_foreach_loop): Check for invalid objc objects in
212 foreach header.
213
06517bd4 2142010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
215
216 Merge from 'apple/trunk' branch on FSF servers.
217
218 2005-10-17 Fariborz Jahanian <fjahanian@apple.com>
219
220 Radar 4290840
0a65c3bb 221 * objc-act.c (objc_start_method_definition): Check for
222 error_mark_node for the selector name and make a quick exit.
06517bd4 223
70293f47 2242010-10-04 Andi Kleen <ak@linux.intel.com>
225
226 * Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.
227
069761fb 2282010-09-30 Iain Sandoe <iains@gcc.gnu.org>
229
230 merge from FSF 'apple/trunk' branch.
231 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
232
233 Radar 4386773
234 * objc/objc-act.c (objc_set_method_opt): New function.
235 (objc_start_protocol, objc_finish_interface): Reset
236 objc_method_optional_flag flag.
237 (objc_add_method_declaration): Pass on the new
238 flag to objc_add_method.
239 (objc_add_method): Add optional methods to new chain in
240 the protocol class.
241 * objc/objc-act.h (CLASS_OPTIONAL_CLS_METHODS,
242 CLASS_OPTIONAL_NST_METHODS): New macros accessing a protocol
243 class's optional method chains.
244
180bb2c0 2452010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
246
247 Merge from 'apple/trunk' branch on FSF servers.
248
249 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
250
251 Radar 4278236
252 * objc-act.c (objc_declare_class): Pick the right
253 type tree.
254
3511333e 2552010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 256
257 Merge from 'apple/trunk' branch on FSF servers.
258
259 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
260
261 Radar 4281748
262 * objc-act.c (objc_check_global_decl): New
263
b27e241e 2642010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
265
266 * objc-act.c (objc_is_reserved_word): Removed.
267
03fc2271 2682010-09-28 Iain Sandoe <iains@gcc.gnu.org>
269
270 * objc-act.c (objc_add_method_declaration): Handle and ignore
271 attributes.
272 (objc_start_method_definition): Likewise.
273 (objc_generate_cxx_ctor_or_dtor): Pass NULL attributes to ctor/dtor.
274 (objc_build_keyword_decl): Handle and ignore attributes.
275
cc7d6aed 2762010-09-28 Richard Henderson <rth@redhat.com>
277
278 * objc-act.c (objc_eh_personality): Use targetm.except_unwind_info.
279
a336eb4b 2802010-09-28 Iain Sandoe <iains@gcc.gnu.org>
281
282 * objc-act.c (objc_start_class_interface): Handle and ignore attributes.
283 (objc_start_category_interface): Likewise.
284 (objc_start_protocol): Likewise.
285
ea446b0b 2862010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
287
288 Merge from 'apple/trunk' branch on FSF servers.
289
290 2005-08-23 Stuart Hastings <stuart@apple.com>
291 Ziemowit Laski <zlaski@apple.com>
292
293 Radar 4209854
294 * objc-act.c (objc_decay_parm_type): New function.
295 (get_arg_type_list): Decay types for all named arguments.
296 (objc_push_parm): Rebuild the PARM_DECL if its type has
297 been decayed.
298
c4bdb14e 2992010-09-28 Nicola Pero <nicola@nicola.brainstorm.co.uk>
300
301 * objc-act.c (encode_type): Fixed encoding enums with the next
302 runtime.
303
a198e083 3042010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
305
306 Merge from 'apple/trunk' branch on FSF servers.
307
308 2005-07-18 Ziemowit Laski <zlaski@apple.com>
309
310 Radar 4175534
311 * objc-act.c (objc_compare_types): A new silent comparison
312 mode (-4), differing from regular comparison (-3) in that
313 'false' is returned instead of issuing warnings.
314
eb855c7a 3152010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
316
317 * objc-act.c (encode_type): Do not add 'r' with the next runtime.
318 (encode_aggregate_within): Reorganized code to be more readable.
319 (encode_aggregate_fields): Updated second argument to be 'bool'
320 instead of 'int'.
321
f8ee0563 3222010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
323
324 PR objc/45763
325 PR objc/25450
326 PR objc/25464
327 * objc-act.c: Improved comments for encoding functions.
328 (encode_aggregate_within): For the GNU runtime, rewritten some
329 obsfuscated code to clarify the various cases.
330 (encode_aggregate): Function removed.
331 (encode_array): Generate an error if asked to encode an incomplete
332 array as part of generating instance variables. Else, when
333 encoding an incomplete array inside a structure, encode it as an
334 array of zero size.
335 (encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as
336 '^c' instead of '*'.
337 (encode_gnu_bitfield): Encode enumerated types exactly in the same
338 type as integer types instead of using a hardcoded 'i'. If asked
339 to encode a non-integer type as a bitfield, do not abort
340 compilation immediately; instead generate an error, then skip the
341 type.
342 (encode_type): Use a 'switch' instead of a sequence of 'if's.
343 Added a 'default' clause that gets executed if the type can not be
344 matched, and that encodes it as '?' (unknown) and produces a
345 warning. For the GNU runtime, encode enumerated types exactly in
346 the same way as integer types instead of using a hardcoded 'i'.
347 Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'.
348 Encode C++ reference types as pointers. Call encode_vector to
349 encode vectors.
350 (encode_vector): New function.
351
3522010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
353
354 Merge from 'apple/trunk' branch on FSF servers. I modified the
355 changes to be used only when compiling for the NeXT runtime.
356
357 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
358
359 Radar 4301047
360
361 * objc-act.c (encode_type): Remove the hack.
362
363 2005-07-20 Ziemowit Laski <zlaski@apple.com>
364
365 Radar 4136935
366 * objc-act.c (pointee_is_readonly): New function.
367 (encode_pointer, encode_aggregate_within, encode_type):
368 Attempt to emulate GCC 3.3 when generating type encodings.
369
4abfc532 3702010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
371
372 Merge from 'apple/trunk' branch on FSF servers.
373
374 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
375
376 Radar 4229905
377 * objc-act.c (objc_have_common_types): New function.
378
379 2005-06-22 Ziemowit Laski <zlaski@apple.com>
380
381 Radar 4154928
382 * objc-act.c (objc_common_type): New function.
383
059410d7 3842010-09-27 Richard Guenther <rguenther@suse.de>
385
386 * objc-act.c (objc_get_class_reference): Use CP_TYPE_CONTEXT.
387 (objc_is_global_reference_p): Use DECL_FILE_SCOPE_P.
388
5ed38d93 3892010-09-26 Nicola Pero <nicola.pero@meta-innovation.com>
390
391 * objc-act.c: Removed historical, obsolete comment at the top of
392 the file.
393
d4a8fb25 3942010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
395
396 PR objc/23710
397 * objc-act.c (objc_start_method_definition): Do not abort upon a
398 'method definition not in @implementation context' error. Return
399 'false' instead.
400
e93ea189 4012010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
402
403 PR objc/25965
404 * objc-act.c (objc_get_interface_ivars): New function.
405 (objc_collecting_ivars): New variable.
406 (continue_class): Set and reset objc_collecting_ivars for context.
407
b24ba8fa 4082010-09-15 Nicola Pero <nicola.pero@meta-innovation.com>
409
410 Merge from 'apple/trunk' branch on FSF servers.
411
412 2006-03-09 Fariborz Jahanian <fjahanian@apple.com>
413
414 Radar 4457381
415 * objc/objc-act.c (objc_finish_message_expr): Look for message in
416 @class's protocol list.
417
418 2006-02-07 Fariborz Jahanian <fjahanian@apple.com>
419
420 Radar 4219590
421 * objc/objc-act.c (objc_start_method_definition): Initialize
422 break/continue labels.
423
424 2005-08-22 Ziemowit Laski <zlaski@apple.com>
425
426 Radar 4174166
427 * objc-act.c (objc_compare_types): Compare function
428 pointers; indicate success if the right-hand side has
429 a return type that is covariant, and the argument types
430 contravariant, with those of the left side.
431
432 2005-08-22 Ziemowit Laski <zlaski@apple.com>
433
434 Radar 4216500
435 * objc-act.c (objc_get_protocol_qualified_type): When looking
436 at a typedef, retrieve the precise type it describes (rather
437 than merely looking up a class by name).
438
48ca71c2 4392010-09-10 Nicola Pero <nicola.pero@meta-innovation.com>
440
441 * objc/objc-act.c (objc_begin_try_stmt): Generate an error if
442 -fobjc-exceptions was not used. (objc_build_throw_stmt): Same
443 change.
444
1767a056 4452010-07-15 Nathan Froyd <froydnj@codesourcery.com>
446
447 * objc-act.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
448
c4796e8b 4492010-07-10 Iain Sandoe <iains@gcc.gnu.org>
450
451 PR objc/44140
452 * objc-act.c: build_objc_string_decl() remove declaration.
453 (finish_var_decl): Remove forcing of var output and marking
454 as "Used".
455 (init_def_list): Use integer_zero_node.
456 (init_objc_symtab): Use integer_zero_node, make the short
457 integer type specific on relevant nodes.
458 (generate_objc_symtab_decl): Remove call to
459 forward_declare_categories(). Use null_pointer_node where
460 appropriate.
461 (build_module_descriptor): Comment and mark this item as
462 DECL_PRESERVE_P.
463 (generate_static_references): Use gcc_unreachable instead of
464 abort ().
465 (diagnose_missing_method): New.
466 (build_next_selector_translation_table): New.
467 (build_gnu_selector_translation_table): New.
468 (add_objc_string): Merge code from build_objc_string_decl...
469 ... and delete build_objc_string_decl().
470 (generate_dispatch_table): Make integer types explicit.
471 (generate_category): Pass implent and arrange for the data
472 to be extracted within the routine. Do not start new vars,
473 but finish the ones collcted during parsing.
474 (generate_shared_structures): Likewise.
475 (finish_objc): Reorder code so that we finish variables before
476 referencing them. Save the global data before calling meta-data
477 creation routines, and pass the current reference to the two
478 main routines. Only call generate_objc_image_info () for the
479 NeXT runtime.
480 (generate_classref_translation_entry): Comment on and make this
481 item DECL_PRESERVE_P.
482 (handle_class_ref): Use varpool interfaces, comment on and make
483 this item DECL_PRESERVE_P.
484 (handle_impent): Likewise.
485 (generate_objc_image_info): Only generate when the content is
486 non-zero. Make integer types explict.
487
6ab3a6e6 4882010-07-03 Nathan Froyd <froydnj@codesourcery.com>
489
490 PR objc/24867
491 * objc-act.c (build_sized_array_type): New function.
492 (add_objc_string): Use it.
493 (generate_protocol_list): Likewise.
494 (generate_objc_image_info): Likewise.
495 (add_field_decl): New function.
496 (objc_build_struct): Use a VEC rather than building a TREE_LIST.
497 (generate_struct_by_value_array): Use add_field_decl.
498 (build_objc_symtab_template): Likewise.
499 (build_module_descriptor): Likewise.
500 (build_objc_exception_stuff): Likewise.
501 (build_protocol_template): Likewise.
502 (build_method_prototype_list_template): Likewise.
503 (build_method_prototype_template): Likewise.
504 (build_category_template): Likewise.
505 (build_selector_template): Likewise.
506 (build_class_template): Likewise.
507 (build_super_template): Likewise.
508 (build_ivar_template): Likewise.
509 (build_ivar_list_template): Likewise.
510 (build_method_list_template): Likewise.
511 (build_method_template): Likewise.
512
596981c8 5132010-06-28 Steven Bosscher <steven@gcc.gnu.org>
514
515 * objc-act.c: Do not include except.h.
516
ba72912a 5172010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
518
519 * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
520 allocation.
521
522 * objc-act.c (objc_volatilize_decl): Likewise.
523 (objc_build_string_object): Likewise.
524 (hash_init): Likewise.
525 (hash_enter): Likewise.
526 (hash_add_attr): Likewise.
527 (add_class): Likewise.
528 (start_class): Likewise.
529
7bedc3a0 5302010-06-05 Steven Bosscher <steven@gcc.gnu.org>
531
532 * objc-act.c: Update include path for moved files.
533 * objc-lang.c: Likewise.
534 * config-lang.in: Update paths in gtfiles for files in c-family/.
535
70b3bc87 5362010-06-01 Nathan Froyd <froydnj@codesourcery.com>
537
538 * objc-act.c (build_next_objc_exception_stuff): Give setjmp a
539 varargs type instead of a zero-argument type.
540
a2c73aa9 5412010-05-30 Nathan Froyd <froydnj@codesourcery.com>
542
543 * objc-act.c (synth_module_prologue): Use build_function_type_list
544 instead of build_function_type.
545 (build_module_initializer_routine): Likewise.
546 (build_next_objc_exception_stuff): Likewise.
547 (build_objc_exception_stuff): Likewise.
548
852f689e 5492010-05-27 Joseph Myers <joseph@codesourcery.com>
550
551 * objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
552 * Make-lang.in (objc/objc-act.o): Update dependencies.
553
c4b9c21a 5542010-05-25 Steven Bosscher <steven@gcc.gnu.org>
555
556 * objc-act.h: Do not include gimple.h.
557 * objc-act.c: Do not include rtl.h, expr.h, libfuncs.h, and tm_p.h.
558 Include gimple.h. Explain why except.h has to be included.
559 * objc-lang.c: Do not include diagnostics.h.
560 * Make-lang.in: Update dependencies.
561
d3f0a7c5 5622010-05-25 Nathan Froyd <froydnj@codesourcery.com>
563
564 * objc-act.c (objc_build_constructor): Adjust OBJCPLUS impedance
565 mismatch code for VECs.
566
4c6b0360 5672010-05-25 Nathan Froyd <froydnj@codesourcery.com>
568
569 * objc-act.c (objc_build_constructor): Take a VEC instead of a tree.
570 Use build_constructor instead of build_constructor_from_list.
571 (objc_build_string_object): Build a VEC argument for
572 objc_build_constructor.
573 (init_def_list): Likewise.
574 (init_objc_symtab): Likewise.
575 (init_module_descriptor): Likewise.
576 (generate_static_references): Likewise.
577 (build_selector_translation_table): Likewise.
578 (build_descriptor_table_initializer): Likewise.
579 (generate_descriptor_table): Likewise.
580 (build_protocol_initializer): Likewise.
581 (build_ivar_list_initializer): Likewise.
582 (generate_ivars_list): Likewise.
583 (build_dispatch_table_initializer): Likewise.
584 (generate_dispatch_table): Likewise.
585 (generate_protocol_list): Likewise.
586 (build_category_initializer): Likewise.
587 (build_shared_structure_initializer): Likewise.
588 (generate_objc_image_info): Likewise.
589
da1ad6a6 5902010-04-30 Iain Sandoe <iains@gcc.gnu.org>
591
592 PR objc++/32052
593 * objc-act.c (encode_aggregate_within): Encode structure tags
594 with template args for ObjC++.
595
3f9da559 5962010-04-30 Steven Bosscher <steven@gcc.gnu.org>
597
598 * objc-act.c: Do not include varray.h.
599
abc6c64f 6002010-04-07 Jakub Jelinek <jakub@redhat.com>
601
602 PR c/18624
603 * objc-act.c (finish_var_decl, objc_begin_catch_clause,
604 really_start_method, get_super_receiver, handle_class_ref): Set
605 DECL_READ_P in addition to TREE_USED.
606
421351fb 6072010-04-07 Iain Sandoe <iains@gcc.gnu.org>
608
609 PR objc/35996
610 * objc-act.c (objc_init): Warn that -fobjc-gc is ignored for
611 -fgnu-runtime and set flag_objc_gc to zero.
612
1ecc1105 6132010-04-07 Iain Sandoe <iains@gcc.gnu.org>
614
615 PR objc++/23716
616 * objc-act.c (build_module_initializer_routine): Make the argument
617 to objc_start_function NULL_TREE when compiling ObjC++.
618
44434890 6192010-02-18 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
620 Mike Stump <mikestump@comcast.net>
621
8f071285 622 PR objc/43061
44434890 623 * objc-act.c (finish_var_decl): Set the generated symbols as "used".
624
535059dc 6252009-12-17 Shujing Zhao <pearly.zhao@oracle.com>
626
627 * objc-act.c (objc_substitute_decl, build_ivar_reference,
628 get_super_receiver): Update build_indirect_ref calls.
629
2b03c8ee 6302009-11-28 Jakub Jelinek <jakub@redhat.com>
631
f018d957 632 * objc-act.c (generate_shared_structures): Remove unused sc_spec and
633 decl_specs variables.
634 (objc_build_message_expr): Remove unused loc variable.
635 (objc_finish_message_expr): Remove unused saved_rtype variable.
636 (encode_field_decl): Remove unused type variable.
637
2b03c8ee 638 PR obj-c++/42156
639 * objc-act.c (objc_build_struct): INIT_TYPE_OBJC_INFO for
640 type variants that don't have it initialized yet.
641
078c3ef3 6422009-09-14 Jan Hubicka <jh@suse.cz>
643
644 * objc-act.c (objc_add_static_instance): Do not set DECL_COMMON.
645
e38def9c 6462009-09-14 Richard Henderson <rth@redhat.com>
647
648 * objc-act.c (objc_init_exceptions): Don't call
649 default_init_unwind_resume_libfunc.
650 (objc_build_exc_ptr): Use __builtin_eh_pointer.
651
58d82cd0 6522009-09-13 Richard Guenther <rguenther@suse.de>
653 Rafael Avila de Espindola <espindola@google.com>
654
655 * objc-act.c (objc_eh_runtime_type): Export.
656 (objc_init_exceptions): Remove. Move warning code ...
657 (objc_begin_try_stmt): ... here
658 (objc_build_throw_stmt): ... and here.
659 (objc_eh_personality_decl): New.
660 (objc_eh_personality): New function.
661 * objc-act.h (objc_eh_runtime_type): Declare.
662 (objc_eh_personality): Likewise.
663 * objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
664 (LANG_HOOKS_EH_PERSONALITY): Likewise.
665
34e5cced 6662009-09-03 Diego Novillo <dnovillo@google.com>
667
668 * objc-lang.c (lang_hooks): Remove const qualifier.
669
874993a5 6702009-08-20 Richard Guenther <rguenther@suse.de>
671
672 * objc-act.c: Include c-lang.h
673 * Make-lang.in (objc/objc-act.o): Add c-lang.h dependency.
674
389dd41b 6752009-07-17 Aldy Hernandez <aldyh@redhat.com>
676 Manuel López-Ibáñez <manu@gcc.gnu.org>
677
678 PR 40435
679 * objc-act.c: Add location argument to all calls to
680 build_fold_addr_expr.
681
c02b6f4e 6822009-07-14 Taras Glek <tglek@mozilla.com>
683 Rafael Espindola <espindola@google.com>
684
685 * Make-lang.in (objc.install-plugin): New target for
686 installing plugin headers.
687
1cf1742e 6882009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
689
690 * objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
691 EXPR_LOCATION.
692
712d2297 6932009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
694
695 * objc-act.c: Replace %J by an explicit location. Update all
696 calls.
697
5fb6a912 6982009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
699
700 * objc-act.c: Replace %H by an explicit location. Update all
701 calls.
702
61a9d3ca 7032009-06-22 Steven Bosscher <steven@gcc.gnu.org>
704
705 PR objc/28050
706 * objc-act.c (objc_build_message_args): Return if ARGS is the
707 error_mark_node.
708
843bd2fa 7092009-06-19 Ian Lance Taylor <iant@google.com>
710
711 * objc-act.c (objc_in_struct, objc_struct_types): Remove.
712 (objc_struct_info): New static variable.
713 (objc_start_struct): Pass &objc_struct_info, not &objc_in_struct
714 and &objc_struct_types, to start_struct.
715 (objc_finish_struct): Likewise for finish_struct.
716
f805d53d 7172009-06-15 Ian Lance Taylor <iant@google.com>
718
719 * objc-act.c (objc_start_function): Don't set
720 label_context_stack_se or label_context_stack_vm.
721
e60a6f7b 7222009-06-12 Aldy Hernandez <aldyh@redhat.com>
723
724 * objc-act.c (finish_var_decl): Pass location to finish_decl.
725 (objc_get_parm_info): Same.
726 (get_super_receiver): Same.
727 * objc-act.c (objc_build_component_ref): Pass location to
728 build_compound_ref.
729 (build_module_initializer_routine): Pass location to
730 c_end_compound_stmt.
731 (objc_generate_static_init_call): Pass location to build_stmt.
732 (build_typed_selector_reference): New location argument.
733 (build_selector_reference): Same.
734 (objc_substitute_decl): Pass location to build_array_ref.
735 (next_sjlj_build_try_catch_finally): Pass location to build_stmt.
736 (objc_begin_catch_clause): Same.
737 (objc_finish_try_stmt): Same.
738 (objc_finish_catch_clause): Pass location to c_end_compound_stmt.
739 (objc_build_throw_stmt): New argument.
740 (generate_shared_structures): Pass location to build_c_cast.
741 (objc_build_message_expr): Use local location.
742 (objc_finish_message_expr): Use input_location.
743 (build_objc_method_call): New argument.
744 (objc_build_selector_expr): Same.
745 (get_super_receiver): Pass location to build_c_cast,
746 build_modify_expr, build_compound_expr.
747 * objc-act.c: Add location to all calls to start_struct, build_decl,
748 finish_struct.
749
d5b637fa 7502009-06-09 Ian Lance Taylor <iant@google.com>
751
752 * objc-act.c (objc_gimplify_expr): Change return type to int.
753 * objc-act.h: Update declaration.
754
71278019 7552009-06-08 Alexandre Oliva <aoliva@redhat.com>
756
757 * objc-act.c (objc_init): Skip print_struct_values during
758 -fcompare-debug-second.
759
cd819d2f 7602009-06-03 Ian Lance Taylor <iant@google.com>
761
762 * Make-lang.in (cc1obj-checksum.o): Depend upon $(CONFIG_H) and
763 $(SYSTEM_H).
764
40b6e20e 7652009-05-27 Ian Lance Taylor <iant@google.com>
766
767 * Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
768 $(LINKER).
769 (cc1obj$(exeext)): Likewise.
770
585d4848 7712009-05-26 Ian Lance Taylor <iant@google.com>
772
773 * Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
774 (cc1obj$(exeext)): Likewise.
775
f352a3fb 7762009-05-20 Ian Lance Taylor <iant@google.com>
777
778 * objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
779 than NULL_TREE to build_special_member_call.
780
0b09525f 7812009-05-10 Ian Lance Taylor <iant@google.com>
782
783 * objc-act.c (objc_building_struct): New static variable.
784 (objc_in_struct, objc_struct_types): New static variables.
785 (objc_start_struct, objc_finish_struct): New static functions.
786 (generate_struct_by_value_array): Call objc_start_struct instead
787 of start_struct, and call objc_finish_struct instead of
788 finish_struct.
789 (objc_build_struct, build_objc_symtab_template): Likewise.
790 (build_module_descriptor): Likewise.
791 (build_next_objc_exception_stuff): Likewise.
792 (build_protocol_template): Likewise.
793 (build_method_prototype_list_template): Likewise.
794 (build_method_prototype_template): Likewise.
795 (build_category_template, build_selector_template): Likewise.
796 (build_class_template, build_super_template): Likewise.
797 (build_ivar_template, build_ivar_list_template): Likewise.
798 (build_method_list_template): Likewise.
799 (build_method_template): Likewise.
800
a608187f 8012009-05-10 Joseph Myers <joseph@codesourcery.com>
802
803 * objc-act.c: Include intl.h.
804 (objc_lookup_protocol): Use complete sentences for diagnostics
805 with %qE for identifiers and translating results of
806 gen_type_name_0 to locale character set.
807 (objc_check_decl, check_protocol_recursively,
808 lookup_and_install_protocols, objc_build_string_object,
809 objc_get_class_reference, objc_declare_alias, objc_declare_class,
810 objc_get_class_ivars, error_with_ivar, check_duplicates,
811 objc_finish_message_expr, objc_build_protocol_expr,
812 objc_build_selector_expr, build_ivar_reference, objc_add_method,
813 add_category, add_instance_variable, objc_is_public,
814 check_methods, check_methods_accessible, check_protocol,
815 start_class, finish_class, start_protocol, really_start_method,
816 get_super_receiver, objc_lookup_ivar): Use %E and %qE for
817 identifiers in diagnostics. Translate generated text to locale
818 character set as needed.
819 (check_protocol, check_protocols): Change name parameter to type
820 tree.
821 (lang_report_error_function): Remove.
822
bc620c5c 8232009-04-27 Ian Lance Taylor <iant@google.com>
824
825 * objc-act.c (objc_gimplify_expr): Add casts to enum type.
826
8458f4ca 8272009-04-24 Ian Lance Taylor <iant@google.com>
828
829 * objc-act.c (get_super_receiver): Update calls to
830 build_modify_expr to pass new argument.
831
fb1e4f4a 8322009-04-21 Taras Glek <tglek@mozilla.com>
833
834 * objc-act.c: Update GTY annotations to new syntax
835 * objc-act.h: Likewise
836
7dfbd804 8372009-04-21 Joseph Myers <joseph@codesourcery.com>
838
839 * ChangeLog: Add copyright and license notices.
840
b9c74b4d 8412009-04-20 Ian Lance Taylor <iant@google.com>
842
843 * objc-act.c (objc_rewrite_function_call): Change parameter from
844 params to first_param. Change all callers.
845
a3cad4e4 8462009-03-30 Dominique d'Humieres <dominiq@lps.ens.fr>
847
848 PR bootstrap/39583
849 * objc-act.c (in_late_binary_op): Define for Objective-C++.
850
a75b1c71 8512009-03-29 Joseph Myers <joseph@codesourcery.com>
852
853 PR c/456
854 PR c/5675
855 PR c/19976
856 PR c/29116
857 PR c/31871
858 PR c/35198
859 * objc-act.c (objc_finish_try_stmt): Set in_late_binary_op.
860
9322d72e 8612008-12-05 Sebastian Pop <sebastian.pop@amd.com>
29bb3e39 862
863 PR bootstrap/38262
864 * Make-lang.in (cc1obj-dummy, cc1obj): Add BACKENDLIBS,
865 remove GMPLIBS.
866
b6889cb0 8672008-10-06 Aldy Hernandez <aldyh@redhat.com>
868
869 * objc-act.c (objc_build_string_object): Pass location to
870 build_unary_op.
871 (init_def_list): Same.
872 (init_objc_symtab): Same.
873 (init_module_descriptor): Same.
874 (build_module_initializer_routine): Same.
875 (generate_static_references): Same.
876 (build_typed_selector_reference): Same.
877 (add_objc_string): Same.
878 (objc_substitute_decl): Same.
879 (objc_build_ivar_assignment): Same.
880 (objc_build_global_assignment): Same.
881 (objc_build_strong_cast_assignment): Same.
882 (generate_protocols): Same.
883 (build_protocol_initializer): Same.
884 (build_dispatch_table_initializer): Same.
885 (generate_protocol_list): Same.
886 (build_category_initializer): Same.
887 (build_shared_structure_initializer): Same.
888 (generate_shared_structures): Same.
889 (objc_build_protocol_expr): Same.
890 (build_ivar_reference): Same.
891 (get_super_receiver): Same.
892
8e70fb09 8932008-09-23 Aldy Hernandez <aldyh@redhat.com>
894
895 * objc-act.c (next_sjlj_build_enter_and_setjmp): Call
896 c_common_truthvalue_conversion with location.
897 (next_sjlj_build_catch_list): Same.
898 (next_sjlj_build_try_catch_finally): Same.
899
4cd62850 9002008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
901
902 PR objc/37460
903 * objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
904 * objc-act.h (objc_get_callee_fndecl): Remove prototype.
905 * objc-act.c (objc_get_callee_fndecl): Kill.
906
73b5e722 9072008-09-17 Jan Hubicka <jh@suse.cz>
908
909 PR c++/18071
910 * objc/objc-act.c (objc_finish_method_definition): Do not set
911 DECL_INLINE.
912
dda49785 9132008-09-01 Aldy Hernandez <aldyh@redhat.com>
914
915 * objc-act.c (build_typed_selector_reference): Pass input_location to
916 build_unary_op calls.
917 (build_selector_reference): Same, but to build_array_ref.
918 (objc_substitute_decl): Same.
919 (build_ivar_reference): Same, but to build_indirect_ref.
920 (get_super_receiver): Same.
921
75a70cf9 9222008-07-28 Richard Guenther <rguenther@suse.de>
923
924 Merge from gimple-tuples-branch.
925
926 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
927
928 * Make-lang.in (objc-lang.o): Depend on GIMPLE_H.
929 (objc-act.o): Rename TREE_GIMPLE_H to GIMPLE_H.
930 * objc-act.h: Include gimple.h instead of tree-gimple.h.
931 * ipa-reference.c: Same.
932
933 2007-11-10 Aldy Hernandez <aldyh@redhat.com>
934
935 * objc-act.c (objc_gimplify_expr): Change pre and post to sequences.
936 * objc-act.h (objc_gimplify_expr): Change prototype accordingly.
937
08cc44e7 9382008-07-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
939
940 * objc-act.c: Fix comment typos.
941
ceb0f408 9422008-07-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
943
944 * objc-act.c (objc_start_class_interface,
945 objc_start_category_interface, objc_start_class_implementation,
946 objc_start_category_implementation, objc_build_struct,
947 generate_static_references, build_private_template,
948 lookup_category, objc_add_method, add_category,
949 add_instance_variable, objc_is_public, conforms_to_protocol,
950 start_class, continue_class, finish_class): Avoid C++ keywords.
951
b4d6f57b 9522008-07-14 Jason Merrill <jason@redhat.com>
953
954 PR objc++/36723
955 * objc-act.c (objc_build_constructor): Update C++ tweak.
956
d3eff7bb 9572007-07-14 Rafael Ávila de Espíndola <espindola@google.com>
7cb6f926 958
959 * objc-act.c (synth_module_prologue): Use TREE_NO_WARNING instead
960 of DECL_IN_SYSTEM_HEADER.
961
5c6e5756 9622008-07-11 Ian Lance Taylor <iant@google.com>
963
964 * objc-act.c (objc_is_reserved_word): Always check for RID_CLASS,
965 etc., not just when OBJCPLUS is defined.
966
25a1c410 9672008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
968
969 * objc-act.c (setup_string_decl, objc_build_string_object,
970 hash_interface, eq_interface, objc_begin_try_stmt,
971 encode_method_prototype, build_ivar_list_initializer,
972 objc_build_encode_expr): Fix for -Wc++-compat.
973
92cce2b2 9742008-05-12 Tomas Bily <tbily@suse.cz>
975
976 * objc-act.c (objc_generate_write_barrier, objc_finish_message_expr):
977 Use CONVERT_EXPR_P.
978
c7d4e749 9792008-04-23 Paolo Bonzini <bonzini@gnu.org>
980
981 * objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT.
982
6fb2153a 9832008-04-03 Tom Tromey <tromey@redhat.com>
984
985 * Make-lang.in (objc_OBJS): New variable.
986
21886706 9872008-03-27 Tom Tromey <tromey@redhat.com>
988
989 * Make-lang.in: Revert automatic dependency patch.
990
717ecce9 9912008-03-27 Douglas Gregor <doug.gregor@gmail.com>
992
993 PR obj-c++/35704
994 * objc-act.c (objc_build_component_ref): Fix call to
995 finish_class_member_access_expr.
996 (objc_generate_cxx_ctor_or_dtor): Fix call to
997 build_special_member_call.
998
e226f54f 9992008-03-25 Andrew Pinski <pinskia@gmail.com>
1000
1001 PR objc/29197
1002 * objc-act.c (encode_type): Handle when type is error_mark_node.
1003 (objc_push_parm): Handle when the type of parm is error_mark_node.
1004
277b05bb 10052008-03-25 Tom Tromey <tromey@redhat.com>
1006
1007 * Make-lang.in (objc_OBJS): New variable.
1008 (cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove.
1009
3594ce91 10102008-03-21 Andreas Tobler <a.tobler@schweiz.org>
1011
1012 PR bootstrap/35660
1013 * objc-act.c (objc_generate_cxx_ctor_or_dtor): Rename IS_AGGR_TYPE to
1014 MAYBE_CLASS_TYPE_P.
1015 (objc_generate_cxx_cdtors): Likewise.
1016 (add_instance_variable): Likewise.
1017
9c85a98a 10182008-02-26 Tom Tromey <tromey@redhat.com>
1019
1020 * objc-act.c (objc_init): Remove old location code.
1021
6ca01c3b 10222008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1023
1024 PR other/35107
1025 * Make-lang.in (cc1obj-dummy, cc1obj): Add $(GMPLIBS).
1026
c3adda75 10272007-07-30 Nick Clifton <nickc@redhat.com>
1028
1029 * Make-lang.in: Change copyright header to refer to version 3 of
1030 the GNU General Public License and to point readers at the
1031 COPYING3 file and the FSF's license web page.
1032 * lang-specs.h, objc-act.c, objc-tree.def, objc-act.h,
1033 config-lang.in, objc-lang.c: Likewise.
1034
b7bf20db 10352007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1036
1037 * objc-act.c (objc_get_callee_fndecl): Constify.
1038 * objc-act.h (objc_get_callee_fndecl): Likewise.
1039
aae87fc3 10402007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1041
1042 * objc-act.c (volatilized_hash, volatilized_eq, string_hash,
1043 string_eq): Constify.
1044
2a3c85c8 10452007-04-04 Stuart Hastings <stuart@apple.com>
1046
1047 PR 31281
1048 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
1049
52df3169 10502007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
1051
1052 * Make-lang.in: Add dummy lang.install-pdf target.
1053
97419919 10542007-02-18 Kazu Hirata <kazu@codesourcery.com>
1055
1056 * objc/objc-act.c: Fix comment typos.
1057
c2f47e15 10582007-02-15 Sandra Loosemore <sandra@codesourcery.com>
1059 Brooks Moses <brooks.moses@codesourcery.com>
1060 Lee Millward <lee.millward@codesourcery.com>
1061
1062 * objc-act.c (receiver_is_class_object): Use new CALL_EXPR accessors.
1063 (objc_get_callee_fndecl): Likewise.
1064
da2f0f2c 10652007-01-23 Andrew Pinski <pinskia@gmail.com>
1066
1067 PR objc/27438
1068 * objc-act.c (objc_add_static_instance): Mark the decl as
1069 TREE_USED.
1070
7eb56ad3 10712007-01-20 Andrew Pinski <pinskia@gmail.com>
1072
1073 PR objc/30479
1074 * objc-act.c (hash_interface): Use IDENTIFIER_HASH_VALUE instead
1075 of htab_hash_pointer.
1076 (lookup_interface): Likewise.
1077 (add_class): Likewise.
1078
6753bca0 10792007-01-02 Douglas Gregor <doug.gregor@gmail.com>
1080
1081 * objc-act.c (objc_build_volatilized_type): Keep track of
1082 canonical types.
1083 (objc_get_protocol_qualified_type): Ditto.
1084
718149a3 10852006-11-02 Andreas Tobler <a.tobler@schweiz.org>
1086
1087 * objc-act.c (objc_finish_file): Remove ifdef clause for OBJCPLUS and
1088 content where we called cp_finish_file.
1089
d3eff7bb 10902006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
54be5d7e 1091
1092 * objc-act.c (synth_module_prologue): Replace calls to
1093 builtin_function with add_builtin_function.
1094 (build_next_objc_exception_stuff): Replace calls to
1095 builtin_function with add_builtin_function.
1096 (build_objc_exception_stuff): Replace calls to
1097 builtin_function with add_builtin_function.
1098
51f93521 10992006-10-10 Brooks Moses <bmoses@stanford.edu>
1100
1101 * Make-lang.in: Added empty "objc.pdf" target.
1102
ea028b59 11032006-09-26 Andrew Pinski <pinskia@physics.uc.edu>
1104
1105 PR objc/29195
1106 * objc-act.c (objc_push_parm): If we change the type of the
1107 decl, relayout the decl.
1108
6db57367 11092006-09-19 Eric Christopher <echristo@apple.com>
1110
1111 * objc-act.c (JBLEN): Rename to OBJC_JBLEN,
1112 default to something innocuous.
1113 (build_next_objc_exception_stuff): Rename JBLEN.
1114
e85b0b9f 11152006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1116
1117 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
1118
77874a3c 11192006-07-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1120
1121 PR obj-c++/28434
1122 * objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes.
1123
15b5961f 11242006-06-06 Mike Stump <mrs@apple.com>
1125
1126 * objc-act.c: Remove prototype for objc_build_volatilized_type.
1127
8d6b10e2 11282006-05-24 Mike Stump <mrs@apple.com>
1129
1130 * objc-act.c (build_next_objc_exception_stuff): Use JBLEN instead of _JBLEN.
1131
ed672485 11322006-05-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1133
1134 PR objc/27240
1135 * objc-act.c (objc_is_public): Return early on invalid type.
1136
30f66f51 11372006-03-02 Fariborz Jahanian <fjahanian@apple.com>
1138
1139 * objc-act.c (init_module_descriptor): Remove file name from
1140 module descriptor.
1141 (gen_type_name_0): Fix ICE when issuing warning.
1142
d3eff7bb 11432006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
9f30f9e7 1144 * Make-lang.in (OBJC): Remove
1145 (OBJECTIVE-C): Remove
1146 (objective-c): Remove
1147 (.PHONY): Remove objective-c and ObjC
1148
0ee579cd 11492005-12-14 Andrew Pinski <pinskia@physics.uc.edu>
1150
1151 PR objc/25360
8d6b10e2 1152 * objc/objc-act.c (encode_type): Encode Complex types as 'j' followed
1153 by the inner type.
0ee579cd 1154
c4e3ffb1 11552005-12-12 Andrew Pinski <pinskia@physics.uc.edu>
1156
1157 PR objc/25348
1158 * objc-act.c (encode_array): Handle arrays to zero sized types.
1159
d3eff7bb 11602005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
ae6555f9 1161
1162 * Make-lang.in (objc.all.build, objc.install-normal): Remove.
1163
d3eff7bb 11642005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
758e52e0 1165
1166 * Make-lang.in: Remove all dependencies on s-gtype.
1167
a3a36c39 11682005-12-02 Richard Guenther <rguenther@suse.de>
1169
1170 * objc-act.c (objc_build_exc_ptr, next_sjlj_build_enter_and_setjmp
1171 next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
1172 next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
1173 build_objc_method_call, objc_rewrite_function_call): Use buildN
1174 instead of build.
1175
41cac6ed 11762005-10-20 Geoffrey Keating <geoffk@apple.com>
1177
1178 * objc-act.c (synth_module_prologue): Clear TREE_NOTHROW
1179 on objc_msgSend and like builtin functions.
1180
53d4f63c 11812005-10-17 Andreas Krebbel <krebbel1@de.ibm.com>
1182
fdf0e229 1183 * objc-act.c (objc_build_component_ref): Adjust call to
53d4f63c 1184 finish_class_member_access_expr due to a changed prototype.
1185
1cff51e3 11862005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
1187
1188 PR objc/23306
1189 * objc-act.c (generate_strings): Remove and move code to
1190 finish decl to ...
1191 (add_objc_string): here when creating a new string decl.
1192 (finish_objc): Don't call generate_strings.
1193
c2400746 11942005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
1195
1196 PR objc/23381
1197 * objc-act.c (next_sjlj_build_try_catch_finally): Set
1198 TREE_SIDE_EFFECTS on catch_seq after building it.
1199
9d44cae2 12002005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
1201
1202 part of PR objc/21992
1203 * objc-act.c (handle_class_ref): The ref decl is always referenced.
1204
c75b4594 12052005-07-20 Giovanni Bajo <giovannibajo@libero.it>
1206
1207 Make CONSTRUCTOR use VEC to store initializers.
1208 * objc-act.c (objc_build_constructor): Use build_constructor_from_list
1209 instead of build_constructor.
1210
5ded8c6f 12112005-07-08 Daniel Berlin <dberlin@dberlin.org>
fdf0e229 1212
5ded8c6f 1213 * objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
1214 removed.
1215 * objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
1216 (KEYWORD_KEY_NAME): Use decl_minimal.
1217 (METHOD_SEL_NAME): Ditto..
1218 (METHOD_SEL_ARGS): Use decl_non_common.
1219 (METHOD_ADD_ARGS): Ditto.
1220 (METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
1221 (METHOD_DEFINITION): Ditto.
1222 (METHOD_ENCODING): Ditto.
1223 * objc-lang.c: (objc_init_ts): New function.
1224
8e1be677 12252005-07-07 Ziemowit Laski <zlaski@apple.com>
1226
1227 * objc-act.c (objc_build_struct): Pass in an actual @interface
1228 instead of its name, and annotate the struct created (and all
1229 existing variants thereof) with the @interface.
1230 (objc_compare_types): Treat forward-declared ObjC classes
1231 as stand-alone (root) classes for purposes of type comparisons.
1232 (build_private_template): Move some code to objc_build_struct().
1233
99469381 12342005-07-07 Ziemowit Laski <zlaski@apple.com>
1235
1236 PR objc/22274
1237 * objc-act.c (objc_build_string_object): For GNU-style constants,
1238 use the @interface type rather than the built-in type.
1239
bd06ecb6 12402005-07-03 Kazu Hirata <kazu@codesourcery.com>
1241
1242 * Make-lang.in (cc1plus-checksum.c): Use
1243 build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
1244
3284a242 12452005-07-02 Joseph S. Myers <joseph@codesourcery.com>
1246
1247 * objc-act.c: Use %q to quote in diagnostics.
1248
3cf8b391 12492005-07-02 Joseph S. Myers <joseph@codesourcery.com>
1250
1251 * objc-act.c: Use '+' flag instead of %J. Use 'q' flag for
1252 quoting.
1253
4dfa7ebc 12542005-06-30 Ziemowit Laski <zlaski@apple.com>
1255
1256 * objc-act.c (objc_build_volatilized_type): New function.
1257 (objc_volatilize_decl): Call objc_build_volatilized_type()
1258 instead of build_qualified_type().
1259
0616a948 12602005-06-29 Ziemowit Laski <zlaski@apple.com>
1261
1262 * objc-act.c (objc_build_internal_const_str_type): New function.
1263 (check_string_class_template): Use objc_get_class_ivars() instead
1264 of TYPE_FIELDS() to retrieve ivar list.
1265 (AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather
1266 than the field itself.
1267 (objc_build_string_object): Synthesize a "__builtin_ObjCString"
1268 type and use it to lay out compile-time string objects.
1269 * objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type):
1270 New.
1271
1774763d 12722005-06-28 Paul Brook <paul@codesourcery.com>
1273
1274 * objc-act.c (objc_init_exceptions): Call
1275 default_init_unwind_resume_libfunc.
1276
0bee387e 12772005-06-27 Ziemowit Laski <zlaski@apple.com>
1278
1279 * objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO
1280 portion of TYPE_LANG_SPECIFIC info for all variants of
1281 a class before calling finish_struct(), and restore
1282 same TYPE_OBJC_INFO afterwards.
1283
85b2164b 12842005-06-25 Kelley Cook <kcook@gcc.gnu.org>
1285
1286 * all files: Update FSF address in copyright headers.
1287
f14c8207 12882005-06-15 Joseph S. Myers <joseph@codesourcery.com>
1289
1290 * objc-act.c (my_build_string_pointer): New.
1291 (objc_get_class_reference, get_super_receiver): Call
1292 my_build_string_pointer instead of my_build_string when building
1293 function arguments.
1294
737a4756 12952005-05-25 Mike Stump <mrs@mrs.kithrup.com>
1296
1297 * objc-act.c (volatilized_hash): Avoid warnings on 64-bit
1298 machines.
1299
499ea517 13002005-05-24 Ziemowit Laski <zlaski@apple.com>
1301
1302 * objc-act.c (objc_build_struct): New function.
1303 (objc_derived_from_p): Likewise.
1304 (objc_build_component_ref): Likewise.
1305 (objc_copy_binfo): Likewise.
1306 (objc_xref_basetypes): Likewise.
1307 (objc_lookup_protocol): Likewise.
1308 (objc_compare_protocols): Likewise.
1309 (objc_volatilize_decl): Likewise.
1310 (encode_aggregate_fields): Likewise.
1311 (volatilized_hash): Likewise.
1312 (volatilized_eq): Likewise.
1313 (objc_compare_types): Likewise.
1314 (objc_type_quals_match): Likewise.
1315 (DERIVED_FROM_P): New ObjC macro, corresponding to C++ macro
1316 of same name.
1317 (get_class_ivars): Add second parameter indicating if entire
1318 hierarchy is desired.
1319 (struct volatilized_type): New type.
1320 (volatilized_htab): New hash table.
1321 (objc_types_compatible_p, objc_comptypes): Remove functions.
1322 (synth_module_prologue): Do not initialize 'unused_list'.
1323 (objc_get_class_reference): Fix ObjC++ impedance mismatches.
1324 (objc_declare_alias): Implement as a typedef.
1325 (objc_substitute_decl, objc_gimplify_expr): Reformat.
1326 (objc_get_class_ivars): Adjust call to get_class_ivars().
1327 (next_sjlj_build_enter_and_setjmp, synth_forward_declarations,
1328 build_ivar_reference, get_super_receiver): Call
1329 objc_build_component_ref() instead of build_component_ref().
1330 (objc_begin_catch_clause): Use DERIVED_FROM_P() instead of
1331 objc_comptypes().
1332 (build_private_template): Call objc_build_struct() instead of
1333 start_struct() and finish_struct().
1334 (hash_init): Initialize volatilized_htab.
1335 (objc_is_public): Adjust calls to objc_get_ivars(); adjust
1336 ObjC++ impedance mismatches.
1337 (encode_aggregate_within): Streamline by calling
1338 encode_aggregate_fields().
1339 * objc-act.h (objc_types_compatible_p): Remove prototype.
1340 (OCTI_UNUSED_LIST, unused_list): Remove slot.
1341 * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1342
f1035767 13432005-05-18 Geoffrey Keating <geoffk@apple.com>
1344
1345 * Make-lang.in (cc1obj-dummy): New.
1346 (cc1obj-checksum.c): New.
1347 (cc1obj-checksum.o): New.
1348 (cc1obj): Add cc1obj-checksum.o.
1349
3c905014 13502005-05-18 Mike Stump <mrs@apple.com>
1351
1352 PR objc/21641
1353 * objc-act.c (struct interface_tuple): Mark it up for GC.
1354 (interface_htab): It is really a struct interface_tuple.
1355
82c07781 13562005-05-17 Ziemowit Laski <zlaski@apple.com>
1357 Mike Stump <mrs@apple.com>
0ced0389 1358
1359 Yet more Objective-C++...
1360
1361 * objc-act.c (objc_finish_try_stmt): Add return value.
1362 (objc_build_synchronized): Likewise.
1363
1364 * objc-act.c (objc_is_gcable_type): Add.
1365 (objc_substitute_decl): Add.
1366 (objc_build_ivar_assignment): Add.
1367 (objc_build_global_assignment): Add.
1368 (objc_build_strong_cast_assignment): Add.
1369 (objc_is_ivar_reference_p): Add.
1370 (objc_is_global_reference_p): Add.
1371 (objc_generate_write_barrier): Add.
1372 (objc_rewrite_function_call): Add.
1373 (objc_gimplify_expr): Add Objective-C++ support.
1374 * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
1375 (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Add.
1376 (INIT_TYPE_OBJC_INFO): Add Objective-C++ support.
1377 (DUP_TYPE_OBJC_INFO): Likewise.
1378 (struct imp_entry): Add field has_cxx_cdtors.
1379 (struct imp_entry *imp_list): Add OCTI_UMSG_FAST_DECL,
1380 OCTI_METH_LIST_TEMPL, OCTI_METH_PROTO_LIST_TEMPL,
1381 OCTI_IVAR_LIST_TEMPL, OCTI_ASSIGN_IVAR_DECL,
1382 OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
1383 OCTI_ASSIGN_STRONGCAST_DECL.
1384 (umsg_fast_decl): Add.
1385 (objc_assign_ivar_decl): Add.
1386 (objc_assign_ivar_fast_decl): Add.
1387 (objc_assign_global_decl): Add.
1388 (objc_assign_strong_cast_decl): Add.
1389 (objc_method_list_ptr): Add.
1390 (objc_method_proto_list_ptr): Add.
1391 (objc_ivar_list_ptr): Add.
1392
1393 * objc-act.c (should_call_super_dealloc): Add.
1394 (OBJC_VERSION): Bump to 6.
1395 (objc_is_gcable_type): Add.
1396 (objc_substitute_decl): Add.
1397 (objc_build_ivar_assignment): Add.
1398 (objc_build_global_assignment): Add.
1399 (objc_build_strong_cast_assignment): Add.
1400 (objc_is_gcable_p): Add.
1401 (objc_is_ivar_reference_p): Add.
1402 (objc_is_global_reference_p): Add.
1403 (generate_shared_structures): Add flags parameter.
1404 (objc_generate_cxx_ctor_or_dtor): Add.
1405 (objc_generate_cxx_cdtors): Add.
1406 (add_class): Add name parameter.
1407 (objc_types_share_size_and_alignment): Add.
1408 (comp_proto_with_proto): Add strict parameter.
1409 (CLS_HAS_CXX_STRUCTORS): Add.
1410 (TAG_ASSIGNIVAR): Add.
1411 (TAG_ASSIGNGLOBAL): Add.
1412 (TAG_ASSIGNSTRONGCAST): Add.
1413 (TAG_MSGSEND_FAST): Add.
1414 (TAG_ASSIGNIVAR_FAST): Add.
1415 (TAG_CXX_CONSTRUCT): Add.
1416 (TAG_CXX_DESTRUCT): Add.
1417 (OBJC_LOOKUP_CLASS): Add.
1418 (OBJC_LOOKUP_NO_SUPER): Add.
1419 (objc_finish_file): Add pch support.
1420 (objc_finish_implementation): Add Objective-C++ support.
1421 (synth_module_prologue): Likewise.
1422 (synth_module_prologue): Add fast dispatching.
1423 (objc_get_class_reference): Add Objective-C++ support.
1424 (objc_generate_write_barrier): Likewise.
1425 (next_sjlj_build_enter_and_setjmp): Likewise.
1426 (objc_begin_try_stmt): Likewise.
1427 (build_next_objc_exception_stuff): Add fast ivar support.
1428 (build_private_template): Mark the record as used so debug
1429 information is generated.
1430 (build_protocol_template): Add Objective-C++ support.
1431 (objc_method_parm_type) Likewise.
1432 (objc_generate_cxx_ctor_or_dtor): Likewise.
1433 (objc_generate_cxx_cdtors): Likewise.
1434 (build_protocol_initializer): Likewise.
1435 (build_category_template): Likewise.
1436 (build_class_template): Likewise.
1437 (build_method_list_template): Likewise.
1438 (build_category_initializer): Likewise.
1439 (build_shared_structure_initializer): Likewise.
1440 (objc_finish_message_expr): Likewise.
1441 (build_objc_method_call): Add fast dispatch support.
1442 (lookup_method_static): Add support to end search at superclasses.
1443 (add_method_to_hash_list): Add strict parameter to
1444 comp_proto_with_proto.
1445 (objc_add_method): Likewise.
1446 (objc_add_method): Also set the interface_value.
1447 (add_instance_variable): Add Objective-C++ support.
1448 (objc_is_public): Likewise.
1449 (start_class): Likewise.
1450 (continue_class): Likewise.
1451 (encode_aggregate_within): Likewise.
1452 (start_method_def): Likewise.
1453 (objc_start_function): Clear current_function_returns_value
1454 and current_function_returns_null.
1455 (really_start_method): Add Objective-C++ support.
1456 (objc_finish_method_definition): Add warning for missing
1457 [super dealloc].
1458 (finish_objc): Add Objective-C++ support.
1459 (generate_objc_image_info): Likewise.
1460 (objc_lookup_ivar): Likewise.
1461 * objc-act.h (TYPE_HAS_OBJC_INFO): Likewise.
1462 (INIT_TYPE_OBJC_INFO): Likewise.
1463 (DUP_TYPE_OBJC_INFO): Likewise.
1464
c3ceba8e 14652005-04-23 DJ Delorie <dj@redhat.com>
1466
1467 * objc-act.c: Adjust warning() callers.
1468
450302fe 14692005-04-21 Roger Sayle <roger@eyesopen.com>
1470
1471 * objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
1472 this field of an objc method decl.
1473 * objc-act.c (build_method_decl): Take an additional "ellipsis"
1474 argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
1475 (objc_build_method_signature): Accept additional "ellipsis"
1476 argument and pass it to build_method_decl.
1477 (get_arg_type_list, start_method_def, gen_method_decl): Use
1478 the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
1479 TREE_OVERFLOW field of a TREE_LIST node.
1480
f5d156fd 14812005-04-20 Joseph S. Myers <joseph@codesourcery.com>
1482
1483 PR c/12913
1484 * objc-act.c (objc_start_function): Create stack level for context
1485 of identifiers with variably modified type.
1486
f08c7a57 14872005-03-30 Joseph S. Myers <joseph@codesourcery.com>
1488
1489 PR c/772
1490 PR c/17913
1491 * objc-act.c (objc_start_function): Push context on
1492 label_context_stack.
1493
45a78cc0 14942005-03-23 Joseph S. Myers <joseph@codesourcery.com>
1495
1496 * objc-act.c (next_sjlj_build_enter_and_setjmp,
1497 next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally):
1498 Call c_common_truthvalue_conversion.
1499
1576dec7 15002005-02-25 Joseph S. Myers <joseph@codesourcery.com>
1501
1502 * Make-lang.in (objc/objc-parse.o-warn, objc/objc-parse.o,
1503 objc/objc-parse.c, objc/objc-parse.y): Remove
1504 (OBJC_OBJS, objc.srcextra, objc.tags, objc.mostlyclean,
1505 objc.distclean, objc.maintainer-clean): Update for new parser.
1506 * config-lang.in (gtfiles): Update for new parser.
1507
578ae71d 15082005-01-29 Kazu Hirata <kazu@cs.umass.edu>
1509
1510 * lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update
1511 copyright.
1512
aac6b86a 15132005-01-27 Matt Austern <austern@apple.com>
1514
1515 * objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before
1516 calling instantiate_pending_templates.
fdf0e229 1517
0bd2c21c 15182005-01-26 Alexander Malmberg <alexander@malmberg.org>
1519
1520 PR objc/18862
1521 * objc-act.c (build_selector_translation_table): Use
1522 input_location in the diagnostic for the GNU runtime or if
1523 TREE_PURPOSE (chain) is NULL.
1524
d7c168e8 15252005-01-25 Alexander Malmberg <alexander@malmberg.org>
1526
1527 PR objc/18408
1528 * objc-act.c (objc_types_compatible_p): New function.
1529 * objc-act.h (objc_types_compatible_p): Declare.
1530 * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
1531
7e176567 15322005-01-16 Ziemowit Laski <zlaski@apple.com>
1533
1534 * objc-act.c (objc_push_parm): Call c_type_promotes_to()
1535 via a lang-hook.
1536
53832dfa 15372005-01-15 Ziemowit Laski <zlaski@apple.com>
1538
1539 PR objc/19321
1540 * objc-act.c (get_arg_type_list): Decay function arguments into
1541 pointers.
1542 (objc_push_parm): Likewise; bring PARM_DECL construction closer
1543 in line with what the C front-end does.
1544 (objc_get_parm_info): Call pushdecl() and finish_decl() on
1545 each PARM_DECL, like the C front-end does.
1546 (start_method_def): Remove redundant ARRAY_TYPE decay.
1547 (objc_start_function): Bring closer in line with what the
1548 C front-end does for functions.
1549
67f3526e 15502005-01-14 Mike Stump <mrs@apple.com>
1551
1552 * lang-specs.h ("@objective-c"): Use cc1obj when -E is used so
1553 that -fobjc-exceptions is accepted.
1554
b5266a0c 15552004-12-30 Ziemowit Laski <zlaski@apple.com>
1556
1557 PR objc/18971
1558 * objc-act.c (get_arg_type_list, start_method_def): Decay
1559 array arguments into pointers.
1560 (gen_type_name_0): Learn to pretty-print array types.
1561
6972a3bc 15622004-12-15 Ziemowit Laski <zlaski@apple.com>
1563
1564 * objc-act.c (build_private_template): Change to return 'void'; do
1565 not set ivar_context, uprivate_record or objc_instance_type.
1566 (objc_comptypes, gen_type_name_0): For types 'id' and 'Class',
1567 retrieve protocol list from the pointee rather than the pointer itself;
1568 check TYPE_HAS_OBJC_INFO(...) precondition before accessing
1569 TYPE_OBJC_PROTOCOL_LIST.
1570 (objc_get_protocol_qualified_type): For types 'id' and 'Class',
1571 construct a variant of the pointee as well as the pointer, and
1572 store protocol information in the former. When creating variants
1573 of RECORD_TYPEs, clone their TYPE_LANG_SPECIFIC fields and propagate
1574 TYPE_OBJC_INTERFACE information.
1575 (objc_declare_class): If a TYPE_DECL is looked up, retrieve the
1576 underlying RECORD_TYPE to check for presence of TYPE_OBJC_INTERFACE;
1577 for newly-created RECORD_TYPEs, create a tentative TYPE_OBJC_INTERFACE
1578 holding an IDENTIFIER_NODE.
1579 (objc_finish_message_expr): Check TYPE_HAS_OBJC_INFO(...) before
1580 accessing TYPE_OBJC_PROTOCOL_LIST; Use TYPE_OBJC_INTERFACE instead
1581 of calling lookup_interface(); allow for TYPE_OBJC_INTERFACE holding
1582 an IDENTIFIER_NODE (meaning a @class forward-declaration only).
1583 (objc_is_public): Check TYPE_OBJC_INTERFACE instead of calling
1584 lookup_interface().
1585 (continue_class): For @implementations, set ivar_context,
1586 uprivate_record and objc_instance_type, for @interfaces, call
1587 build_private_template().
1588 (encode_pointer): Check TYPE_HAS_OBJC_INFO(...) before accessing
1589 TYPE_OBJC_INTERFACE.
1590 (objc_types_are_equivalent): Check TYPE_HAS_OBJC_INFO(...) before
1591 accessing TYPE_OBJC_PROTOCOL_LIST.
1592 * objc-act.h (OBJC_INFO_SLOT_ELTS, TYPE_OBJC_INFO, INIT_TYPE_OBJC_INFO,
fdf0e229 1593 DUP_TYPE_OBJC_INFO, ALLOC_OBJC_TYPE_LANG_SPECIFIC,
6972a3bc 1594 SIZEOF_OBJC_TYPE_LANG_SPECIFIC): New macros.
1595 (TYPE_OBJC_INTERFACE): Replaces TREE_STATIC_INSTANCE and now points
1596 to an actual @interface; stored in TYPE_LANG_SPECIFIC(...).
1597 (TYPE_OBJC_PROTOCOL_LIST): Replaces TYPE_PROTOCOL_LIST; stored in
1598 TYPE_LANG_SPECIFIC(...).
1599 (TREE_STATIC_INSTANCE, TYPE_PROTOCOL_LIST): Delete.
1600 (IS_ID, IS_CLASS, IS_PROTOCOL_QUALIFIED_UNTYPED, IS_SUPER,
1601 TYPED_OBJECT): Check for POINTER_TYPE rather than POINTER_TYPE_P;
1602 adjust for use of TYPE_OBJC_INTERFACE and TYPE_OBJC_PROTOCOL_LIST
1603 instead of TREE_STATIC_INSTANCE and TYPE_PROTOCOL_LIST.
1604
b42190bc 16052004-11-29 Joseph Myers <joseph@codesourcery.com>
1606
1607 PR c/7544
1608 * Make-lang.in (objc/objc-act.o): Update dependencies.
1609 * objc-act.c (objc_finish_file): Call
1610 maybe_apply_pending_pragma_weaks if not OBJCPLUS.
1611
02fc645a 16122004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
1613
1614 PR objc/18406
1615 * obj-act.c (encode_type): 96bits doubles are encoded the
1616 same way as 64bit and 128bit doubles are.
1617
1e5fcbe2 16182004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1619
1620 * objc-act.c: Use %q, %< and %> for quoting in diagnostics.
1621
0aaa3c91 16222004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
1623
1624 PR objc/16546
1625 * objc-act.c (generate_method_descriptors): Remove setting
1626 the new decls' type to variable_length_type.
1627 (generate_ivar_lists): Likewise.
1628 (generate_dispatch_tables): Likewise.
1629
e913c82d 16302004-10-30 Ziemowit Laski <zlaski@apple.com>
1631
1632 * objc-act.c (objc_lookup_ivar): The new OTHER parameter
1633 contains the result of the ID lookup by the C or C++
1634 front-end; in class methods, use OTHER if it exists;
1635 in instance methods, use OTHER only if it is locally
1636 declared.
1637
49bd32dc 16382004-10-26 Ziemowit Laski <zlaski@apple.com>
1639
1640 * objc-act.c (finish_class): Do not synthesize bogus
1641 'extern objc_object *_Foo;' declarations for @interface Foo.
1642
9e8a7e85 16432004-10-25 Ziemowit Laski <zlaski@apple.com>
1644 David Ayers <d.ayers@inode.at>
1645
1646 * objc-act.c (objc_comptypes): Use IS_PROTOCOL_QUALIFIED_UNTYPED
1647 instead of IS_PROTOCOL_QUALIFIED_ID; add comparisons for:
1648 'Class <Protocol> != id <Protocol>'; 'Class <Protocol> != <class> *';
1649 'Class <Protocol> == id' and 'Class <Protocol> == Class'.
1650 (objc_is_id): Add test for 'super'.
1651 (objc_finish_message_expr): Allow for messaging of 'Class <Proto>'
1652 receivers; if class methods are not found in protocol lists, search
1653 for instance methods therein and warn if one is found. Look in
1654 global hash tables for suitable method as a last resort when messaging
1655 'id <Proto>', 'Class <Proto>' and invalid receiver types.
1656 (objc_add_method): Insert instance methods listed in protocols into
1657 the global class method hash table.
1658 * objc-act.h (IS_PROTOCOL_QUALIFIED_ID): Rename to
1659 IS_PROTOCOL_QUALIFIED_UNTYPED and allow for 'Class <Proto>' in
1660 addition to 'id <Proto>'.
1661
6e030094 16622004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1663
1664 PR objc/17923
1665 * objc-act.c (objc_build_string_object): Create a CONST_DECL
1666 for the NeXT runtime case.
1667
9f9a4117 16682004-10-02 Kazu Hirata <kazu@cs.umass.edu>
1669
1670 * objc-act.c: Fix comment typos.
1671
4b6a1df9 16722004-09-24 Ziemowit Laski <zlaski@apple.com>
1673
1674 * objc-act.c (init_objc_symtab, init_module_descriptor,
1675 build_shared_structure_initializer): When initializing 'long'
1676 fields, ensure that the initializer value is also 'long'.
1677
775e7a4e 16782004-09-24 Zack Weinberg <zack@codesourcery.com>
1679
1680 * objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION
1681 throughout.
1682 (objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION.
1683 (build_selector_translation_table): Use %J in diagnostic
1684 instead of diddling input_line. Fix spelling.
1685
e151b250 16862004-09-21 Ziemowit Laski <zlaski@apple.com>
1687
1688 * objc-act.c (objc_fold_objc_type_ref): New function.
1689 * objc-act.h (objc_fold_objc_type_ref): New prototype.
1690
ac206aff 16912004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
1692
1693 * objc-act.c (objc_start_function, really_start_method,
1694 objc_get_parm_info, start_method_def): Update to new arg_info
1695 structures.
1696
13dcc150 16972004-09-07 Ziemowit Laski <zlaski@apple.com>
1698
1699 * Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of
1700 objc/objc-act.h.
1701 (objc/objc-act.o): Depend on $(HASHTAB_H).
1702 * objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and
1703 objcp-decl.h instead of c-tree.h.
1704 (build_module_descriptor, get_class_ivars, synth_id_with_class_suffix,
1705 error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl,
1706 build_protocol_template): Adjust prototypes.
1707 (build_module_initializer_routine, start_class, continue_class,
1708 finish_class, start_method_def, objc_start_function, start_protocol,
1709 build_method_decl, objc_add_method, add_instance_variable,
1710 build_ivar_reference, is_ivar, is_private, get_super_receiver,
1711 build_selector_table_decl, objc_push_parm, objc_get_parm_info,
1712 gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl,
1713 create_field_decl): New prototypes.
1714 (objc_expand_function_end, comp_method_with_proto, objc_expr_last,
1715 gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl,
1716 define_decl, create_builtin_decl, gen_declspecs): Remove prototypes.
1717 (TYPE_ID): Rename to OBJECT_TYPEDEF_NAME.
1718 (CLASS_TYPEDEF_NAME): New.
1719 (TAG_EXECCLASS): Change from a global variable to a #define.
1720 (TAG_RETURN_STRUCT): Delete.
1721 (TAG_GNUINIT): New, holds '__objc_gnu_init' name.
1722 (objc_inherit_code, objc_public_flag): New, moved from c-parse.in.
1723 (string_descriptor): New struct.
1724 (string_htab): New hash table.
1725 (string_hash, string_eq): New prototypes.
1726 (generate_struct_by_value_array): Call create_field_decl() instead of
1727 create_builtin_decl().
1728 (objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS;
1729 In ObjC++ mode, call cxx_init() instead of c_objc_common_init().
1730 (objc_finish_file): In ObjC++, call instantiate_pending_templates()
1731 and cp_finish_file().
1732 (define_decl, get_static_reference, get_protocol_reference,
1733 create_builtin_decl): Remove functions.
1734 (objc_start_class_interface, objc_start_category_interface,
1735 objc_start_protocol, objc_continue_interface, objc_finish_interface,
1736 objc_start_class_implementation, objc_start_category_implementation,
1737 objc_continue_implementation, objc_finish_implementation,
1738 objc_set_visibility, objc_set_method_type,
1739 objc_build_method_signature, objc_add_method_declaration,
1740 objc_start_method_definition, objc_add_instance_variable,
1741 objc_get_protocol_qualified_type, create_field_decl,
1742 start_var_decl, finish_var_decl): New functions.
1743 (setup_string_decl): Simplify since it is only called once.
1744 (synth_module_prologue): Call build_class_template(); predefine 'id'
1745 and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug
1746 hooks for duration of function; fix GNU runtime messenger signatures
1747 to correspond to reality; forward-declare '__objc_exec_class' for the
1748 GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate
1749 'extern "C" { ... }' wrappers around synthesized declarations; call
1750 build_protocol_template() and build_category_template().
1751 (string_hash, string_eq): New functions.
1752 (objc_build_string_object): Check metaclass correctness only once;
1753 store string literals in hash table.
1754 (objc_build_constructor): Do not convert initializer elements;
1755 adjust for ObjC++ impedance mismatch.
1756 (build_objc_symtab_template): Call create_field_decl() instead of
1757 create_builtin_decl().
1758 (init_objc_symtab): Add missing conversion to initializer element.
1759 (build_metadata_decl): Call start_var_decl() instead of define_decl().
1760 (generate_objc_symtab_decl): Do not call build_category_template();
1761 call start_var_decl() and finish_var_decl() instead of start_decl()
1762 and finish_decl().
1763 (build_module_descriptor): Call create_field_decl() instead of
1764 grokfield(); call start_var_decl() and finish_var_decl() instead of
1765 start_decl() and finish_decl(); always mark module descriptor as
1766 used; move GNU runtime-specific functionality to
1767 build_module_initializer_routine().
1768 (build_module_initializer_routine): New function, broken off of
1769 build_module_descriptor().
1770 (objc_static_init_needed_p, objc_generate_static_init_call): New
1771 functions.
1772 (generate_static_references, generate_strings,
1773 build_selector_translation_table, generate_descriptor_table,
1774 generate_ivars_list, generate_dispatch_table, generate_category): Call
1775 start_var_decl() and finish_var_decl() instead of start_decl() and
1776 finish_decl(); build a type directly instead of via groktypename().
1777 (build_selector_reference_decl, build_selector_table_decl,
1778 build_class_reference_decl, build_protocol_reference,
1779 generate_objc_image_info): Call start_var_decl() instead of
1780 build_decl().
1781 (build_selector_reference): For GNU runtime, do not call
1782 build_selector_reference_decl().
1783 (build_selector, build_typed_selector_reference): Always convert
1784 result to the selector type.
1785 (add_objc_string): Cast return value to 'char *'.
1786 (build_method_prototype_template, build_selector_template,
1787 build_method_template): Use actual selector type for fields
1788 pointing to selectors.
1789 (finish_objc): For GNU runtime, call
1790 build_module_initializer_routine() after build_module_descriptor().
1791 (generate_protocol_list, generate_shared_structures): Call
1792 start_var_decl() and finish_var_decl() instead of start_decl() and
1793 finish_decl(); build a type directly instead of via
1794 groktypename().
1795 (synth_id_with_class_suffix): Return a string.
1796 (get_arg_type_list): For instance methods, use the instance type for
1797 'self'; do not call groktypename_in_parm_context().
1798 (build_objc_string_decl): Squash redeclaration errors in ObjC++.
1799 (objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME;
1800 handle RECORD_TYPEs in ObjC as well as ObjC++.
1801 (objc_is_id): New function.
1802 (objc_is_object_ptr): Return the canonical type node.
1803 (objc_get_class_ivars): Simplify using get_class_ivars().
1804 (get_class_ivars): Remove second parameter; create a fresh copy
1805 of the ivar list for each call; do not check for existence of
1806 super class.
1807 (objc_eh_runtime_type): Mark #ifndef OBJCPLUS.
1808 (objc_init_exceptions): When using SJLJ-style exceptions, require
1809 the use of '-fobjc-exceptions' flag; do not require it for DWARF-style
1810 exceptions.
1811 (objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use
1812 objc_object_type instead of objc_id_type.
1813 (objc_begin_catch_clause): Convert the incoming PARM_DECL into
1814 a VAR_DECL before placing it in the appropriate scope; do not
1815 call define_decl(); adjust call to c_begin_compound_stmt();
1816 use objc_object_type instead of objc_id_type.
1817 (build_next_objc_exception_stuff): Call create_field_decl() instead
1818 of create_builtin_decl(); construct type directly instead of calling
1819 groktypename(); use OBJC_VOID_AT_END to mark end of function parameters.
1820 (build_private_template): Adjust call to get_class_ivars(); build
1821 a type directly instead of via groktypename().
1822 (build_protocol_template, build_method_prototype_list_template,
1823 build_method_prototype_template, build_category_template,
1824 build_selector_template, build_class_template, build_super_template,
1825 build_ivar_template, build_ivar_list_template,
1826 build_method_list_template, build_method_template):
1827 Call create_field_decl() instead of grokfield().
1828 (objc_method_parm_type): Do not call groktypename().
1829 (generate_descriptor_table): Call start_var_decl() and
1830 finish_var_decl() instead of start_decl() and finish_decl().
1831 (generate_method_descriptors, build_protocol_initializer,
1832 generate_dispatch_tables, build_category_initializer,
1833 build_shared_structure_initializer): Do not call groktypename().
1834 (generate_protocols): Call start_var_decl() and finish_var_decl()
1835 instead of start_decl() and finish_decl(); do not call groktypename().
1836 (error_with_ivar): Remove last parameter.
1837 (check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition
1838 to CLASS_IVARS lists; adjust calls to error_with_ivar().
1839 (generate_ivar_lists): Convert one of the initializer elements; do
1840 not call groktypename().
1841 (get_arg_type_list, start_method_def, gen_method_def): Account for
1842 new representation of variable arguments and '...' in Objective-C
1843 methods; add Objective-C++ impedance matching code.
1844 (is_objc_type_qualifier): Remove function.
1845 (adjust_type_for_id_default): Simplify; there is no longer a need to
1846 wade through declspecs.
1847 (lookup_interface, start_class, continue_class,
1848 finish_class, start_method_def, start_protocol, build_method_decl,
1849 objc_add_method, add_instance_variable, build_ivar_reference,
1850 is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue):
1851 Make into static functions.
1852 (receiver_is_class_object): Use new IS_CLASS() macro.
1853 (objc_build_message_expr): Tweak ObjC++ message argument handling;
1854 call objc_finish_message_expr() instead of finish_message_expr().
1855 (finish_message_expr): Rename to objc_finish_message_expr(); use
1856 OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME.
1857 call gen_type_name() instead of gen_declaration(); call objc_is_id()
1858 instead of using IS_ID and IS_CLASS; Use objc_class_name instead of
1859 calling get_identifier("Class"); handle CONVERT_EXPRs in receiver.
1860 (build_objc_method_call, warn_with_method): Do not call groktypename().
1861 (build_ivar_reference): Call convert() instead of clobbering in a
1862 type.
1863 (hash_init): Initialize string_htab hash table.
1864 (add_instance_variable): Simplify parameter list; do not call grokfield();
1865 do not populate CLASS_IVARS list.
1866 (start_class): Check for the existence of super class, if one was specified.
1867 (continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not
1868 call build_class_template(); adjust call to get_class_ivars(); call
1869 build_decl(), pushdecl() and finish_decl() instead of define_decl().
1870 (finish_class): Call build_decl(), pushdecl() and finish_decl() instead
1871 of define_decl().
1872 (add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size.
1873 (start_protocol): Do not call build_protocol_template(); use
1874 PROTOCOL_BINFO_ELTS for the tree vector size.
1875 (encode_type_qualifiers): Do not handle the 'const' qualifier here.
1876 (encode_pointer): Encode 'const char *' as 'r*', for backwards
1877 compatibility.
1878 (encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld".
1879 (encode_type): Handle the 'const' qualifier here.
1880 (objc_parmlist): New global variable, sued by objc_push_parm and
1881 objc_get_parm_info().
1882 (objc_push_parm, objc_get_parm_info): New functions.
1883 (objc_expr_last): Remove function.
1884 (synth_self_and_ucmd_args): For instance methods, use the instance
1885 type for 'self'; call objc_push_parm() instead of push_parm_decl().
1886 (start_method_def): Do not call push_scope(), declare_parm_level(),
1887 pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last();
1888 just use objc_push_parm() and objc_get_parm_info().
1889 (comp_method_with_proto): Remove function.
1890 (objc_types_are_equivalent): Strip away indirections before comparing
1891 underlying types.
1892 (comp_proto_with_proto): Do not call groktypename(); types are no
1893 longer in raw declspec format.
1894 (objc_start_function): New function.
1895 (really_start_method): Call comp_proto_with_proto() instead of
1896 comp_method_with_proto(); call objc_start_function() instead of
1897 hand-crafting a function declarator.
1898 (continue_method_def, objc_expand_function_end): Remove functions.
1899 (get_super_receiver): Call objc_get_current_scope() instead of
1900 get_current_scope(); reference 'super_class' field (instead of
1901 'class').
1902 (finish_method_def): Rename to objc_finish_method_definition() and
1903 add a function decl parameter; move method encoding call from
1904 objc_expand_function_end().
1905 (is_complex_decl, adorn_decl, gen_declarator, gen_declspecs,
1906 gen_declaration_1): Remove functions.
1907 (tmpbuf, RAW_DECLSPEC): Remove.
1908 (gen_declaration): Remove second parameter; simplify to deal
1909 with TYPE_P nodes instead of raw declspecs.
1910 (gen_type_name, gen_type_name_0): New functions.
1911 (gen_method_decl): Remove second parameter; call gen_type_name()
1912 instead of gen_declaration_1().
775e7a4e 1913 (dump_interface): Adjust calls to gen_declaration() and
13dcc150 1914 gen_method_decl(); do not allocate a separate string buffer.
1915 (init_objc): Allocate a larger string buffer to accommodate
1916 dump_interface(); adjust call to build_module_descriptor();
1917 add call to build_module_initializer_routine() for the GNU
1918 runtime.
1919 (generate_classref_translation_entry): Do not call start_decl(); call
1920 finish_var_decl() instead of finish_decl(); call convert() instead of
1921 build_c_cast().
1922 * objc-act.h (CLASS_OWN_IVARS): Remove accessor.
1923 (CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is
1924 gone.
1925 (OCTI_GNU_INIT_DECL, GNU_INIT_decl): New.
1926 (OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove.
1927 (OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME,
1928 objc_object_type and objc_object_name, respectively.
1929 (OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference,
1930 objc_class_name): New.
1931 (IS_CLASS): New macro.
1932 (IS_ID, IS_SUPER): Robustify.
1933 (OCTI_EXECCLASS_DECL, execclass_decl): New.
1934 (finish_file, start_class, continue_class, finish_class,
1935 start_method_def, continue_method_def, finish_method_def,
1936 start_protocol, finish_protocol, objc_build_throw_stmt,
1937 objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
1938 objc_build_synchronized_epilogue, objc_build_try_prologue,
1939 objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue,
1940 objc_build_finally_prologue, objc_build_finally_epilogue,
1941 is_ivar, is_private, is_public, add_instance_variable, objc_add_method,
1942 get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name,
1943 get_class_reference, get_static_reference, get_object_reference,
1944 build_message_expr, finish_message_expr, build_selector_expr,
1945 build_ivar_reference, build_keyword_decl, build_method_decl,
1946 build_protocol_expr, build_objc_string_object, objc_declare_alias,
1947 objc_declare_class, objc_declare_protocols, objc_comptypes,
1948 objc_check_decl, build_encode_expr): Remove prototypes.
1949 (imp_count, cat_count): Make GGC-aware.
1950 (OBJC_SET_TYPE_NAME): New macro.
775e7a4e 1951
89359403 19522004-09-03 Ziemowit Laski <zlaski@apple.com>
1953
1954 * config-lang.in: Update copyright notice.
1955 (lang_requires): Indicate that ObjC requires C to be built first.
1956
66eb9e7e 19572004-09-01 Ziemowit Laski <zlaski@apple.com>
1958
1959 * objc-act.c (objc_check_decl): Use OBJC_TYPE_NAME macro instead of
1960 TYPE_NAME.
1961 (build_objc_string_object): Rename to objc_build_string_object().
1962 (get_class_reference): Rename to objc_get_class_reference().
1963 (get_class_ivars_from_name): Rename to objc_get_class_ivars().
1964 (next_sjlj_build_catch_list, get_super_receiver): Call
1965 objc_get_class_reference() instead of get_class_reference().
1966 (build_keyword_decl): Rename to objc_build_keyword_decl().
1967 (build_message_expr): Rename to objc_build_message_expr().
1968 (build_protocol_expr): Rename to objc_build_protocol_expr().
1969 (build_selector_expr): Rename to objc_build_selector_expr().
1970 (build_encode_expr): Rename to objc_build_encode_expr().
1971 * objc-act.h (get_class_ivars_from_name): Rename prototype to
1972 objc_get_class_ivars().
1973 (get_class_reference): Rename prototype to objc_get_class_reference().
1974 (build_message_expr): Rename prototype to objc_build_message_expr().
1975 (build_selector_expr): Rename prototype to objc_build_selector_expr().
1976 (build_keyword_decl): Rename prototype to objc_build_keyword_decl().
1977 (build_protocol_expr): Rename prototype to objc_build_prototype_expr().
1978 (build_objc_string_object): Rename prototype to
1979 objc_build_string_object().
775e7a4e 1980
99d7d801 19812004-09-01 Ziemowit Laski <zlaski@apple.com>
1982
1983 * objc-act.c (lookup_interface): Make function 'static' and add a
1984 local prototype.
1985 (objc_check_decl, get_class_reference, objc_declare_alias,
1986 objc_declare_class, objc_is_object_ptr): Call objc_is_class_name()
1987 instead of is_class_name().
775e7a4e 1988 (get_super_receiver, objc_clear_super_receiver): Call
99d7d801 1989 objc_get_current_scope() instead of get_current_scope().
1990 (is_class_name): Rename to objc_is_class_name.
1991 (lookup_objc_ivar): Rename to objc_lookup_ivar.
1992
11a35d8f 19932004-08-28 Ziemowit Laski <zlaski@apple.com>
1994
1995 * objc-act.c (objc_is_reserved_word): New function.
1996
800b56f2 19972004-08-15 Ziemowit Laski <zlaski@apple.com>
1998
1999 * Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H),
2000 $(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h.
2001 (objc/objc-parse.o): Do not depend on gtype-objc.h.
2002 * objc-act.c: Do not include gtype-objc.h.
2003 (finish_file): Rename to objc_finish_file().
2004 * objc-act.h (finish_file): Update copyright notice; remove prototype.
2005 * objc-lang.c: Update copyright notice; include diagnostic.h,
2006 c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include
2007 toplev.h.
2008 (finish_file): New hook routine.
2009 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
2010 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
2011 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
775e7a4e 2012 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
2013 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
800b56f2 2014 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
2015 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
775e7a4e 2016 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
800b56f2 2017 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
2018 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
2019 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
2020 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
2021 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
2022 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2023 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2024 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
2025 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
2026 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
2027 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
2028 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
2029 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
2030 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
2031 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
2032 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
2033 Move to c-objc-common.h.
7dfbd804 2034
2035\f
2036Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
2037
2038Copying and distribution of this file, with or without modification,
2039are permitted in any medium without royalty provided the copyright
2040notice and this notice are preserved.