]>
Commit | Line | Data |
---|---|---|
13dcc150 | 1 | 2004-09-07 Ziemowit Laski <zlaski@apple.com> |
2 | ||
3 | * Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of | |
4 | objc/objc-act.h. | |
5 | (objc/objc-act.o): Depend on $(HASHTAB_H). | |
6 | * objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and | |
7 | objcp-decl.h instead of c-tree.h. | |
8 | (build_module_descriptor, get_class_ivars, synth_id_with_class_suffix, | |
9 | error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl, | |
10 | build_protocol_template): Adjust prototypes. | |
11 | (build_module_initializer_routine, start_class, continue_class, | |
12 | finish_class, start_method_def, objc_start_function, start_protocol, | |
13 | build_method_decl, objc_add_method, add_instance_variable, | |
14 | build_ivar_reference, is_ivar, is_private, get_super_receiver, | |
15 | build_selector_table_decl, objc_push_parm, objc_get_parm_info, | |
16 | gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl, | |
17 | create_field_decl): New prototypes. | |
18 | (objc_expand_function_end, comp_method_with_proto, objc_expr_last, | |
19 | gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl, | |
20 | define_decl, create_builtin_decl, gen_declspecs): Remove prototypes. | |
21 | (TYPE_ID): Rename to OBJECT_TYPEDEF_NAME. | |
22 | (CLASS_TYPEDEF_NAME): New. | |
23 | (TAG_EXECCLASS): Change from a global variable to a #define. | |
24 | (TAG_RETURN_STRUCT): Delete. | |
25 | (TAG_GNUINIT): New, holds '__objc_gnu_init' name. | |
26 | (objc_inherit_code, objc_public_flag): New, moved from c-parse.in. | |
27 | (string_descriptor): New struct. | |
28 | (string_htab): New hash table. | |
29 | (string_hash, string_eq): New prototypes. | |
30 | (generate_struct_by_value_array): Call create_field_decl() instead of | |
31 | create_builtin_decl(). | |
32 | (objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS; | |
33 | In ObjC++ mode, call cxx_init() instead of c_objc_common_init(). | |
34 | (objc_finish_file): In ObjC++, call instantiate_pending_templates() | |
35 | and cp_finish_file(). | |
36 | (define_decl, get_static_reference, get_protocol_reference, | |
37 | create_builtin_decl): Remove functions. | |
38 | (objc_start_class_interface, objc_start_category_interface, | |
39 | objc_start_protocol, objc_continue_interface, objc_finish_interface, | |
40 | objc_start_class_implementation, objc_start_category_implementation, | |
41 | objc_continue_implementation, objc_finish_implementation, | |
42 | objc_set_visibility, objc_set_method_type, | |
43 | objc_build_method_signature, objc_add_method_declaration, | |
44 | objc_start_method_definition, objc_add_instance_variable, | |
45 | objc_get_protocol_qualified_type, create_field_decl, | |
46 | start_var_decl, finish_var_decl): New functions. | |
47 | (setup_string_decl): Simplify since it is only called once. | |
48 | (synth_module_prologue): Call build_class_template(); predefine 'id' | |
49 | and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug | |
50 | hooks for duration of function; fix GNU runtime messenger signatures | |
51 | to correspond to reality; forward-declare '__objc_exec_class' for the | |
52 | GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate | |
53 | 'extern "C" { ... }' wrappers around synthesized declarations; call | |
54 | build_protocol_template() and build_category_template(). | |
55 | (string_hash, string_eq): New functions. | |
56 | (objc_build_string_object): Check metaclass correctness only once; | |
57 | store string literals in hash table. | |
58 | (objc_build_constructor): Do not convert initializer elements; | |
59 | adjust for ObjC++ impedance mismatch. | |
60 | (build_objc_symtab_template): Call create_field_decl() instead of | |
61 | create_builtin_decl(). | |
62 | (init_objc_symtab): Add missing conversion to initializer element. | |
63 | (build_metadata_decl): Call start_var_decl() instead of define_decl(). | |
64 | (generate_objc_symtab_decl): Do not call build_category_template(); | |
65 | call start_var_decl() and finish_var_decl() instead of start_decl() | |
66 | and finish_decl(). | |
67 | (build_module_descriptor): Call create_field_decl() instead of | |
68 | grokfield(); call start_var_decl() and finish_var_decl() instead of | |
69 | start_decl() and finish_decl(); always mark module descriptor as | |
70 | used; move GNU runtime-specific functionality to | |
71 | build_module_initializer_routine(). | |
72 | (build_module_initializer_routine): New function, broken off of | |
73 | build_module_descriptor(). | |
74 | (objc_static_init_needed_p, objc_generate_static_init_call): New | |
75 | functions. | |
76 | (generate_static_references, generate_strings, | |
77 | build_selector_translation_table, generate_descriptor_table, | |
78 | generate_ivars_list, generate_dispatch_table, generate_category): Call | |
79 | start_var_decl() and finish_var_decl() instead of start_decl() and | |
80 | finish_decl(); build a type directly instead of via groktypename(). | |
81 | (build_selector_reference_decl, build_selector_table_decl, | |
82 | build_class_reference_decl, build_protocol_reference, | |
83 | generate_objc_image_info): Call start_var_decl() instead of | |
84 | build_decl(). | |
85 | (build_selector_reference): For GNU runtime, do not call | |
86 | build_selector_reference_decl(). | |
87 | (build_selector, build_typed_selector_reference): Always convert | |
88 | result to the selector type. | |
89 | (add_objc_string): Cast return value to 'char *'. | |
90 | (build_method_prototype_template, build_selector_template, | |
91 | build_method_template): Use actual selector type for fields | |
92 | pointing to selectors. | |
93 | (finish_objc): For GNU runtime, call | |
94 | build_module_initializer_routine() after build_module_descriptor(). | |
95 | (generate_protocol_list, generate_shared_structures): Call | |
96 | start_var_decl() and finish_var_decl() instead of start_decl() and | |
97 | finish_decl(); build a type directly instead of via | |
98 | groktypename(). | |
99 | (synth_id_with_class_suffix): Return a string. | |
100 | (get_arg_type_list): For instance methods, use the instance type for | |
101 | 'self'; do not call groktypename_in_parm_context(). | |
102 | (build_objc_string_decl): Squash redeclaration errors in ObjC++. | |
103 | (objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME; | |
104 | handle RECORD_TYPEs in ObjC as well as ObjC++. | |
105 | (objc_is_id): New function. | |
106 | (objc_is_object_ptr): Return the canonical type node. | |
107 | (objc_get_class_ivars): Simplify using get_class_ivars(). | |
108 | (get_class_ivars): Remove second parameter; create a fresh copy | |
109 | of the ivar list for each call; do not check for existence of | |
110 | super class. | |
111 | (objc_eh_runtime_type): Mark #ifndef OBJCPLUS. | |
112 | (objc_init_exceptions): When using SJLJ-style exceptions, require | |
113 | the use of '-fobjc-exceptions' flag; do not require it for DWARF-style | |
114 | exceptions. | |
115 | (objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use | |
116 | objc_object_type instead of objc_id_type. | |
117 | (objc_begin_catch_clause): Convert the incoming PARM_DECL into | |
118 | a VAR_DECL before placing it in the appropriate scope; do not | |
119 | call define_decl(); adjust call to c_begin_compound_stmt(); | |
120 | use objc_object_type instead of objc_id_type. | |
121 | (build_next_objc_exception_stuff): Call create_field_decl() instead | |
122 | of create_builtin_decl(); construct type directly instead of calling | |
123 | groktypename(); use OBJC_VOID_AT_END to mark end of function parameters. | |
124 | (build_private_template): Adjust call to get_class_ivars(); build | |
125 | a type directly instead of via groktypename(). | |
126 | (build_protocol_template, build_method_prototype_list_template, | |
127 | build_method_prototype_template, build_category_template, | |
128 | build_selector_template, build_class_template, build_super_template, | |
129 | build_ivar_template, build_ivar_list_template, | |
130 | build_method_list_template, build_method_template): | |
131 | Call create_field_decl() instead of grokfield(). | |
132 | (objc_method_parm_type): Do not call groktypename(). | |
133 | (generate_descriptor_table): Call start_var_decl() and | |
134 | finish_var_decl() instead of start_decl() and finish_decl(). | |
135 | (generate_method_descriptors, build_protocol_initializer, | |
136 | generate_dispatch_tables, build_category_initializer, | |
137 | build_shared_structure_initializer): Do not call groktypename(). | |
138 | (generate_protocols): Call start_var_decl() and finish_var_decl() | |
139 | instead of start_decl() and finish_decl(); do not call groktypename(). | |
140 | (error_with_ivar): Remove last parameter. | |
141 | (check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition | |
142 | to CLASS_IVARS lists; adjust calls to error_with_ivar(). | |
143 | (generate_ivar_lists): Convert one of the initializer elements; do | |
144 | not call groktypename(). | |
145 | (get_arg_type_list, start_method_def, gen_method_def): Account for | |
146 | new representation of variable arguments and '...' in Objective-C | |
147 | methods; add Objective-C++ impedance matching code. | |
148 | (is_objc_type_qualifier): Remove function. | |
149 | (adjust_type_for_id_default): Simplify; there is no longer a need to | |
150 | wade through declspecs. | |
151 | (lookup_interface, start_class, continue_class, | |
152 | finish_class, start_method_def, start_protocol, build_method_decl, | |
153 | objc_add_method, add_instance_variable, build_ivar_reference, | |
154 | is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue): | |
155 | Make into static functions. | |
156 | (receiver_is_class_object): Use new IS_CLASS() macro. | |
157 | (objc_build_message_expr): Tweak ObjC++ message argument handling; | |
158 | call objc_finish_message_expr() instead of finish_message_expr(). | |
159 | (finish_message_expr): Rename to objc_finish_message_expr(); use | |
160 | OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME. | |
161 | call gen_type_name() instead of gen_declaration(); call objc_is_id() | |
162 | instead of using IS_ID and IS_CLASS; Use objc_class_name instead of | |
163 | calling get_identifier("Class"); handle CONVERT_EXPRs in receiver. | |
164 | (build_objc_method_call, warn_with_method): Do not call groktypename(). | |
165 | (build_ivar_reference): Call convert() instead of clobbering in a | |
166 | type. | |
167 | (hash_init): Initialize string_htab hash table. | |
168 | (add_instance_variable): Simplify parameter list; do not call grokfield(); | |
169 | do not populate CLASS_IVARS list. | |
170 | (start_class): Check for the existence of super class, if one was specified. | |
171 | (continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not | |
172 | call build_class_template(); adjust call to get_class_ivars(); call | |
173 | build_decl(), pushdecl() and finish_decl() instead of define_decl(). | |
174 | (finish_class): Call build_decl(), pushdecl() and finish_decl() instead | |
175 | of define_decl(). | |
176 | (add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size. | |
177 | (start_protocol): Do not call build_protocol_template(); use | |
178 | PROTOCOL_BINFO_ELTS for the tree vector size. | |
179 | (encode_type_qualifiers): Do not handle the 'const' qualifier here. | |
180 | (encode_pointer): Encode 'const char *' as 'r*', for backwards | |
181 | compatibility. | |
182 | (encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld". | |
183 | (encode_type): Handle the 'const' qualifier here. | |
184 | (objc_parmlist): New global variable, sued by objc_push_parm and | |
185 | objc_get_parm_info(). | |
186 | (objc_push_parm, objc_get_parm_info): New functions. | |
187 | (objc_expr_last): Remove function. | |
188 | (synth_self_and_ucmd_args): For instance methods, use the instance | |
189 | type for 'self'; call objc_push_parm() instead of push_parm_decl(). | |
190 | (start_method_def): Do not call push_scope(), declare_parm_level(), | |
191 | pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last(); | |
192 | just use objc_push_parm() and objc_get_parm_info(). | |
193 | (comp_method_with_proto): Remove function. | |
194 | (objc_types_are_equivalent): Strip away indirections before comparing | |
195 | underlying types. | |
196 | (comp_proto_with_proto): Do not call groktypename(); types are no | |
197 | longer in raw declspec format. | |
198 | (objc_start_function): New function. | |
199 | (really_start_method): Call comp_proto_with_proto() instead of | |
200 | comp_method_with_proto(); call objc_start_function() instead of | |
201 | hand-crafting a function declarator. | |
202 | (continue_method_def, objc_expand_function_end): Remove functions. | |
203 | (get_super_receiver): Call objc_get_current_scope() instead of | |
204 | get_current_scope(); reference 'super_class' field (instead of | |
205 | 'class'). | |
206 | (finish_method_def): Rename to objc_finish_method_definition() and | |
207 | add a function decl parameter; move method encoding call from | |
208 | objc_expand_function_end(). | |
209 | (is_complex_decl, adorn_decl, gen_declarator, gen_declspecs, | |
210 | gen_declaration_1): Remove functions. | |
211 | (tmpbuf, RAW_DECLSPEC): Remove. | |
212 | (gen_declaration): Remove second parameter; simplify to deal | |
213 | with TYPE_P nodes instead of raw declspecs. | |
214 | (gen_type_name, gen_type_name_0): New functions. | |
215 | (gen_method_decl): Remove second parameter; call gen_type_name() | |
216 | instead of gen_declaration_1(). | |
217 | (dump_interface): Adjust calls to gen_declaration() and | |
218 | gen_method_decl(); do not allocate a separate string buffer. | |
219 | (init_objc): Allocate a larger string buffer to accommodate | |
220 | dump_interface(); adjust call to build_module_descriptor(); | |
221 | add call to build_module_initializer_routine() for the GNU | |
222 | runtime. | |
223 | (generate_classref_translation_entry): Do not call start_decl(); call | |
224 | finish_var_decl() instead of finish_decl(); call convert() instead of | |
225 | build_c_cast(). | |
226 | * objc-act.h (CLASS_OWN_IVARS): Remove accessor. | |
227 | (CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is | |
228 | gone. | |
229 | (OCTI_GNU_INIT_DECL, GNU_INIT_decl): New. | |
230 | (OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove. | |
231 | (OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME, | |
232 | objc_object_type and objc_object_name, respectively. | |
233 | (OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference, | |
234 | objc_class_name): New. | |
235 | (IS_CLASS): New macro. | |
236 | (IS_ID, IS_SUPER): Robustify. | |
237 | (OCTI_EXECCLASS_DECL, execclass_decl): New. | |
238 | (finish_file, start_class, continue_class, finish_class, | |
239 | start_method_def, continue_method_def, finish_method_def, | |
240 | start_protocol, finish_protocol, objc_build_throw_stmt, | |
241 | objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue, | |
242 | objc_build_synchronized_epilogue, objc_build_try_prologue, | |
243 | objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue, | |
244 | objc_build_finally_prologue, objc_build_finally_epilogue, | |
245 | is_ivar, is_private, is_public, add_instance_variable, objc_add_method, | |
246 | get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name, | |
247 | get_class_reference, get_static_reference, get_object_reference, | |
248 | build_message_expr, finish_message_expr, build_selector_expr, | |
249 | build_ivar_reference, build_keyword_decl, build_method_decl, | |
250 | build_protocol_expr, build_objc_string_object, objc_declare_alias, | |
251 | objc_declare_class, objc_declare_protocols, objc_comptypes, | |
252 | objc_check_decl, build_encode_expr): Remove prototypes. | |
253 | (imp_count, cat_count): Make GGC-aware. | |
254 | (OBJC_SET_TYPE_NAME): New macro. | |
255 | ||
89359403 | 256 | 2004-09-03 Ziemowit Laski <zlaski@apple.com> |
257 | ||
258 | * config-lang.in: Update copyright notice. | |
259 | (lang_requires): Indicate that ObjC requires C to be built first. | |
260 | ||
66eb9e7e | 261 | 2004-09-01 Ziemowit Laski <zlaski@apple.com> |
262 | ||
263 | * objc-act.c (objc_check_decl): Use OBJC_TYPE_NAME macro instead of | |
264 | TYPE_NAME. | |
265 | (build_objc_string_object): Rename to objc_build_string_object(). | |
266 | (get_class_reference): Rename to objc_get_class_reference(). | |
267 | (get_class_ivars_from_name): Rename to objc_get_class_ivars(). | |
268 | (next_sjlj_build_catch_list, get_super_receiver): Call | |
269 | objc_get_class_reference() instead of get_class_reference(). | |
270 | (build_keyword_decl): Rename to objc_build_keyword_decl(). | |
271 | (build_message_expr): Rename to objc_build_message_expr(). | |
272 | (build_protocol_expr): Rename to objc_build_protocol_expr(). | |
273 | (build_selector_expr): Rename to objc_build_selector_expr(). | |
274 | (build_encode_expr): Rename to objc_build_encode_expr(). | |
275 | * objc-act.h (get_class_ivars_from_name): Rename prototype to | |
276 | objc_get_class_ivars(). | |
277 | (get_class_reference): Rename prototype to objc_get_class_reference(). | |
278 | (build_message_expr): Rename prototype to objc_build_message_expr(). | |
279 | (build_selector_expr): Rename prototype to objc_build_selector_expr(). | |
280 | (build_keyword_decl): Rename prototype to objc_build_keyword_decl(). | |
281 | (build_protocol_expr): Rename prototype to objc_build_prototype_expr(). | |
282 | (build_objc_string_object): Rename prototype to | |
283 | objc_build_string_object(). | |
284 | ||
99d7d801 | 285 | 2004-09-01 Ziemowit Laski <zlaski@apple.com> |
286 | ||
287 | * objc-act.c (lookup_interface): Make function 'static' and add a | |
288 | local prototype. | |
289 | (objc_check_decl, get_class_reference, objc_declare_alias, | |
290 | objc_declare_class, objc_is_object_ptr): Call objc_is_class_name() | |
291 | instead of is_class_name(). | |
292 | (get_super_receiver, objc_clear_super_receiver): Call | |
293 | objc_get_current_scope() instead of get_current_scope(). | |
294 | (is_class_name): Rename to objc_is_class_name. | |
295 | (lookup_objc_ivar): Rename to objc_lookup_ivar. | |
296 | ||
11a35d8f | 297 | 2004-08-28 Ziemowit Laski <zlaski@apple.com> |
298 | ||
299 | * objc-act.c (objc_is_reserved_word): New function. | |
300 | ||
800b56f2 | 301 | 2004-08-15 Ziemowit Laski <zlaski@apple.com> |
302 | ||
303 | * Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H), | |
304 | $(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h. | |
305 | (objc/objc-parse.o): Do not depend on gtype-objc.h. | |
306 | * objc-act.c: Do not include gtype-objc.h. | |
307 | (finish_file): Rename to objc_finish_file(). | |
308 | * objc-act.h (finish_file): Update copyright notice; remove prototype. | |
309 | * objc-lang.c: Update copyright notice; include diagnostic.h, | |
310 | c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include | |
311 | toplev.h. | |
312 | (finish_file): New hook routine. | |
313 | (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS, | |
314 | LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION, | |
315 | LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS, | |
316 | LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P, | |
317 | LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE, | |
318 | LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION, | |
319 | LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL, | |
320 | LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, | |
321 | LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, | |
322 | LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED, | |
323 | LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, | |
324 | LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT, | |
325 | LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, | |
326 | LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, | |
327 | LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS, | |
328 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
329 | LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING, | |
330 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, | |
331 | LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN, | |
332 | LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE, | |
333 | LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE, | |
334 | LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE, | |
335 | LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO, | |
336 | LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS): | |
337 | Move to c-objc-common.h. |