]>
Commit | Line | Data |
---|---|---|
a75b1c71 | 1 | 2009-03-29 Joseph Myers <joseph@codesourcery.com> |
2 | ||
3 | PR c/456 | |
4 | PR c/5675 | |
5 | PR c/19976 | |
6 | PR c/29116 | |
7 | PR c/31871 | |
8 | PR c/35198 | |
9 | * objc-act.c (objc_finish_try_stmt): Set in_late_binary_op. | |
10 | ||
9322d72e | 11 | 2008-12-05 Sebastian Pop <sebastian.pop@amd.com> |
29bb3e39 | 12 | |
13 | PR bootstrap/38262 | |
14 | * Make-lang.in (cc1obj-dummy, cc1obj): Add BACKENDLIBS, | |
15 | remove GMPLIBS. | |
16 | ||
b6889cb0 | 17 | 2008-10-06 Aldy Hernandez <aldyh@redhat.com> |
18 | ||
19 | * objc-act.c (objc_build_string_object): Pass location to | |
20 | build_unary_op. | |
21 | (init_def_list): Same. | |
22 | (init_objc_symtab): Same. | |
23 | (init_module_descriptor): Same. | |
24 | (build_module_initializer_routine): Same. | |
25 | (generate_static_references): Same. | |
26 | (build_typed_selector_reference): Same. | |
27 | (add_objc_string): Same. | |
28 | (objc_substitute_decl): Same. | |
29 | (objc_build_ivar_assignment): Same. | |
30 | (objc_build_global_assignment): Same. | |
31 | (objc_build_strong_cast_assignment): Same. | |
32 | (generate_protocols): Same. | |
33 | (build_protocol_initializer): Same. | |
34 | (build_dispatch_table_initializer): Same. | |
35 | (generate_protocol_list): Same. | |
36 | (build_category_initializer): Same. | |
37 | (build_shared_structure_initializer): Same. | |
38 | (generate_shared_structures): Same. | |
39 | (objc_build_protocol_expr): Same. | |
40 | (build_ivar_reference): Same. | |
41 | (get_super_receiver): Same. | |
42 | ||
8e70fb09 | 43 | 2008-09-23 Aldy Hernandez <aldyh@redhat.com> |
44 | ||
45 | * objc-act.c (next_sjlj_build_enter_and_setjmp): Call | |
46 | c_common_truthvalue_conversion with location. | |
47 | (next_sjlj_build_catch_list): Same. | |
48 | (next_sjlj_build_try_catch_finally): Same. | |
49 | ||
4cd62850 | 50 | 2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com> |
51 | ||
52 | PR objc/37460 | |
53 | * objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define. | |
54 | * objc-act.h (objc_get_callee_fndecl): Remove prototype. | |
55 | * objc-act.c (objc_get_callee_fndecl): Kill. | |
56 | ||
73b5e722 | 57 | 2008-09-17 Jan Hubicka <jh@suse.cz> |
58 | ||
59 | PR c++/18071 | |
60 | * objc/objc-act.c (objc_finish_method_definition): Do not set | |
61 | DECL_INLINE. | |
62 | ||
dda49785 | 63 | 2008-09-01 Aldy Hernandez <aldyh@redhat.com> |
64 | ||
65 | * objc-act.c (build_typed_selector_reference): Pass input_location to | |
66 | build_unary_op calls. | |
67 | (build_selector_reference): Same, but to build_array_ref. | |
68 | (objc_substitute_decl): Same. | |
69 | (build_ivar_reference): Same, but to build_indirect_ref. | |
70 | (get_super_receiver): Same. | |
71 | ||
75a70cf9 | 72 | 2008-07-28 Richard Guenther <rguenther@suse.de> |
73 | ||
74 | Merge from gimple-tuples-branch. | |
75 | ||
76 | 2008-07-18 Aldy Hernandez <aldyh@redhat.com> | |
77 | ||
78 | * Make-lang.in (objc-lang.o): Depend on GIMPLE_H. | |
79 | (objc-act.o): Rename TREE_GIMPLE_H to GIMPLE_H. | |
80 | * objc-act.h: Include gimple.h instead of tree-gimple.h. | |
81 | * ipa-reference.c: Same. | |
82 | ||
83 | 2007-11-10 Aldy Hernandez <aldyh@redhat.com> | |
84 | ||
85 | * objc-act.c (objc_gimplify_expr): Change pre and post to sequences. | |
86 | * objc-act.h (objc_gimplify_expr): Change prototype accordingly. | |
87 | ||
08cc44e7 | 88 | 2008-07-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
89 | ||
90 | * objc-act.c: Fix comment typos. | |
91 | ||
ceb0f408 | 92 | 2008-07-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
93 | ||
94 | * objc-act.c (objc_start_class_interface, | |
95 | objc_start_category_interface, objc_start_class_implementation, | |
96 | objc_start_category_implementation, objc_build_struct, | |
97 | generate_static_references, build_private_template, | |
98 | lookup_category, objc_add_method, add_category, | |
99 | add_instance_variable, objc_is_public, conforms_to_protocol, | |
100 | start_class, continue_class, finish_class): Avoid C++ keywords. | |
101 | ||
b4d6f57b | 102 | 2008-07-14 Jason Merrill <jason@redhat.com> |
103 | ||
104 | PR objc++/36723 | |
105 | * objc-act.c (objc_build_constructor): Update C++ tweak. | |
106 | ||
d3eff7bb | 107 | 2007-07-14 Rafael Ávila de Espíndola <espindola@google.com> |
7cb6f926 | 108 | |
109 | * objc-act.c (synth_module_prologue): Use TREE_NO_WARNING instead | |
110 | of DECL_IN_SYSTEM_HEADER. | |
111 | ||
5c6e5756 | 112 | 2008-07-11 Ian Lance Taylor <iant@google.com> |
113 | ||
114 | * objc-act.c (objc_is_reserved_word): Always check for RID_CLASS, | |
115 | etc., not just when OBJCPLUS is defined. | |
116 | ||
25a1c410 | 117 | 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
118 | ||
119 | * objc-act.c (setup_string_decl, objc_build_string_object, | |
120 | hash_interface, eq_interface, objc_begin_try_stmt, | |
121 | encode_method_prototype, build_ivar_list_initializer, | |
122 | objc_build_encode_expr): Fix for -Wc++-compat. | |
123 | ||
92cce2b2 | 124 | 2008-05-12 Tomas Bily <tbily@suse.cz> |
125 | ||
126 | * objc-act.c (objc_generate_write_barrier, objc_finish_message_expr): | |
127 | Use CONVERT_EXPR_P. | |
128 | ||
c7d4e749 | 129 | 2008-04-23 Paolo Bonzini <bonzini@gnu.org> |
130 | ||
131 | * objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT. | |
132 | ||
6fb2153a | 133 | 2008-04-03 Tom Tromey <tromey@redhat.com> |
134 | ||
135 | * Make-lang.in (objc_OBJS): New variable. | |
136 | ||
21886706 | 137 | 2008-03-27 Tom Tromey <tromey@redhat.com> |
138 | ||
139 | * Make-lang.in: Revert automatic dependency patch. | |
140 | ||
717ecce9 | 141 | 2008-03-27 Douglas Gregor <doug.gregor@gmail.com> |
142 | ||
143 | PR obj-c++/35704 | |
144 | * objc-act.c (objc_build_component_ref): Fix call to | |
145 | finish_class_member_access_expr. | |
146 | (objc_generate_cxx_ctor_or_dtor): Fix call to | |
147 | build_special_member_call. | |
148 | ||
e226f54f | 149 | 2008-03-25 Andrew Pinski <pinskia@gmail.com> |
150 | ||
151 | PR objc/29197 | |
152 | * objc-act.c (encode_type): Handle when type is error_mark_node. | |
153 | (objc_push_parm): Handle when the type of parm is error_mark_node. | |
154 | ||
277b05bb | 155 | 2008-03-25 Tom Tromey <tromey@redhat.com> |
156 | ||
157 | * Make-lang.in (objc_OBJS): New variable. | |
158 | (cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove. | |
159 | ||
3594ce91 | 160 | 2008-03-21 Andreas Tobler <a.tobler@schweiz.org> |
161 | ||
162 | PR bootstrap/35660 | |
163 | * objc-act.c (objc_generate_cxx_ctor_or_dtor): Rename IS_AGGR_TYPE to | |
164 | MAYBE_CLASS_TYPE_P. | |
165 | (objc_generate_cxx_cdtors): Likewise. | |
166 | (add_instance_variable): Likewise. | |
167 | ||
9c85a98a | 168 | 2008-02-26 Tom Tromey <tromey@redhat.com> |
169 | ||
170 | * objc-act.c (objc_init): Remove old location code. | |
171 | ||
6ca01c3b | 172 | 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
173 | ||
174 | PR other/35107 | |
175 | * Make-lang.in (cc1obj-dummy, cc1obj): Add $(GMPLIBS). | |
176 | ||
c3adda75 | 177 | 2007-07-30 Nick Clifton <nickc@redhat.com> |
178 | ||
179 | * Make-lang.in: Change copyright header to refer to version 3 of | |
180 | the GNU General Public License and to point readers at the | |
181 | COPYING3 file and the FSF's license web page. | |
182 | * lang-specs.h, objc-act.c, objc-tree.def, objc-act.h, | |
183 | config-lang.in, objc-lang.c: Likewise. | |
184 | ||
b7bf20db | 185 | 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
186 | ||
187 | * objc-act.c (objc_get_callee_fndecl): Constify. | |
188 | * objc-act.h (objc_get_callee_fndecl): Likewise. | |
189 | ||
aae87fc3 | 190 | 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
191 | ||
192 | * objc-act.c (volatilized_hash, volatilized_eq, string_hash, | |
193 | string_eq): Constify. | |
194 | ||
2a3c85c8 | 195 | 2007-04-04 Stuart Hastings <stuart@apple.com> |
196 | ||
197 | PR 31281 | |
198 | * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl. | |
199 | ||
52df3169 | 200 | 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com> |
201 | ||
202 | * Make-lang.in: Add dummy lang.install-pdf target. | |
203 | ||
97419919 | 204 | 2007-02-18 Kazu Hirata <kazu@codesourcery.com> |
205 | ||
206 | * objc/objc-act.c: Fix comment typos. | |
207 | ||
c2f47e15 | 208 | 2007-02-15 Sandra Loosemore <sandra@codesourcery.com> |
209 | Brooks Moses <brooks.moses@codesourcery.com> | |
210 | Lee Millward <lee.millward@codesourcery.com> | |
211 | ||
212 | * objc-act.c (receiver_is_class_object): Use new CALL_EXPR accessors. | |
213 | (objc_get_callee_fndecl): Likewise. | |
214 | ||
da2f0f2c | 215 | 2007-01-23 Andrew Pinski <pinskia@gmail.com> |
216 | ||
217 | PR objc/27438 | |
218 | * objc-act.c (objc_add_static_instance): Mark the decl as | |
219 | TREE_USED. | |
220 | ||
7eb56ad3 | 221 | 2007-01-20 Andrew Pinski <pinskia@gmail.com> |
222 | ||
223 | PR objc/30479 | |
224 | * objc-act.c (hash_interface): Use IDENTIFIER_HASH_VALUE instead | |
225 | of htab_hash_pointer. | |
226 | (lookup_interface): Likewise. | |
227 | (add_class): Likewise. | |
228 | ||
6753bca0 | 229 | 2007-01-02 Douglas Gregor <doug.gregor@gmail.com> |
230 | ||
231 | * objc-act.c (objc_build_volatilized_type): Keep track of | |
232 | canonical types. | |
233 | (objc_get_protocol_qualified_type): Ditto. | |
234 | ||
718149a3 | 235 | 2006-11-02 Andreas Tobler <a.tobler@schweiz.org> |
236 | ||
237 | * objc-act.c (objc_finish_file): Remove ifdef clause for OBJCPLUS and | |
238 | content where we called cp_finish_file. | |
239 | ||
d3eff7bb | 240 | 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
54be5d7e | 241 | |
242 | * objc-act.c (synth_module_prologue): Replace calls to | |
243 | builtin_function with add_builtin_function. | |
244 | (build_next_objc_exception_stuff): Replace calls to | |
245 | builtin_function with add_builtin_function. | |
246 | (build_objc_exception_stuff): Replace calls to | |
247 | builtin_function with add_builtin_function. | |
248 | ||
51f93521 | 249 | 2006-10-10 Brooks Moses <bmoses@stanford.edu> |
250 | ||
251 | * Make-lang.in: Added empty "objc.pdf" target. | |
252 | ||
ea028b59 | 253 | 2006-09-26 Andrew Pinski <pinskia@physics.uc.edu> |
254 | ||
255 | PR objc/29195 | |
256 | * objc-act.c (objc_push_parm): If we change the type of the | |
257 | decl, relayout the decl. | |
258 | ||
6db57367 | 259 | 2006-09-19 Eric Christopher <echristo@apple.com> |
260 | ||
261 | * objc-act.c (JBLEN): Rename to OBJC_JBLEN, | |
262 | default to something innocuous. | |
263 | (build_next_objc_exception_stuff): Rename JBLEN. | |
264 | ||
e85b0b9f | 265 | 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
266 | ||
267 | * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies. | |
268 | ||
77874a3c | 269 | 2006-07-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
270 | ||
271 | PR obj-c++/28434 | |
272 | * objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes. | |
273 | ||
15b5961f | 274 | 2006-06-06 Mike Stump <mrs@apple.com> |
275 | ||
276 | * objc-act.c: Remove prototype for objc_build_volatilized_type. | |
277 | ||
8d6b10e2 | 278 | 2006-05-24 Mike Stump <mrs@apple.com> |
279 | ||
280 | * objc-act.c (build_next_objc_exception_stuff): Use JBLEN instead of _JBLEN. | |
281 | ||
ed672485 | 282 | 2006-05-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
283 | ||
284 | PR objc/27240 | |
285 | * objc-act.c (objc_is_public): Return early on invalid type. | |
286 | ||
30f66f51 | 287 | 2006-03-02 Fariborz Jahanian <fjahanian@apple.com> |
288 | ||
289 | * objc-act.c (init_module_descriptor): Remove file name from | |
290 | module descriptor. | |
291 | (gen_type_name_0): Fix ICE when issuing warning. | |
292 | ||
d3eff7bb | 293 | 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
9f30f9e7 | 294 | * Make-lang.in (OBJC): Remove |
295 | (OBJECTIVE-C): Remove | |
296 | (objective-c): Remove | |
297 | (.PHONY): Remove objective-c and ObjC | |
298 | ||
0ee579cd | 299 | 2005-12-14 Andrew Pinski <pinskia@physics.uc.edu> |
300 | ||
301 | PR objc/25360 | |
8d6b10e2 | 302 | * objc/objc-act.c (encode_type): Encode Complex types as 'j' followed |
303 | by the inner type. | |
0ee579cd | 304 | |
c4e3ffb1 | 305 | 2005-12-12 Andrew Pinski <pinskia@physics.uc.edu> |
306 | ||
307 | PR objc/25348 | |
308 | * objc-act.c (encode_array): Handle arrays to zero sized types. | |
309 | ||
d3eff7bb | 310 | 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
ae6555f9 | 311 | |
312 | * Make-lang.in (objc.all.build, objc.install-normal): Remove. | |
313 | ||
d3eff7bb | 314 | 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
758e52e0 | 315 | |
316 | * Make-lang.in: Remove all dependencies on s-gtype. | |
317 | ||
a3a36c39 | 318 | 2005-12-02 Richard Guenther <rguenther@suse.de> |
319 | ||
320 | * objc-act.c (objc_build_exc_ptr, next_sjlj_build_enter_and_setjmp | |
321 | next_sjlj_build_exc_extract, next_sjlj_build_catch_list, | |
322 | next_sjlj_build_try_catch_finally, objc_begin_catch_clause, | |
323 | build_objc_method_call, objc_rewrite_function_call): Use buildN | |
324 | instead of build. | |
325 | ||
41cac6ed | 326 | 2005-10-20 Geoffrey Keating <geoffk@apple.com> |
327 | ||
328 | * objc-act.c (synth_module_prologue): Clear TREE_NOTHROW | |
329 | on objc_msgSend and like builtin functions. | |
330 | ||
53d4f63c | 331 | 2005-10-17 Andreas Krebbel <krebbel1@de.ibm.com> |
332 | ||
fdf0e229 | 333 | * objc-act.c (objc_build_component_ref): Adjust call to |
53d4f63c | 334 | finish_class_member_access_expr due to a changed prototype. |
335 | ||
1cff51e3 | 336 | 2005-08-31 Andrew Pinski <pinskia@physics.uc.edu> |
337 | ||
338 | PR objc/23306 | |
339 | * objc-act.c (generate_strings): Remove and move code to | |
340 | finish decl to ... | |
341 | (add_objc_string): here when creating a new string decl. | |
342 | (finish_objc): Don't call generate_strings. | |
343 | ||
c2400746 | 344 | 2005-08-31 Andrew Pinski <pinskia@physics.uc.edu> |
345 | ||
346 | PR objc/23381 | |
347 | * objc-act.c (next_sjlj_build_try_catch_finally): Set | |
348 | TREE_SIDE_EFFECTS on catch_seq after building it. | |
349 | ||
9d44cae2 | 350 | 2005-08-09 Andrew Pinski <pinskia@physics.uc.edu> |
351 | ||
352 | part of PR objc/21992 | |
353 | * objc-act.c (handle_class_ref): The ref decl is always referenced. | |
354 | ||
c75b4594 | 355 | 2005-07-20 Giovanni Bajo <giovannibajo@libero.it> |
356 | ||
357 | Make CONSTRUCTOR use VEC to store initializers. | |
358 | * objc-act.c (objc_build_constructor): Use build_constructor_from_list | |
359 | instead of build_constructor. | |
360 | ||
5ded8c6f | 361 | 2005-07-08 Daniel Berlin <dberlin@dberlin.org> |
fdf0e229 | 362 | |
5ded8c6f | 363 | * objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is |
364 | removed. | |
365 | * objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common. | |
366 | (KEYWORD_KEY_NAME): Use decl_minimal. | |
367 | (METHOD_SEL_NAME): Ditto.. | |
368 | (METHOD_SEL_ARGS): Use decl_non_common. | |
369 | (METHOD_ADD_ARGS): Ditto. | |
370 | (METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common. | |
371 | (METHOD_DEFINITION): Ditto. | |
372 | (METHOD_ENCODING): Ditto. | |
373 | * objc-lang.c: (objc_init_ts): New function. | |
374 | ||
8e1be677 | 375 | 2005-07-07 Ziemowit Laski <zlaski@apple.com> |
376 | ||
377 | * objc-act.c (objc_build_struct): Pass in an actual @interface | |
378 | instead of its name, and annotate the struct created (and all | |
379 | existing variants thereof) with the @interface. | |
380 | (objc_compare_types): Treat forward-declared ObjC classes | |
381 | as stand-alone (root) classes for purposes of type comparisons. | |
382 | (build_private_template): Move some code to objc_build_struct(). | |
383 | ||
99469381 | 384 | 2005-07-07 Ziemowit Laski <zlaski@apple.com> |
385 | ||
386 | PR objc/22274 | |
387 | * objc-act.c (objc_build_string_object): For GNU-style constants, | |
388 | use the @interface type rather than the built-in type. | |
389 | ||
bd06ecb6 | 390 | 2005-07-03 Kazu Hirata <kazu@codesourcery.com> |
391 | ||
392 | * Make-lang.in (cc1plus-checksum.c): Use | |
393 | build/genchecksum$(build_exeext), not build/genchecksum$(exeext). | |
394 | ||
3284a242 | 395 | 2005-07-02 Joseph S. Myers <joseph@codesourcery.com> |
396 | ||
397 | * objc-act.c: Use %q to quote in diagnostics. | |
398 | ||
3cf8b391 | 399 | 2005-07-02 Joseph S. Myers <joseph@codesourcery.com> |
400 | ||
401 | * objc-act.c: Use '+' flag instead of %J. Use 'q' flag for | |
402 | quoting. | |
403 | ||
4dfa7ebc | 404 | 2005-06-30 Ziemowit Laski <zlaski@apple.com> |
405 | ||
406 | * objc-act.c (objc_build_volatilized_type): New function. | |
407 | (objc_volatilize_decl): Call objc_build_volatilized_type() | |
408 | instead of build_qualified_type(). | |
409 | ||
0616a948 | 410 | 2005-06-29 Ziemowit Laski <zlaski@apple.com> |
411 | ||
412 | * objc-act.c (objc_build_internal_const_str_type): New function. | |
413 | (check_string_class_template): Use objc_get_class_ivars() instead | |
414 | of TYPE_FIELDS() to retrieve ivar list. | |
415 | (AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather | |
416 | than the field itself. | |
417 | (objc_build_string_object): Synthesize a "__builtin_ObjCString" | |
418 | type and use it to lay out compile-time string objects. | |
419 | * objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type): | |
420 | New. | |
421 | ||
1774763d | 422 | 2005-06-28 Paul Brook <paul@codesourcery.com> |
423 | ||
424 | * objc-act.c (objc_init_exceptions): Call | |
425 | default_init_unwind_resume_libfunc. | |
426 | ||
0bee387e | 427 | 2005-06-27 Ziemowit Laski <zlaski@apple.com> |
428 | ||
429 | * objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO | |
430 | portion of TYPE_LANG_SPECIFIC info for all variants of | |
431 | a class before calling finish_struct(), and restore | |
432 | same TYPE_OBJC_INFO afterwards. | |
433 | ||
85b2164b | 434 | 2005-06-25 Kelley Cook <kcook@gcc.gnu.org> |
435 | ||
436 | * all files: Update FSF address in copyright headers. | |
437 | ||
f14c8207 | 438 | 2005-06-15 Joseph S. Myers <joseph@codesourcery.com> |
439 | ||
440 | * objc-act.c (my_build_string_pointer): New. | |
441 | (objc_get_class_reference, get_super_receiver): Call | |
442 | my_build_string_pointer instead of my_build_string when building | |
443 | function arguments. | |
444 | ||
737a4756 | 445 | 2005-05-25 Mike Stump <mrs@mrs.kithrup.com> |
446 | ||
447 | * objc-act.c (volatilized_hash): Avoid warnings on 64-bit | |
448 | machines. | |
449 | ||
499ea517 | 450 | 2005-05-24 Ziemowit Laski <zlaski@apple.com> |
451 | ||
452 | * objc-act.c (objc_build_struct): New function. | |
453 | (objc_derived_from_p): Likewise. | |
454 | (objc_build_component_ref): Likewise. | |
455 | (objc_copy_binfo): Likewise. | |
456 | (objc_xref_basetypes): Likewise. | |
457 | (objc_lookup_protocol): Likewise. | |
458 | (objc_compare_protocols): Likewise. | |
459 | (objc_volatilize_decl): Likewise. | |
460 | (encode_aggregate_fields): Likewise. | |
461 | (volatilized_hash): Likewise. | |
462 | (volatilized_eq): Likewise. | |
463 | (objc_compare_types): Likewise. | |
464 | (objc_type_quals_match): Likewise. | |
465 | (DERIVED_FROM_P): New ObjC macro, corresponding to C++ macro | |
466 | of same name. | |
467 | (get_class_ivars): Add second parameter indicating if entire | |
468 | hierarchy is desired. | |
469 | (struct volatilized_type): New type. | |
470 | (volatilized_htab): New hash table. | |
471 | (objc_types_compatible_p, objc_comptypes): Remove functions. | |
472 | (synth_module_prologue): Do not initialize 'unused_list'. | |
473 | (objc_get_class_reference): Fix ObjC++ impedance mismatches. | |
474 | (objc_declare_alias): Implement as a typedef. | |
475 | (objc_substitute_decl, objc_gimplify_expr): Reformat. | |
476 | (objc_get_class_ivars): Adjust call to get_class_ivars(). | |
477 | (next_sjlj_build_enter_and_setjmp, synth_forward_declarations, | |
478 | build_ivar_reference, get_super_receiver): Call | |
479 | objc_build_component_ref() instead of build_component_ref(). | |
480 | (objc_begin_catch_clause): Use DERIVED_FROM_P() instead of | |
481 | objc_comptypes(). | |
482 | (build_private_template): Call objc_build_struct() instead of | |
483 | start_struct() and finish_struct(). | |
484 | (hash_init): Initialize volatilized_htab. | |
485 | (objc_is_public): Adjust calls to objc_get_ivars(); adjust | |
486 | ObjC++ impedance mismatches. | |
487 | (encode_aggregate_within): Streamline by calling | |
488 | encode_aggregate_fields(). | |
489 | * objc-act.h (objc_types_compatible_p): Remove prototype. | |
490 | (OCTI_UNUSED_LIST, unused_list): Remove slot. | |
491 | * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove. | |
492 | ||
f1035767 | 493 | 2005-05-18 Geoffrey Keating <geoffk@apple.com> |
494 | ||
495 | * Make-lang.in (cc1obj-dummy): New. | |
496 | (cc1obj-checksum.c): New. | |
497 | (cc1obj-checksum.o): New. | |
498 | (cc1obj): Add cc1obj-checksum.o. | |
499 | ||
3c905014 | 500 | 2005-05-18 Mike Stump <mrs@apple.com> |
501 | ||
502 | PR objc/21641 | |
503 | * objc-act.c (struct interface_tuple): Mark it up for GC. | |
504 | (interface_htab): It is really a struct interface_tuple. | |
505 | ||
82c07781 | 506 | 2005-05-17 Ziemowit Laski <zlaski@apple.com> |
507 | Mike Stump <mrs@apple.com> | |
0ced0389 | 508 | |
509 | Yet more Objective-C++... | |
510 | ||
511 | * objc-act.c (objc_finish_try_stmt): Add return value. | |
512 | (objc_build_synchronized): Likewise. | |
513 | ||
514 | * objc-act.c (objc_is_gcable_type): Add. | |
515 | (objc_substitute_decl): Add. | |
516 | (objc_build_ivar_assignment): Add. | |
517 | (objc_build_global_assignment): Add. | |
518 | (objc_build_strong_cast_assignment): Add. | |
519 | (objc_is_ivar_reference_p): Add. | |
520 | (objc_is_global_reference_p): Add. | |
521 | (objc_generate_write_barrier): Add. | |
522 | (objc_rewrite_function_call): Add. | |
523 | (objc_gimplify_expr): Add Objective-C++ support. | |
524 | * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise. | |
525 | (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Add. | |
526 | (INIT_TYPE_OBJC_INFO): Add Objective-C++ support. | |
527 | (DUP_TYPE_OBJC_INFO): Likewise. | |
528 | (struct imp_entry): Add field has_cxx_cdtors. | |
529 | (struct imp_entry *imp_list): Add OCTI_UMSG_FAST_DECL, | |
530 | OCTI_METH_LIST_TEMPL, OCTI_METH_PROTO_LIST_TEMPL, | |
531 | OCTI_IVAR_LIST_TEMPL, OCTI_ASSIGN_IVAR_DECL, | |
532 | OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL, | |
533 | OCTI_ASSIGN_STRONGCAST_DECL. | |
534 | (umsg_fast_decl): Add. | |
535 | (objc_assign_ivar_decl): Add. | |
536 | (objc_assign_ivar_fast_decl): Add. | |
537 | (objc_assign_global_decl): Add. | |
538 | (objc_assign_strong_cast_decl): Add. | |
539 | (objc_method_list_ptr): Add. | |
540 | (objc_method_proto_list_ptr): Add. | |
541 | (objc_ivar_list_ptr): Add. | |
542 | ||
543 | * objc-act.c (should_call_super_dealloc): Add. | |
544 | (OBJC_VERSION): Bump to 6. | |
545 | (objc_is_gcable_type): Add. | |
546 | (objc_substitute_decl): Add. | |
547 | (objc_build_ivar_assignment): Add. | |
548 | (objc_build_global_assignment): Add. | |
549 | (objc_build_strong_cast_assignment): Add. | |
550 | (objc_is_gcable_p): Add. | |
551 | (objc_is_ivar_reference_p): Add. | |
552 | (objc_is_global_reference_p): Add. | |
553 | (generate_shared_structures): Add flags parameter. | |
554 | (objc_generate_cxx_ctor_or_dtor): Add. | |
555 | (objc_generate_cxx_cdtors): Add. | |
556 | (add_class): Add name parameter. | |
557 | (objc_types_share_size_and_alignment): Add. | |
558 | (comp_proto_with_proto): Add strict parameter. | |
559 | (CLS_HAS_CXX_STRUCTORS): Add. | |
560 | (TAG_ASSIGNIVAR): Add. | |
561 | (TAG_ASSIGNGLOBAL): Add. | |
562 | (TAG_ASSIGNSTRONGCAST): Add. | |
563 | (TAG_MSGSEND_FAST): Add. | |
564 | (TAG_ASSIGNIVAR_FAST): Add. | |
565 | (TAG_CXX_CONSTRUCT): Add. | |
566 | (TAG_CXX_DESTRUCT): Add. | |
567 | (OBJC_LOOKUP_CLASS): Add. | |
568 | (OBJC_LOOKUP_NO_SUPER): Add. | |
569 | (objc_finish_file): Add pch support. | |
570 | (objc_finish_implementation): Add Objective-C++ support. | |
571 | (synth_module_prologue): Likewise. | |
572 | (synth_module_prologue): Add fast dispatching. | |
573 | (objc_get_class_reference): Add Objective-C++ support. | |
574 | (objc_generate_write_barrier): Likewise. | |
575 | (next_sjlj_build_enter_and_setjmp): Likewise. | |
576 | (objc_begin_try_stmt): Likewise. | |
577 | (build_next_objc_exception_stuff): Add fast ivar support. | |
578 | (build_private_template): Mark the record as used so debug | |
579 | information is generated. | |
580 | (build_protocol_template): Add Objective-C++ support. | |
581 | (objc_method_parm_type) Likewise. | |
582 | (objc_generate_cxx_ctor_or_dtor): Likewise. | |
583 | (objc_generate_cxx_cdtors): Likewise. | |
584 | (build_protocol_initializer): Likewise. | |
585 | (build_category_template): Likewise. | |
586 | (build_class_template): Likewise. | |
587 | (build_method_list_template): Likewise. | |
588 | (build_category_initializer): Likewise. | |
589 | (build_shared_structure_initializer): Likewise. | |
590 | (objc_finish_message_expr): Likewise. | |
591 | (build_objc_method_call): Add fast dispatch support. | |
592 | (lookup_method_static): Add support to end search at superclasses. | |
593 | (add_method_to_hash_list): Add strict parameter to | |
594 | comp_proto_with_proto. | |
595 | (objc_add_method): Likewise. | |
596 | (objc_add_method): Also set the interface_value. | |
597 | (add_instance_variable): Add Objective-C++ support. | |
598 | (objc_is_public): Likewise. | |
599 | (start_class): Likewise. | |
600 | (continue_class): Likewise. | |
601 | (encode_aggregate_within): Likewise. | |
602 | (start_method_def): Likewise. | |
603 | (objc_start_function): Clear current_function_returns_value | |
604 | and current_function_returns_null. | |
605 | (really_start_method): Add Objective-C++ support. | |
606 | (objc_finish_method_definition): Add warning for missing | |
607 | [super dealloc]. | |
608 | (finish_objc): Add Objective-C++ support. | |
609 | (generate_objc_image_info): Likewise. | |
610 | (objc_lookup_ivar): Likewise. | |
611 | * objc-act.h (TYPE_HAS_OBJC_INFO): Likewise. | |
612 | (INIT_TYPE_OBJC_INFO): Likewise. | |
613 | (DUP_TYPE_OBJC_INFO): Likewise. | |
614 | ||
c3ceba8e | 615 | 2005-04-23 DJ Delorie <dj@redhat.com> |
616 | ||
617 | * objc-act.c: Adjust warning() callers. | |
618 | ||
450302fe | 619 | 2005-04-21 Roger Sayle <roger@eyesopen.com> |
620 | ||
621 | * objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing | |
622 | this field of an objc method decl. | |
623 | * objc-act.c (build_method_decl): Take an additional "ellipsis" | |
624 | argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate. | |
625 | (objc_build_method_signature): Accept additional "ellipsis" | |
626 | argument and pass it to build_method_decl. | |
627 | (get_arg_type_list, start_method_def, gen_method_decl): Use | |
628 | the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the | |
629 | TREE_OVERFLOW field of a TREE_LIST node. | |
630 | ||
f5d156fd | 631 | 2005-04-20 Joseph S. Myers <joseph@codesourcery.com> |
632 | ||
633 | PR c/12913 | |
634 | * objc-act.c (objc_start_function): Create stack level for context | |
635 | of identifiers with variably modified type. | |
636 | ||
f08c7a57 | 637 | 2005-03-30 Joseph S. Myers <joseph@codesourcery.com> |
638 | ||
639 | PR c/772 | |
640 | PR c/17913 | |
641 | * objc-act.c (objc_start_function): Push context on | |
642 | label_context_stack. | |
643 | ||
45a78cc0 | 644 | 2005-03-23 Joseph S. Myers <joseph@codesourcery.com> |
645 | ||
646 | * objc-act.c (next_sjlj_build_enter_and_setjmp, | |
647 | next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally): | |
648 | Call c_common_truthvalue_conversion. | |
649 | ||
1576dec7 | 650 | 2005-02-25 Joseph S. Myers <joseph@codesourcery.com> |
651 | ||
652 | * Make-lang.in (objc/objc-parse.o-warn, objc/objc-parse.o, | |
653 | objc/objc-parse.c, objc/objc-parse.y): Remove | |
654 | (OBJC_OBJS, objc.srcextra, objc.tags, objc.mostlyclean, | |
655 | objc.distclean, objc.maintainer-clean): Update for new parser. | |
656 | * config-lang.in (gtfiles): Update for new parser. | |
657 | ||
578ae71d | 658 | 2005-01-29 Kazu Hirata <kazu@cs.umass.edu> |
659 | ||
660 | * lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update | |
661 | copyright. | |
662 | ||
aac6b86a | 663 | 2005-01-27 Matt Austern <austern@apple.com> |
664 | ||
665 | * objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before | |
666 | calling instantiate_pending_templates. | |
fdf0e229 | 667 | |
0bd2c21c | 668 | 2005-01-26 Alexander Malmberg <alexander@malmberg.org> |
669 | ||
670 | PR objc/18862 | |
671 | * objc-act.c (build_selector_translation_table): Use | |
672 | input_location in the diagnostic for the GNU runtime or if | |
673 | TREE_PURPOSE (chain) is NULL. | |
674 | ||
d7c168e8 | 675 | 2005-01-25 Alexander Malmberg <alexander@malmberg.org> |
676 | ||
677 | PR objc/18408 | |
678 | * objc-act.c (objc_types_compatible_p): New function. | |
679 | * objc-act.h (objc_types_compatible_p): Declare. | |
680 | * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define. | |
681 | ||
7e176567 | 682 | 2005-01-16 Ziemowit Laski <zlaski@apple.com> |
683 | ||
684 | * objc-act.c (objc_push_parm): Call c_type_promotes_to() | |
685 | via a lang-hook. | |
686 | ||
53832dfa | 687 | 2005-01-15 Ziemowit Laski <zlaski@apple.com> |
688 | ||
689 | PR objc/19321 | |
690 | * objc-act.c (get_arg_type_list): Decay function arguments into | |
691 | pointers. | |
692 | (objc_push_parm): Likewise; bring PARM_DECL construction closer | |
693 | in line with what the C front-end does. | |
694 | (objc_get_parm_info): Call pushdecl() and finish_decl() on | |
695 | each PARM_DECL, like the C front-end does. | |
696 | (start_method_def): Remove redundant ARRAY_TYPE decay. | |
697 | (objc_start_function): Bring closer in line with what the | |
698 | C front-end does for functions. | |
699 | ||
67f3526e | 700 | 2005-01-14 Mike Stump <mrs@apple.com> |
701 | ||
702 | * lang-specs.h ("@objective-c"): Use cc1obj when -E is used so | |
703 | that -fobjc-exceptions is accepted. | |
704 | ||
b5266a0c | 705 | 2004-12-30 Ziemowit Laski <zlaski@apple.com> |
706 | ||
707 | PR objc/18971 | |
708 | * objc-act.c (get_arg_type_list, start_method_def): Decay | |
709 | array arguments into pointers. | |
710 | (gen_type_name_0): Learn to pretty-print array types. | |
711 | ||
6972a3bc | 712 | 2004-12-15 Ziemowit Laski <zlaski@apple.com> |
713 | ||
714 | * objc-act.c (build_private_template): Change to return 'void'; do | |
715 | not set ivar_context, uprivate_record or objc_instance_type. | |
716 | (objc_comptypes, gen_type_name_0): For types 'id' and 'Class', | |
717 | retrieve protocol list from the pointee rather than the pointer itself; | |
718 | check TYPE_HAS_OBJC_INFO(...) precondition before accessing | |
719 | TYPE_OBJC_PROTOCOL_LIST. | |
720 | (objc_get_protocol_qualified_type): For types 'id' and 'Class', | |
721 | construct a variant of the pointee as well as the pointer, and | |
722 | store protocol information in the former. When creating variants | |
723 | of RECORD_TYPEs, clone their TYPE_LANG_SPECIFIC fields and propagate | |
724 | TYPE_OBJC_INTERFACE information. | |
725 | (objc_declare_class): If a TYPE_DECL is looked up, retrieve the | |
726 | underlying RECORD_TYPE to check for presence of TYPE_OBJC_INTERFACE; | |
727 | for newly-created RECORD_TYPEs, create a tentative TYPE_OBJC_INTERFACE | |
728 | holding an IDENTIFIER_NODE. | |
729 | (objc_finish_message_expr): Check TYPE_HAS_OBJC_INFO(...) before | |
730 | accessing TYPE_OBJC_PROTOCOL_LIST; Use TYPE_OBJC_INTERFACE instead | |
731 | of calling lookup_interface(); allow for TYPE_OBJC_INTERFACE holding | |
732 | an IDENTIFIER_NODE (meaning a @class forward-declaration only). | |
733 | (objc_is_public): Check TYPE_OBJC_INTERFACE instead of calling | |
734 | lookup_interface(). | |
735 | (continue_class): For @implementations, set ivar_context, | |
736 | uprivate_record and objc_instance_type, for @interfaces, call | |
737 | build_private_template(). | |
738 | (encode_pointer): Check TYPE_HAS_OBJC_INFO(...) before accessing | |
739 | TYPE_OBJC_INTERFACE. | |
740 | (objc_types_are_equivalent): Check TYPE_HAS_OBJC_INFO(...) before | |
741 | accessing TYPE_OBJC_PROTOCOL_LIST. | |
742 | * objc-act.h (OBJC_INFO_SLOT_ELTS, TYPE_OBJC_INFO, INIT_TYPE_OBJC_INFO, | |
fdf0e229 | 743 | DUP_TYPE_OBJC_INFO, ALLOC_OBJC_TYPE_LANG_SPECIFIC, |
6972a3bc | 744 | SIZEOF_OBJC_TYPE_LANG_SPECIFIC): New macros. |
745 | (TYPE_OBJC_INTERFACE): Replaces TREE_STATIC_INSTANCE and now points | |
746 | to an actual @interface; stored in TYPE_LANG_SPECIFIC(...). | |
747 | (TYPE_OBJC_PROTOCOL_LIST): Replaces TYPE_PROTOCOL_LIST; stored in | |
748 | TYPE_LANG_SPECIFIC(...). | |
749 | (TREE_STATIC_INSTANCE, TYPE_PROTOCOL_LIST): Delete. | |
750 | (IS_ID, IS_CLASS, IS_PROTOCOL_QUALIFIED_UNTYPED, IS_SUPER, | |
751 | TYPED_OBJECT): Check for POINTER_TYPE rather than POINTER_TYPE_P; | |
752 | adjust for use of TYPE_OBJC_INTERFACE and TYPE_OBJC_PROTOCOL_LIST | |
753 | instead of TREE_STATIC_INSTANCE and TYPE_PROTOCOL_LIST. | |
754 | ||
b42190bc | 755 | 2004-11-29 Joseph Myers <joseph@codesourcery.com> |
756 | ||
757 | PR c/7544 | |
758 | * Make-lang.in (objc/objc-act.o): Update dependencies. | |
759 | * objc-act.c (objc_finish_file): Call | |
760 | maybe_apply_pending_pragma_weaks if not OBJCPLUS. | |
761 | ||
02fc645a | 762 | 2004-11-09 Andrew Pinski <pinskia@physics.uc.edu> |
763 | ||
764 | PR objc/18406 | |
765 | * obj-act.c (encode_type): 96bits doubles are encoded the | |
766 | same way as 64bit and 128bit doubles are. | |
767 | ||
1e5fcbe2 | 768 | 2004-11-09 Joseph S. Myers <joseph@codesourcery.com> |
769 | ||
770 | * objc-act.c: Use %q, %< and %> for quoting in diagnostics. | |
771 | ||
0aaa3c91 | 772 | 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu> |
773 | ||
774 | PR objc/16546 | |
775 | * objc-act.c (generate_method_descriptors): Remove setting | |
776 | the new decls' type to variable_length_type. | |
777 | (generate_ivar_lists): Likewise. | |
778 | (generate_dispatch_tables): Likewise. | |
779 | ||
e913c82d | 780 | 2004-10-30 Ziemowit Laski <zlaski@apple.com> |
781 | ||
782 | * objc-act.c (objc_lookup_ivar): The new OTHER parameter | |
783 | contains the result of the ID lookup by the C or C++ | |
784 | front-end; in class methods, use OTHER if it exists; | |
785 | in instance methods, use OTHER only if it is locally | |
786 | declared. | |
787 | ||
49bd32dc | 788 | 2004-10-26 Ziemowit Laski <zlaski@apple.com> |
789 | ||
790 | * objc-act.c (finish_class): Do not synthesize bogus | |
791 | 'extern objc_object *_Foo;' declarations for @interface Foo. | |
792 | ||
9e8a7e85 | 793 | 2004-10-25 Ziemowit Laski <zlaski@apple.com> |
794 | David Ayers <d.ayers@inode.at> | |
795 | ||
796 | * objc-act.c (objc_comptypes): Use IS_PROTOCOL_QUALIFIED_UNTYPED | |
797 | instead of IS_PROTOCOL_QUALIFIED_ID; add comparisons for: | |
798 | 'Class <Protocol> != id <Protocol>'; 'Class <Protocol> != <class> *'; | |
799 | 'Class <Protocol> == id' and 'Class <Protocol> == Class'. | |
800 | (objc_is_id): Add test for 'super'. | |
801 | (objc_finish_message_expr): Allow for messaging of 'Class <Proto>' | |
802 | receivers; if class methods are not found in protocol lists, search | |
803 | for instance methods therein and warn if one is found. Look in | |
804 | global hash tables for suitable method as a last resort when messaging | |
805 | 'id <Proto>', 'Class <Proto>' and invalid receiver types. | |
806 | (objc_add_method): Insert instance methods listed in protocols into | |
807 | the global class method hash table. | |
808 | * objc-act.h (IS_PROTOCOL_QUALIFIED_ID): Rename to | |
809 | IS_PROTOCOL_QUALIFIED_UNTYPED and allow for 'Class <Proto>' in | |
810 | addition to 'id <Proto>'. | |
811 | ||
6e030094 | 812 | 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu> |
813 | ||
814 | PR objc/17923 | |
815 | * objc-act.c (objc_build_string_object): Create a CONST_DECL | |
816 | for the NeXT runtime case. | |
817 | ||
9f9a4117 | 818 | 2004-10-02 Kazu Hirata <kazu@cs.umass.edu> |
819 | ||
820 | * objc-act.c: Fix comment typos. | |
821 | ||
4b6a1df9 | 822 | 2004-09-24 Ziemowit Laski <zlaski@apple.com> |
823 | ||
824 | * objc-act.c (init_objc_symtab, init_module_descriptor, | |
825 | build_shared_structure_initializer): When initializing 'long' | |
826 | fields, ensure that the initializer value is also 'long'. | |
827 | ||
775e7a4e | 828 | 2004-09-24 Zack Weinberg <zack@codesourcery.com> |
829 | ||
830 | * objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION | |
831 | throughout. | |
832 | (objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION. | |
833 | (build_selector_translation_table): Use %J in diagnostic | |
834 | instead of diddling input_line. Fix spelling. | |
835 | ||
e151b250 | 836 | 2004-09-21 Ziemowit Laski <zlaski@apple.com> |
837 | ||
838 | * objc-act.c (objc_fold_objc_type_ref): New function. | |
839 | * objc-act.h (objc_fold_objc_type_ref): New prototype. | |
840 | ||
ac206aff | 841 | 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk> |
842 | ||
843 | * objc-act.c (objc_start_function, really_start_method, | |
844 | objc_get_parm_info, start_method_def): Update to new arg_info | |
845 | structures. | |
846 | ||
13dcc150 | 847 | 2004-09-07 Ziemowit Laski <zlaski@apple.com> |
848 | ||
849 | * Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of | |
850 | objc/objc-act.h. | |
851 | (objc/objc-act.o): Depend on $(HASHTAB_H). | |
852 | * objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and | |
853 | objcp-decl.h instead of c-tree.h. | |
854 | (build_module_descriptor, get_class_ivars, synth_id_with_class_suffix, | |
855 | error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl, | |
856 | build_protocol_template): Adjust prototypes. | |
857 | (build_module_initializer_routine, start_class, continue_class, | |
858 | finish_class, start_method_def, objc_start_function, start_protocol, | |
859 | build_method_decl, objc_add_method, add_instance_variable, | |
860 | build_ivar_reference, is_ivar, is_private, get_super_receiver, | |
861 | build_selector_table_decl, objc_push_parm, objc_get_parm_info, | |
862 | gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl, | |
863 | create_field_decl): New prototypes. | |
864 | (objc_expand_function_end, comp_method_with_proto, objc_expr_last, | |
865 | gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl, | |
866 | define_decl, create_builtin_decl, gen_declspecs): Remove prototypes. | |
867 | (TYPE_ID): Rename to OBJECT_TYPEDEF_NAME. | |
868 | (CLASS_TYPEDEF_NAME): New. | |
869 | (TAG_EXECCLASS): Change from a global variable to a #define. | |
870 | (TAG_RETURN_STRUCT): Delete. | |
871 | (TAG_GNUINIT): New, holds '__objc_gnu_init' name. | |
872 | (objc_inherit_code, objc_public_flag): New, moved from c-parse.in. | |
873 | (string_descriptor): New struct. | |
874 | (string_htab): New hash table. | |
875 | (string_hash, string_eq): New prototypes. | |
876 | (generate_struct_by_value_array): Call create_field_decl() instead of | |
877 | create_builtin_decl(). | |
878 | (objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS; | |
879 | In ObjC++ mode, call cxx_init() instead of c_objc_common_init(). | |
880 | (objc_finish_file): In ObjC++, call instantiate_pending_templates() | |
881 | and cp_finish_file(). | |
882 | (define_decl, get_static_reference, get_protocol_reference, | |
883 | create_builtin_decl): Remove functions. | |
884 | (objc_start_class_interface, objc_start_category_interface, | |
885 | objc_start_protocol, objc_continue_interface, objc_finish_interface, | |
886 | objc_start_class_implementation, objc_start_category_implementation, | |
887 | objc_continue_implementation, objc_finish_implementation, | |
888 | objc_set_visibility, objc_set_method_type, | |
889 | objc_build_method_signature, objc_add_method_declaration, | |
890 | objc_start_method_definition, objc_add_instance_variable, | |
891 | objc_get_protocol_qualified_type, create_field_decl, | |
892 | start_var_decl, finish_var_decl): New functions. | |
893 | (setup_string_decl): Simplify since it is only called once. | |
894 | (synth_module_prologue): Call build_class_template(); predefine 'id' | |
895 | and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug | |
896 | hooks for duration of function; fix GNU runtime messenger signatures | |
897 | to correspond to reality; forward-declare '__objc_exec_class' for the | |
898 | GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate | |
899 | 'extern "C" { ... }' wrappers around synthesized declarations; call | |
900 | build_protocol_template() and build_category_template(). | |
901 | (string_hash, string_eq): New functions. | |
902 | (objc_build_string_object): Check metaclass correctness only once; | |
903 | store string literals in hash table. | |
904 | (objc_build_constructor): Do not convert initializer elements; | |
905 | adjust for ObjC++ impedance mismatch. | |
906 | (build_objc_symtab_template): Call create_field_decl() instead of | |
907 | create_builtin_decl(). | |
908 | (init_objc_symtab): Add missing conversion to initializer element. | |
909 | (build_metadata_decl): Call start_var_decl() instead of define_decl(). | |
910 | (generate_objc_symtab_decl): Do not call build_category_template(); | |
911 | call start_var_decl() and finish_var_decl() instead of start_decl() | |
912 | and finish_decl(). | |
913 | (build_module_descriptor): Call create_field_decl() instead of | |
914 | grokfield(); call start_var_decl() and finish_var_decl() instead of | |
915 | start_decl() and finish_decl(); always mark module descriptor as | |
916 | used; move GNU runtime-specific functionality to | |
917 | build_module_initializer_routine(). | |
918 | (build_module_initializer_routine): New function, broken off of | |
919 | build_module_descriptor(). | |
920 | (objc_static_init_needed_p, objc_generate_static_init_call): New | |
921 | functions. | |
922 | (generate_static_references, generate_strings, | |
923 | build_selector_translation_table, generate_descriptor_table, | |
924 | generate_ivars_list, generate_dispatch_table, generate_category): Call | |
925 | start_var_decl() and finish_var_decl() instead of start_decl() and | |
926 | finish_decl(); build a type directly instead of via groktypename(). | |
927 | (build_selector_reference_decl, build_selector_table_decl, | |
928 | build_class_reference_decl, build_protocol_reference, | |
929 | generate_objc_image_info): Call start_var_decl() instead of | |
930 | build_decl(). | |
931 | (build_selector_reference): For GNU runtime, do not call | |
932 | build_selector_reference_decl(). | |
933 | (build_selector, build_typed_selector_reference): Always convert | |
934 | result to the selector type. | |
935 | (add_objc_string): Cast return value to 'char *'. | |
936 | (build_method_prototype_template, build_selector_template, | |
937 | build_method_template): Use actual selector type for fields | |
938 | pointing to selectors. | |
939 | (finish_objc): For GNU runtime, call | |
940 | build_module_initializer_routine() after build_module_descriptor(). | |
941 | (generate_protocol_list, generate_shared_structures): Call | |
942 | start_var_decl() and finish_var_decl() instead of start_decl() and | |
943 | finish_decl(); build a type directly instead of via | |
944 | groktypename(). | |
945 | (synth_id_with_class_suffix): Return a string. | |
946 | (get_arg_type_list): For instance methods, use the instance type for | |
947 | 'self'; do not call groktypename_in_parm_context(). | |
948 | (build_objc_string_decl): Squash redeclaration errors in ObjC++. | |
949 | (objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME; | |
950 | handle RECORD_TYPEs in ObjC as well as ObjC++. | |
951 | (objc_is_id): New function. | |
952 | (objc_is_object_ptr): Return the canonical type node. | |
953 | (objc_get_class_ivars): Simplify using get_class_ivars(). | |
954 | (get_class_ivars): Remove second parameter; create a fresh copy | |
955 | of the ivar list for each call; do not check for existence of | |
956 | super class. | |
957 | (objc_eh_runtime_type): Mark #ifndef OBJCPLUS. | |
958 | (objc_init_exceptions): When using SJLJ-style exceptions, require | |
959 | the use of '-fobjc-exceptions' flag; do not require it for DWARF-style | |
960 | exceptions. | |
961 | (objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use | |
962 | objc_object_type instead of objc_id_type. | |
963 | (objc_begin_catch_clause): Convert the incoming PARM_DECL into | |
964 | a VAR_DECL before placing it in the appropriate scope; do not | |
965 | call define_decl(); adjust call to c_begin_compound_stmt(); | |
966 | use objc_object_type instead of objc_id_type. | |
967 | (build_next_objc_exception_stuff): Call create_field_decl() instead | |
968 | of create_builtin_decl(); construct type directly instead of calling | |
969 | groktypename(); use OBJC_VOID_AT_END to mark end of function parameters. | |
970 | (build_private_template): Adjust call to get_class_ivars(); build | |
971 | a type directly instead of via groktypename(). | |
972 | (build_protocol_template, build_method_prototype_list_template, | |
973 | build_method_prototype_template, build_category_template, | |
974 | build_selector_template, build_class_template, build_super_template, | |
975 | build_ivar_template, build_ivar_list_template, | |
976 | build_method_list_template, build_method_template): | |
977 | Call create_field_decl() instead of grokfield(). | |
978 | (objc_method_parm_type): Do not call groktypename(). | |
979 | (generate_descriptor_table): Call start_var_decl() and | |
980 | finish_var_decl() instead of start_decl() and finish_decl(). | |
981 | (generate_method_descriptors, build_protocol_initializer, | |
982 | generate_dispatch_tables, build_category_initializer, | |
983 | build_shared_structure_initializer): Do not call groktypename(). | |
984 | (generate_protocols): Call start_var_decl() and finish_var_decl() | |
985 | instead of start_decl() and finish_decl(); do not call groktypename(). | |
986 | (error_with_ivar): Remove last parameter. | |
987 | (check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition | |
988 | to CLASS_IVARS lists; adjust calls to error_with_ivar(). | |
989 | (generate_ivar_lists): Convert one of the initializer elements; do | |
990 | not call groktypename(). | |
991 | (get_arg_type_list, start_method_def, gen_method_def): Account for | |
992 | new representation of variable arguments and '...' in Objective-C | |
993 | methods; add Objective-C++ impedance matching code. | |
994 | (is_objc_type_qualifier): Remove function. | |
995 | (adjust_type_for_id_default): Simplify; there is no longer a need to | |
996 | wade through declspecs. | |
997 | (lookup_interface, start_class, continue_class, | |
998 | finish_class, start_method_def, start_protocol, build_method_decl, | |
999 | objc_add_method, add_instance_variable, build_ivar_reference, | |
1000 | is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue): | |
1001 | Make into static functions. | |
1002 | (receiver_is_class_object): Use new IS_CLASS() macro. | |
1003 | (objc_build_message_expr): Tweak ObjC++ message argument handling; | |
1004 | call objc_finish_message_expr() instead of finish_message_expr(). | |
1005 | (finish_message_expr): Rename to objc_finish_message_expr(); use | |
1006 | OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME. | |
1007 | call gen_type_name() instead of gen_declaration(); call objc_is_id() | |
1008 | instead of using IS_ID and IS_CLASS; Use objc_class_name instead of | |
1009 | calling get_identifier("Class"); handle CONVERT_EXPRs in receiver. | |
1010 | (build_objc_method_call, warn_with_method): Do not call groktypename(). | |
1011 | (build_ivar_reference): Call convert() instead of clobbering in a | |
1012 | type. | |
1013 | (hash_init): Initialize string_htab hash table. | |
1014 | (add_instance_variable): Simplify parameter list; do not call grokfield(); | |
1015 | do not populate CLASS_IVARS list. | |
1016 | (start_class): Check for the existence of super class, if one was specified. | |
1017 | (continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not | |
1018 | call build_class_template(); adjust call to get_class_ivars(); call | |
1019 | build_decl(), pushdecl() and finish_decl() instead of define_decl(). | |
1020 | (finish_class): Call build_decl(), pushdecl() and finish_decl() instead | |
1021 | of define_decl(). | |
1022 | (add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size. | |
1023 | (start_protocol): Do not call build_protocol_template(); use | |
1024 | PROTOCOL_BINFO_ELTS for the tree vector size. | |
1025 | (encode_type_qualifiers): Do not handle the 'const' qualifier here. | |
1026 | (encode_pointer): Encode 'const char *' as 'r*', for backwards | |
1027 | compatibility. | |
1028 | (encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld". | |
1029 | (encode_type): Handle the 'const' qualifier here. | |
1030 | (objc_parmlist): New global variable, sued by objc_push_parm and | |
1031 | objc_get_parm_info(). | |
1032 | (objc_push_parm, objc_get_parm_info): New functions. | |
1033 | (objc_expr_last): Remove function. | |
1034 | (synth_self_and_ucmd_args): For instance methods, use the instance | |
1035 | type for 'self'; call objc_push_parm() instead of push_parm_decl(). | |
1036 | (start_method_def): Do not call push_scope(), declare_parm_level(), | |
1037 | pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last(); | |
1038 | just use objc_push_parm() and objc_get_parm_info(). | |
1039 | (comp_method_with_proto): Remove function. | |
1040 | (objc_types_are_equivalent): Strip away indirections before comparing | |
1041 | underlying types. | |
1042 | (comp_proto_with_proto): Do not call groktypename(); types are no | |
1043 | longer in raw declspec format. | |
1044 | (objc_start_function): New function. | |
1045 | (really_start_method): Call comp_proto_with_proto() instead of | |
1046 | comp_method_with_proto(); call objc_start_function() instead of | |
1047 | hand-crafting a function declarator. | |
1048 | (continue_method_def, objc_expand_function_end): Remove functions. | |
1049 | (get_super_receiver): Call objc_get_current_scope() instead of | |
1050 | get_current_scope(); reference 'super_class' field (instead of | |
1051 | 'class'). | |
1052 | (finish_method_def): Rename to objc_finish_method_definition() and | |
1053 | add a function decl parameter; move method encoding call from | |
1054 | objc_expand_function_end(). | |
1055 | (is_complex_decl, adorn_decl, gen_declarator, gen_declspecs, | |
1056 | gen_declaration_1): Remove functions. | |
1057 | (tmpbuf, RAW_DECLSPEC): Remove. | |
1058 | (gen_declaration): Remove second parameter; simplify to deal | |
1059 | with TYPE_P nodes instead of raw declspecs. | |
1060 | (gen_type_name, gen_type_name_0): New functions. | |
1061 | (gen_method_decl): Remove second parameter; call gen_type_name() | |
1062 | instead of gen_declaration_1(). | |
775e7a4e | 1063 | (dump_interface): Adjust calls to gen_declaration() and |
13dcc150 | 1064 | gen_method_decl(); do not allocate a separate string buffer. |
1065 | (init_objc): Allocate a larger string buffer to accommodate | |
1066 | dump_interface(); adjust call to build_module_descriptor(); | |
1067 | add call to build_module_initializer_routine() for the GNU | |
1068 | runtime. | |
1069 | (generate_classref_translation_entry): Do not call start_decl(); call | |
1070 | finish_var_decl() instead of finish_decl(); call convert() instead of | |
1071 | build_c_cast(). | |
1072 | * objc-act.h (CLASS_OWN_IVARS): Remove accessor. | |
1073 | (CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is | |
1074 | gone. | |
1075 | (OCTI_GNU_INIT_DECL, GNU_INIT_decl): New. | |
1076 | (OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove. | |
1077 | (OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME, | |
1078 | objc_object_type and objc_object_name, respectively. | |
1079 | (OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference, | |
1080 | objc_class_name): New. | |
1081 | (IS_CLASS): New macro. | |
1082 | (IS_ID, IS_SUPER): Robustify. | |
1083 | (OCTI_EXECCLASS_DECL, execclass_decl): New. | |
1084 | (finish_file, start_class, continue_class, finish_class, | |
1085 | start_method_def, continue_method_def, finish_method_def, | |
1086 | start_protocol, finish_protocol, objc_build_throw_stmt, | |
1087 | objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue, | |
1088 | objc_build_synchronized_epilogue, objc_build_try_prologue, | |
1089 | objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue, | |
1090 | objc_build_finally_prologue, objc_build_finally_epilogue, | |
1091 | is_ivar, is_private, is_public, add_instance_variable, objc_add_method, | |
1092 | get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name, | |
1093 | get_class_reference, get_static_reference, get_object_reference, | |
1094 | build_message_expr, finish_message_expr, build_selector_expr, | |
1095 | build_ivar_reference, build_keyword_decl, build_method_decl, | |
1096 | build_protocol_expr, build_objc_string_object, objc_declare_alias, | |
1097 | objc_declare_class, objc_declare_protocols, objc_comptypes, | |
1098 | objc_check_decl, build_encode_expr): Remove prototypes. | |
1099 | (imp_count, cat_count): Make GGC-aware. | |
1100 | (OBJC_SET_TYPE_NAME): New macro. | |
775e7a4e | 1101 | |
89359403 | 1102 | 2004-09-03 Ziemowit Laski <zlaski@apple.com> |
1103 | ||
1104 | * config-lang.in: Update copyright notice. | |
1105 | (lang_requires): Indicate that ObjC requires C to be built first. | |
1106 | ||
66eb9e7e | 1107 | 2004-09-01 Ziemowit Laski <zlaski@apple.com> |
1108 | ||
1109 | * objc-act.c (objc_check_decl): Use OBJC_TYPE_NAME macro instead of | |
1110 | TYPE_NAME. | |
1111 | (build_objc_string_object): Rename to objc_build_string_object(). | |
1112 | (get_class_reference): Rename to objc_get_class_reference(). | |
1113 | (get_class_ivars_from_name): Rename to objc_get_class_ivars(). | |
1114 | (next_sjlj_build_catch_list, get_super_receiver): Call | |
1115 | objc_get_class_reference() instead of get_class_reference(). | |
1116 | (build_keyword_decl): Rename to objc_build_keyword_decl(). | |
1117 | (build_message_expr): Rename to objc_build_message_expr(). | |
1118 | (build_protocol_expr): Rename to objc_build_protocol_expr(). | |
1119 | (build_selector_expr): Rename to objc_build_selector_expr(). | |
1120 | (build_encode_expr): Rename to objc_build_encode_expr(). | |
1121 | * objc-act.h (get_class_ivars_from_name): Rename prototype to | |
1122 | objc_get_class_ivars(). | |
1123 | (get_class_reference): Rename prototype to objc_get_class_reference(). | |
1124 | (build_message_expr): Rename prototype to objc_build_message_expr(). | |
1125 | (build_selector_expr): Rename prototype to objc_build_selector_expr(). | |
1126 | (build_keyword_decl): Rename prototype to objc_build_keyword_decl(). | |
1127 | (build_protocol_expr): Rename prototype to objc_build_prototype_expr(). | |
1128 | (build_objc_string_object): Rename prototype to | |
1129 | objc_build_string_object(). | |
775e7a4e | 1130 | |
99d7d801 | 1131 | 2004-09-01 Ziemowit Laski <zlaski@apple.com> |
1132 | ||
1133 | * objc-act.c (lookup_interface): Make function 'static' and add a | |
1134 | local prototype. | |
1135 | (objc_check_decl, get_class_reference, objc_declare_alias, | |
1136 | objc_declare_class, objc_is_object_ptr): Call objc_is_class_name() | |
1137 | instead of is_class_name(). | |
775e7a4e | 1138 | (get_super_receiver, objc_clear_super_receiver): Call |
99d7d801 | 1139 | objc_get_current_scope() instead of get_current_scope(). |
1140 | (is_class_name): Rename to objc_is_class_name. | |
1141 | (lookup_objc_ivar): Rename to objc_lookup_ivar. | |
1142 | ||
11a35d8f | 1143 | 2004-08-28 Ziemowit Laski <zlaski@apple.com> |
1144 | ||
1145 | * objc-act.c (objc_is_reserved_word): New function. | |
1146 | ||
800b56f2 | 1147 | 2004-08-15 Ziemowit Laski <zlaski@apple.com> |
1148 | ||
1149 | * Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H), | |
1150 | $(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h. | |
1151 | (objc/objc-parse.o): Do not depend on gtype-objc.h. | |
1152 | * objc-act.c: Do not include gtype-objc.h. | |
1153 | (finish_file): Rename to objc_finish_file(). | |
1154 | * objc-act.h (finish_file): Update copyright notice; remove prototype. | |
1155 | * objc-lang.c: Update copyright notice; include diagnostic.h, | |
1156 | c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include | |
1157 | toplev.h. | |
1158 | (finish_file): New hook routine. | |
1159 | (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS, | |
1160 | LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION, | |
1161 | LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS, | |
775e7a4e | 1162 | LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P, |
1163 | LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE, | |
800b56f2 | 1164 | LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION, |
1165 | LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL, | |
775e7a4e | 1166 | LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, |
800b56f2 | 1167 | LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, |
1168 | LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED, | |
1169 | LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, | |
1170 | LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT, | |
1171 | LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, | |
1172 | LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, | |
1173 | LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS, | |
1174 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
1175 | LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING, | |
1176 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, | |
1177 | LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN, | |
1178 | LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE, | |
1179 | LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE, | |
1180 | LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE, | |
1181 | LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO, | |
1182 | LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS): | |
1183 | Move to c-objc-common.h. |