OSDN Git Service

In libobjc/:
[pf3gnuchains/gcc-fork.git] / libobjc / ChangeLog
1 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2
3         * Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h,
4         objc_malloc.h and objc_unexpected_exception.h.
5         (exception.lo): Do not use -Wno-deprecated-declarations.
6         (exception_gc.lo): Likewise.
7         * objc/objc-api.h: Do not include deprecated/objc_valloc.h,
8         deprecated/objc_malloc.h and
9         deprecated/objc_unexpected_exception.h.
10         * objc/deprecated/objc_valloc.h: Removed.
11         * objc/deprecated/objc_malloc.h: Removed.
12         * objc/deprecated/objc_unexpected_exception.h: Removed.
13         * exception.c (_objc_unexpected_exception): Removed.
14         (objc_exception_throw): Do not check for
15         _objc_unexpected_exception.
16         * memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc,
17         _objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed.        
18         * libobjc.def (_objc_unexpected_exception, objc_valloc): Removed.
19         
20 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
21
22         * objc/objc.h: Do not include deprecated/STR.h.
23         * objc/deprecated/STR.h: Removed.
24         * Makefile.in (OBJC_DEPRECATED_H): removed STR.h.
25         
26 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
27
28         * Makefile.in (OBJC_H): Removed hash.h and sarray.h.
29         (OBJC_DEPRECATED_H): Likewise.
30         * libobjc.def (objc_hash_new, objc_hash_delete, objc_hash_add,
31         objc_hash_remove, objc_hash_next, objc_hash_value_for_key,
32         objc_hash_is_key_in_hash, hash_add, hash_delete, hash_new,
33         hash_next, hash_remove, hash_value_for_key, hash_is_key_in_hash,
34         sarray_at_put, sarray_at_put_safe, sarray_free, sarray_lazy_copy,
35         sarray_new, sarray_realloc, sarray_remove_garbage): Removed.
36         * objc/sarray.h: Removed.
37         * objc/hash.h: Removed.
38         * objc/deprecated/sarray.h: Removed.
39         * objc/deprecated/hash.h: Removed.
40         * objc/Object.h: Do not include objc/deprecated/hash.h
41         * Object.m: Include string.h.
42         * objc/objc-api.h: Do not include objc/deprecated/hash.h.
43         * objc-private/common.h (GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF):
44         Removed.
45
46 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
47
48         * Object.m ([-forward::]): Removed.
49         * objc/deprecated/Object.h ([-forward::]): Removed.
50         * sendmsg.c (__objc_forward): Updated comments.
51         
52 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
53
54         * Makefile.in (OBJC_H): Removed objc-list.h.
55         (OBJC_DEPRECATED_H): Removed objc-list.h.
56         * objc/objc-list.h: File removed.
57         * objc/deprecated/objc-list.h: File removed.
58
59 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
60
61         * Makefile.in (OBJC_H): Removed typedstream.h.
62         (OBJC_DEPRECATED_H): Removed typedstream.h.
63         (C_SOURCE_FILES): Removed archive.c.
64         (Object.lo): Rule removed.
65         (Object_gc.lo): Likewise.
66         (archive.lo): Likewise.
67         (archive_gc.lo): Likewise.
68         * objc/deprecated/Object.h ([+streamVersion:], [-read], [-write],
69         [-awake]): Removed.
70         Do not include deprecated/typedstream.h.
71         * Object.m: Removed the same methods.
72         * archive.c: File removed.
73         * objc/typedstream.h: File removed.
74         * objc/deprecated/typedstream.h: File removed.
75         * libobjc.def (__objc_read_nbyte_uint, __objc_read_nbyte_ulong,
76         __objc_write_class, __objc_write_object, __objc_write_selector,
77         objc_close_typed_stream, objc_end_of_typed_stream,
78         objc_flush_typed_stream, objc_get_stream_class_version,
79         objc_open_typed_stream, objc_open_typed_stream_for_file,
80         objc_read_array, objc_read_char, objc_read_int, objc_read_long,
81         objc_read_object, objc_read_selector, objc_read_short,
82         objc_read_string, objc_read_type, objc_read_types,
83         objc_read_unsigned_char, objc_read_unsigned_int,
84         objc_read_unsigned_long, objc_read_unsigned_short,
85         objc_write_array, objc_write_char, objc_write_int,
86         objc_write_long, objc_write_object, objc_write_object_reference,
87         objc_write_root_object, objc_write_selector, objc_write_short,
88         objc_write_string, objc_write_string_atomic, objc_write_type,
89         objc_write_types, objc_write_unsigned_char,
90         objc_write_unsigned_int, objc_write_unsigned_long,
91         objc_write_unsigned_short): Removed.
92         
93 2011-06-02  Nicola Pero  <nicola.pero@meta-innovation.com>
94
95         * Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h.
96         * objc/deprecated/objc_error.h: Removed.
97         * objc/objc-api.h: Do not include deprecated/objc_error.h.
98         * libobjc.def (objc_error, objc_verror): Removed.
99         * error.c (_objc_error_handler, objc_error, objc_verror,
100         objc_set_error_handler): Removed.
101         * Object.m ([-error:], [-perform:], [-perform:with:],
102         [-perform:with:with], [-subclassResponsibility:],
103         [-notImplemented:], [-shouldNotImplement:], [-doesNotRecognize:]):
104         Removed.
105         * objc/deprecated/Object.h: Removed the same methods.
106         * sendmsg.c (__objc_forward): Do not try to invoke the "error:"
107         method after trying to invoke the "doesNotRecognize:" method.
108         
109 2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
110
111         * sendmsg.c: Reindented part of the file.  No non-trivial changes
112         in code.
113
114 2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
115
116         * sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
117         not objc_lookup_class.
118
119 2011-05-25  Richard Frith-Macdonald <rfm@gnu.org>
120             David Ayers  <ayers@fsfe.org>
121
122         PR libobjc/38307
123         * sendmsg.c: Include objc/hash.h.
124         (get_implementation): New function, mostly with code from get_imp
125         updated to support the new +initialize dispatch table logic.
126         (get_imp): Use get_implementation.
127         (__objc_responds_to): Updated to support the new +initialize
128         dispatch table logic.
129         (class_respondsToSelector): Likewise.
130         (objc_msg_lookup): Use get_implementation.
131         (__objc_init_install_dtable): Removed.
132         (__objc_install_methods_in_dtable): Updated arguments.
133         (__objc_install_dispatch_table_for_class): Renamed to
134         __objc_install_dtable_for_class and updated to support the new
135         +initialize dispatch table logic.
136         (__objc_update_dispatch_table_for_class): Updated to support the
137         new +initialize dispatch table logic.
138         (__objc_forward): Call get_implementation instead of get_imp.
139         (prepared_dtable_table): New.
140         (__objc_prepare_dtable_for_class): New. 
141         (__objc_prepared_dtable_for_class): New.
142         (__objc_get_prepared_imp): New.
143         (__objc_install_prepared_dtable_for_class): New.
144         
145 2011-05-24  Nicola Pero  <nicola.pero@meta-innovation.com>
146
147         PR libobjc/48177
148         * selector.c (__sel_register_typed_name): Use sel_types_match()
149         instead of strcmp() to compare selector types (Suggestion by
150         Richard Frith-Macdonald <rfm@gnu.org>).
151
152 2011-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
153
154         PR libobjc/32037
155         * Makefile.in (OBJC_GCFLAGS): Move ...
156         * configure.ac (enable_objc_gc): ... here.
157         Add $(libsuffix) to OBJC_BOEHM_GC.
158         * configure: Regenerate.
159
160 2011-02-28  Nicola Pero  <nicola.pero@meta-innovation.com>
161         
162         * selector.c (sel_getTypedSelector): Return NULL if there are
163         multiple selectors with conflicting types.
164         * objc/runtime.h (sel_getTypedSelector): Updated documentation.
165         
166 2011-02-28  Richard Frith-Macdonald <rfm@gnu.org>
167
168         PR libobjc/47922
169         * gc.c (class_ivar_set_gcinvisible): Use _C_GCINVISIBLE instead of
170         a hardcoded "!".
171
172 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
173
174         * configure: Regenerate.
175
176 2010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>
177
178         * init.c (create_tree_of_subclasses_inherited_from): Use
179         class_superclass_of_class instead of assuming a class is
180         unresolved when it could be resolved.  Tidied up assignment and
181         check.
182         (__objc_tree_insert_class): Enhanced DEBUG_PRINTF.
183         (objc_tree_insert_class): Tidied up loop; return immediately upon
184         inserting a class.
185         (__objc_exec_class): Do not set __objc_class_tree_list.
186         
187 2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
188
189         * selector.c (sel_getTypedSelector): Return NULL if given a NULL
190         argument.
191         (sel_registerTypedName): Same.
192         (sel_registerName): Same.
193         * objc/runtime.h: Updated documentation.
194         
195 2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
196
197         * objc/runtime.h (class_addIvar): Updated documentation.  The
198         alignment is actually the log_2 of the alignment in bytes.
199         * ivars.c (class_addIvar): Corresponding change to the
200         implementation.
201         
202 2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
203
204         * objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to
205         be consistent with method_getTypeEncoding and
206         ivar_getTypeEncoding.
207         (sel_copyTypedSelectorList, sel_getTypedSelector): New.
208         * selector.c (sel_getType): Renamed to sel_getTypeEncoding.
209         (sel_copyTypedSelectorList, sel_getTypedSelector): New.
210         (sel_get_type): Updated call to sel_getType.
211         
212 2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
213
214         * objc/runtime.h (class_conformsToProtocol,
215         class_copyProtocolList): Updated documentation.
216
217 2010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
218
219         * init.c (create_tree_of_subclasses_inherited_from): Updated
220         DEBUG_PRINTF messages.
221         (__objc_tree_insert_class): Same.
222         (__objc_send_load_using_method_list): Same.
223         (__objc_send_load): Same.
224         (__objc_exec_class): Same.  In particular, do not print the module
225         name since it is no longer used.
226         * sendmsg.c (__objc_send_initialize): Added DEBUG_PRINTFs for
227         tracking +initialize calls.
228         (__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for
229         tracking updates of dispatch tables.
230         (__objc_install_dispatch_table_for_class): Same.
231         
232 2010-12-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
233
234         * Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc.
235         (libobjc_gc$(libsuffix).la): Likewise.
236
237 2010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
238
239         * sendmsg.c (class_addMethod): Return NO if the method already
240         exists in the class.
241
242 2010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
243
244         * init.c (duplicate_classes): New.
245         (__objc_exec_class): Initialize duplicate_classes.
246         (__objc_create_classes_tree): Ignore classes in the
247         duplicate_classes table.
248         (__objc_call_load_callback): Same.
249         (__objc_init_class): If a duplicate class is found, add it to
250         duplicate_classes instead of aborting.  Return YES if the class is
251         not a duplicate, and NO if it is.
252         * objc-private/runtime.h (__objc_init_class): Updated prototype.
253
254 2010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
255
256         * objc-private/objc-list.h: Reindented file.  No code changes.
257         * objc-private/sarray.h: Same change.
258
259 2010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
260
261         * objc-private/accessors.h: Removed 'extern "C"' guards.  This
262         file is never compiled with C++.
263         * objc-private/hash.h: Same change.
264         * objc-private/objc-list.h: Same change.
265         * objc-private/objc-sync.h: Same change.
266         * objc-private/protocols.h: Same change.
267         * objc-private/runtime.h: Same change.
268         * objc-private/sarray.h: Same change.
269         * objc-private/selector.h: Same change.
270
271 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
272
273         PR libobjc/18764
274         * class.c (__objc_add_class_to_hash): Return YES if the class was
275         added, and NO if it already existed.
276         * init.c (__objc_init_class): If __objc_add_class_to_hash returns
277         NO, then abort the program with an error message.
278         * objc-private/runtime.h (__objc_add_class_to_hash): Updated
279         declaration.
280
281 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>      
282
283         * init.c (_objc_load_callback): Initialize with 0.
284         (__objc_call_callback): Renamed to __objc_call_load_callback.
285         Check _objc_load_callback only once, and if it is not set, return
286         immediately.
287         (objc_send_load): Updated call to __objc_call_callback.
288         
289 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
290
291         PR libobjc/16110
292         * init.c (__objc_send_message_in_list): Renamed to
293         __objc_send_load_using_method_list.  Do not take an 'op' argument.
294         Register the 'load' selector if needed.
295         (__objc_send_load): Do not register the 'load' selector.  Updated
296         call to __objc_send_message_in_list.
297         (__objc_create_classes_tree): Add the class of any claimed
298         category that was loaded in the module to the list of classes for
299         which we try to execute +load.
300         
301 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
302
303         * objc-private/common.h: When DEBUG is defined, include <stdio.h>.
304         Updated comments.
305         * init.c (__objc_tree_insert_class): Use %p, not %x, when printing
306         a pointer using DEBUG_PRINTF.
307         
308 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
309
310         PR libobjc/45953
311         * selector.c (__sel_register_typed_name): When registering a new
312         selector with the same name as an existing one, reuse the existing
313         name string.  Also updated types, casts and comments in the whole
314         function.
315
316 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
317
318         * objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs'
319         to be 'struct objc_selector *' and not 'SEL'.
320         * init.c (__objc_exec_class): Call
321         __objc_register_selectors_from_module instead of iterating over
322         each selector and calling __sel_register_typed_name for each.
323         * objc-private/selector.h: Declare
324         __objc_register_selectors_from_module instead of
325         __sel_register_typed_name.
326         * selector.c (__objc_register_selectors_from_module): New.
327         (__sel_register_typed_name): Made static.
328         
329 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
330
331         * linking.m: Do not include objc/NXConstStr.h.
332
333 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
334         
335         * objc-private/runtime.h (DEBUG_PRINTF): Moved from here ...
336         * objc-private/common.h (DEBUG_PRINTF): To here.
337         * hash.c: Do not include objc-private/runtime.h and objc/thr.h.
338         
339 2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
340
341         * hash.c: Tidied up comments and indentation.  No code changes.
342
343 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
344
345         PR libobjc/47012
346         * accessors.m (objc_getProperty): If not atomic, do not
347         retain/autorelease the returned value.
348
349 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
350
351         * objc-private/runtime.h (__objc_selector_max_index,
352         __objc_init_selector_tables, __objc_register_selectors_from_class,
353         __objc_register_selectors_from_list,
354         __objc_register_selectors_from_description_list): Moved to ...
355         * objc-private/selector.h: ... here.
356
357 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
358
359         * objc-private/runtime.h (__objc_class_links_resolved): Removed.
360         (__objc_print_dtable_stats): Removed.
361         (__sel_register_typed_name): Removed.
362         * sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument.
363         
364 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
365
366         * init.c (__objc_exec_class): Call __objc_resolve_class_links (),
367         if appropriate, after loading the module.
368
369 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
370
371         * sendmsg.c (method_setImplementation): Do not declare.
372
373 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
374
375         * objc/message.h: Updated comments.
376         * objc/runtime.h: Updated comments.
377         
378 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
379
380         * class.c (objc_lookupClass): Renamed to objc_lookUpClass.
381         * protocols.c: Updated all calls to objc_lookupClass to call
382         objc_lookUpClass instead.
383         * sendmsg.c (objc_lookupClass): Do not declare.
384         (get_imp): Update call to objc_lookupClass to call
385         objc_lookUpClass instead.
386         * objc/runtime.h (objc_lookupClass): Renamed to objc_lookUpClass.
387
388 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
389
390         * objc/runtime.h (class_ivar_set_gcinvisible): Declare.
391         * sendmsg.c (_CLS_IN_CONSTRUCTION, CLS_IS_IN_CONSTRUCTION): Do not
392         define.  Updated comments.
393         
394 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
395
396         * objc/encoding.h: Updated comments.
397         * objc/runtime.h: Updated comments.
398         (objc_setGetUnknownClassHandler): Mark with objc_EXPORT.
399         (objc_sizeof_type): Same.
400         (objc_alignof_type): Same.
401         (objc_aligned_size): Same.
402         (objc_promoted_size): Same.
403         (objc_skip_type_qualifiers): Same.
404         (objc_skip_typespec): Same.
405         (objc_skip_offset): Same.
406         (objc_skip_argspec): Same.
407         (objc_get_type_qualifiers): Same.
408         (objc_layout_structure): Same.
409         (objc_layout_structure_next_member): Same.
410         (objc_layout_finish_structure): Same.
411         (objc_layout_structure_get_info): Same.
412         
413 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
414
415         * init.c: Updated comments.
416         * objc/objc-api.h: Updated comments.
417         * objc/runtime.h (_objc_load_callback): Declare.
418         
419 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
420
421         * objc/Object.h: Include deprecated/typedstream.h and
422         deprecated/hash.h instead of typedstream.h.  Updated comments.
423
424 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
425
426         * Makefile.in (OBJC_DEPRECATED_H): Added objc_msg_sendv.h.
427         * objc/deprecated/objc_msg_sendv.h: New.
428         * objc/message.h: Do not define retval_t, apply_t, arglist,
429         arglist_t, objc_msg_sendv, now in
430         objc/deprecated/objc_msg_sendv.h.
431         * objc/objc.h: Do not include message.h; include
432         objc/deprecated/objc_msg_sendv.h instead.  Tidied up comments.
433         * sendmsg.c: Include objc/message.h.
434         * thr.c: Include objc/message.h.
435         
436 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
437
438         * objc/objc-exception.h: Include objc-decls.h.  Mark all
439         functions with objc_EXPORT.
440         * objc/objc-sync.h: Same change.
441
442 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
443
444         * Protocol.m: Moved all methods, with the exception of -isEqual:,
445         into the 'Deprecated' category.
446         * objc/Protocol.h: Removed all methods, moved to
447         objc/deprecated/Protocol.h.  Include objc/deprecated/Protocol.h.
448         * objc/deprecated/Protocol.h: New.
449         * Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h.
450         
451 2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
452
453         * init.c: Include objc-private/selector.h.  Do not declare
454         __sel_register_typed_name.
455         * objc-private/selector.h (__sel_register_typed_name): Declare.
456         * selector.c: Include objc-private/selector.h.
457         
458 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
459
460         * class.c: Tidied up comments and indentation.  No code changes.
461         * error.c: Same.
462         * exception.c: Same.
463         * init.c: Same.
464         * ivars.c: Same.
465         * memory.c: Same.
466         * objc-foreach.c: Same.
467         * objc-sync.c: Same.
468         * objects.c: Same.
469         * protocols.c: Same.
470         * sarray.c: Same.
471         * thr.c: Same.
472
473 2010-12-17  Nicola Pero  <nicola.pero@meta-innovation.com>
474
475         * init.c: Include objc/runtime.h and objc-private/module-abi-8.h
476         instead of objc/objc-api.h.
477         (init_check_module_version): Take a 'struct objc_module *'
478         argument instead of 'Module_t'.  Use 'struct objc_module *'
479         instead of 'Module_t'.
480         (__objc_created_classes_tree): Take a 'struct objc_module *'
481         argument instead of 'Module_t'; use 'struct objc_symtab *' instead
482         of 'Symtab_t'.
483         (__objc_call_callback): Take a 'struct objc_module *' argument
484         instead of 'Module_t'; use 'struct objc_symtab *' instead of
485         'Symtab_t' and 'struct objc_category *' instead of 'Category_t'.
486         (_objc_load_callback): Take a 'struct objc_category *' argument
487         instead of 'Category *'.
488         (class_superclass_of_class): Use objc_getClass() instead of
489         objc_lookup_class().
490         (create_tree_of_subclasses_inherited_from): Same change (also, use
491         an explicit 'if' instead of '?').
492         (objc_init_statics): Same change.
493         (objc_send_load): Same change.
494         (__objc_init_protocol): same change.
495         (__objc_send_message_in_list): Take a 'struct objc_method_list *'
496         argument instead of 'MethodList_t'.  Use 'struct objc_method *'
497         instead of 'Method_t'.
498         (__objc_send_load): Use 'struct objc_method_list *' instead of
499         'MethodList_t'.  Use sel_registerName() instead of
500         sel_register_name().
501         (__objc_exec_class): Take a 'struct objc_module *' argument
502         instead of 'Module_t'.  Use 'struct objc_symtab *' instead of
503         'Symtab_t'.  Use objc_getClass() instead of objc_lookup_class().
504         Use 'struct objc_category *' instead of 'Category_t'.
505         
506 2010-12-16  Nicola Pero  <nicola.pero@meta-innovation.com>
507
508         * sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h.
509         Include objc-private/module-abi-8.h and objc-private/selector.h
510         instead of objc/encoding.h.
511         (objc_msg_lookup_super): Use super->super_class instead of
512         super->class.
513         (method_get_first_argument, method_get_next_argument): Declare
514         locally.
515         (class_get_instance_method): Declare before using.
516         (objc_msg_sendv): Use 'struct objc_method' instead of 'Method'.
517         (__objc_init_dispatch_tables, __objc_send_initialize): Use
518         sel_registerName() instead of sel_register_name().
519         (__objc_forward): Use sel_getName() instead of sel_get_name().
520         (objc_get_uninstalled_dtable): Use 'void' as argument.
521         * objc-private/selector.h: New.
522
523 2010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
524
525         * objc/message.h (objc_super): When using the modern API, do not
526         define Super and Super_t, and always use 'super_class' for the
527         super class field.      
528         (objc_msg_lookup_super): Updated prototype to use 'struct
529         objc_super *' instead of 'Super_t'.
530         * sendmsg.c (objc_msg_lookup_super): Updated prototype to use
531         'struct objc_super *' instead of 'Super_t'.
532
533 2010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
534
535         * objc/message.h: Update comments, reindented code and moved
536         deprecated types and functions at the end of the file.  No code
537         changes.
538
539 2010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
540
541         * ivars.c (class_addIvar): Use the 'size' argument instead of
542         trying to calculate it using objc_sizeof_type().
543         * objc/runtime.h (class_addIvar): Updated comments.
544         
545 2010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
546
547         * sendmsg.c: Reindented some code and tidied up comments.  No
548         actual code changes.
549         
550 2010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
551
552         * objc/Object.h: Moved all the methods, with the exception of
553         -class and -isEqual:, into ...
554         * objc/deprecated/Object.h: here.
555         * Object.m: Moved all the methods, with the exception of -class
556         and -isEqual: into the 'Deprecated' category.
557
558 2010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
559
560         * objects.c (object_copy): Do not #undef as we are no longer
561         including objc/objc-api.h.
562         * selector.c: Include objc/runtime.h and
563         objc-private/module-abi-8.h.  Do not include objc/objc-api.h and
564         objc/encoding.h.  Updated
565         (__objc_register_selectors_from_class): Use struct
566         objc_method_list * instead of MethodList_t.
567         (__objc_register_selectors_from_list): Use Method instead of
568         Method_t.
569         (struct objc_method_description_list): Do not define here.
570         (__objc_register_instance_methods_to_class): Use struct
571         objc_method_list * instead of MethodList_t and Method instead of
572         Method_t.
573         
574 2010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
575
576         * selector.c: Reindented some code and tidied up comments.  No
577         actual code changes.
578
579 2010-12-13  Iain Sandoe  <iains@gcc.gnu.org>
580
581         * encoding.c (_darwin_rs6000_special_round_type_align): New.
582         (darwin_rs6000_special_round_type_align): Adjust to use new routine.
583
584 2010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
585
586         * sendmsg.c (selector_resolveClassMethod): New.
587         (selector_resolveInstanceMethod): New.
588         (__objc_resolve_class_method): New.
589         (__objc_resolve_instance_method): New.
590         (get_imp): Call __objc_resolve_class_method or
591         __objc_resolve_instance_method at the appropriate time.
592         (objc_msg_lookup): Same.
593         (class_getClassMethod): Same.   
594         (class_getInstanceMethod): Same.
595         (__objc_init_dispatch_tables): Initialize
596         selector_resolveClassMethod and selector_resolveInstanceMethod.
597         * objc/runtime.h: Updated documentation of class_getClassMethod,
598         class_getInstanceMethod and class_getMethodImplementation.
599         
600 2010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
601
602         * objc-private/module-abi-8.h (struct objc_symtab): Updated
603         description of sel_ref_cnt and refs.
604         * objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change.
605         
606 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
607
608         PR target/40125
609         PR lto/46695
610         * configure.ac (extra_ldflags_libobjc): Invoke ACX_LT_HOST_FLAGS.
611         * Makefile.in (lt_host_flags): Import AC_SUBST'd value.
612         * aclocal.m4: Regenerate.
613         * configure: Regenerate.
614
615 2010-12-03  Matthias Klose  <doko@ubuntu.com> 
616
617         * configure.ac (VERSION): Bump the version to 3:0:0.
618         * configure: Regenerate.
619
620 2010-11-23  Richard Frith-Macdonald <rfm@gnu.org>
621
622         * sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to
623         pass nil as the receiver since we don't know the receiver at this
624         point.
625         
626 2010-11-18  Nicola Pero  <nicola.pero@meta-innovation.com>
627
628         * ivars.c: Include stdlib.h.
629         * protocols.c: Same change.
630
631 2010-10-24  Nicola Pero  <nicola.pero@meta-innovation.com>
632
633         * Makefile.in (OBJC_SOURCE_FILES): Added accessors.m.
634         * accessors.m: New.
635         * init.c: Include objc-private/accessors.h.
636         (__objc_exec_class): Call __objc_accessors_init.
637         * objc-private/accessors.h: New.
638
639 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
640
641         * objc/message.h: Moved initial includes outside of extern "C".
642         * objc/runtime.h: Add extern "C" for Objective-C++.
643
644 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
645
646         * init.c (objc_send_load): Do not wait for NXConstantString to be
647         registered before executing +load.  There is no point if
648         -fconstant-string-class=xxx is used when compiling all modules,
649         as is the case for almost all users.
650         * linking.m (__objc_linking): Do not try to forcefully link in
651         NXConstantString.
652
653 2010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
654
655         * objc/runtime.h: Updated comments.
656         (class_addMethod): New.
657         (class_addIvar): New.
658         (class_replaceMethod): New.
659         (objc_allocateClassPair): New.
660         (objc_registerClassPair): New.
661         (objc_disposeClassPair): New.
662         * class.c (objc_allocateClassPair): New.
663         (objc_registerClassPair): New.
664         (objc_disposeClassPair): New.
665         (class_getSuperclass): Return Nil if a class is in construction.
666         * init.c (__objc_exec_class): Call __objc_init_class.
667         (__objc_init_class): New.
668         * ivars.c (class_copyIvarList): Return NULL if class is in
669         construction.  Do not lock the runtime mutex.
670         (class_getInstanceVariable): Return NULL if class is in
671         construction.  Do not lock the runtime mutex.
672         (class_addIvar): New.
673         * sendmsg.c (class_addMethod): New.
674         (class_replaceMethod): New.
675         * objc-private/module-abi-8.h (__CLS_SETNOTINFO): New.
676         (_CLS_IN_CONSTRUCTION): New.
677         (CLS_IS_IN_CONSTRUCTION): New.
678         (CLS_SET_IN_CONSTRUCTION): New.
679         (CLS_SET_NOT_IN_CONSTRUCTION): New.
680         * objc-private/runtime.h (__objc_init_class): New.
681
682 2010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
683
684         * class.c (class_getSuperclass): Call __objc_resolve_class_links
685         if the class is not resolved yet.
686         * ivars.c (class_getInstanceVariable): Use class_getSuperclass.
687         
688 2010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
689
690         * objc/runtime.h (class_getIvarLayout): New.
691         (class_getWeakIvarLayout): New.
692         (class_setIvarLayout): New.
693         (class_setWeakIvarLayout): New.
694         * ivars.c (class_getIvarLayout): New.
695         (class_getWeakIvarLayout): New.
696         (class_setIvarLayout): New.
697         (class_setWeakIvarLayout): New. 
698
699 2010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
700         
701         * objc/runtime.h (class_copyPropertyList): New.
702         (class_getProperty): New.
703         (property_getAttributes): New.
704         (property_getName): New.
705         * ivars.c (class_copyPropertyList): New.
706         (class_getProperty): New.
707         (property_getAttributes): New.
708         (property_getName): New.
709         
710 2010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
711
712         * objc-private/runtime.h (__objc_update_classes_with_methods): New.
713         * class.c (__objc_update_classes_with_methods): New.
714         (objc_getClassList): Do not lock the class lock.
715         * methods.c (method_exchangeImplementations): New.
716         (method_setImplementation): New.
717         * objc/runtime.h (method_setImplementation): New.
718         (method_exchangeImplementations): New.
719         
720 2010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
721
722         * Protocol.m: Include objc/runtime.h and
723         objc-private/module-abi-8.h instead of objc/objc-api.h.  Do not
724         repeat Protocol's instance variables.
725         (struct objc_method_description_list): Do not define here.
726         ([-conformsTo:]): Reimplemented on top of protocol_conformsTo().
727         ([descriptionForInstanceMethod:]): Use sel_isEqual() to compare
728         selectors directly instead of getting names and then using strcmp.
729         ([descriptionForClassMethod:]): Same change.
730         ([-isEqual:]): Reimplemented on top of protocol_isEqual().
731         * protocols.c (protocol_getMethodDescription): Use sel_isEqual()
732         to compare selectors directly instead of getting names and then
733         using strcmp.
734         * objc/Protocol.h: Updated comments.
735         
736 2010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
737
738         * init.c (__objc_init_protocol): New function which fixes up a
739         protocol's class pointer, registers it with the runtime, register
740         all protocol selectors and registers associated protocols too.
741         (objc_init_statics): Detect if we are initializing protocols, and
742         if so, use __objc_init_protocol instead of only fixing up the
743         class pointer.
744         (__objc_init_protocls): Use __objc_init_protocol.
745         * objc-private/module-abi-8.h: Updated comments.
746         * objc-private/runtime.h
747         (__objc_register_selectors_from_description_list): New.
748         * selector.c (__objc_register_selectors_from_description_list):
749         New.  (struct objc_method_description_list): Declare.
750         * Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name
751         when accessing the name of a method, which is now correctly a SEL.
752         ([-descriptionForClassMethod:]): Same change.
753         * protocols.c (protocol_getMethodDescription): Same change.
754         * objc/runtime.h: Updated comments.
755         (sel_registerTypedName): Fixed typo in function name.
756         
757 2010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
758
759         PR libobjc/23214
760         * init.c (objc_init_statics): Do not skip the initialization of a
761         statics list if the first object has already been initialized; in
762         the case of Protocols, while the first one may have been
763         initialized, some others may not have been initialized yet.
764
765 2010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
766
767         * Makefile.in (OBJC_DEPRECATED_H): Added
768         objc_get_uninstalled_dtable, objc_object_alloc.h and
769         struct_objc_static_instances.h.
770
771 2010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
772
773         * encoding.c (method_copyReturnType): New.
774         (method_copyArgumentType): New.
775         (method_getReturnType): New.
776         (method_getArgumentType): New.
777         * methods.c (method_getDescription): New.
778         * objc/runtime.h (method_copyReturnType): New.
779         (method_copyArgumentType): New.
780         (method_getReturnType): New.
781         (method_getArgumentType): New.
782         (method_getDescription): New.
783         
784 2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
785
786         * encoding.c: Tidied up comments.
787         (objc_skip_variable_name): New static inline function.
788         (objc_sizeof_type): Use objc_skip_variable_name instead of copying
789         the same code over and over.
790         (objc_alignof_type): Same.
791         (objc_aligned_size): Same.
792         (objc_promoted_size): Same.
793         (objc_skip_typespec): Same.
794         (objc_layout_structure_next_member): Same.
795         (objc_skip_offset): Skip a '-' before the digits (if any).  Fixed
796         historical bug where objc_skip_offset would skip one byte even if
797         there is no offset: check that the first offset digit is actually
798         a digit before skipping it.
799         (objc_skip_type_qualifiers): Mark as inline.
800         (objc_skip_typespec): Mark as inline.   
801         
802 2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
803
804         * Makefile.in (C_SOURCE_FILES): Added methods.c.
805         * encoding.c (method_getNumberOfArguments): New.
806         (method_get_number_of_arguments): Call
807         method_getNumberOfArguments.
808         * ivars.c (ivar_getName): Check for NULL variable argument.
809         (ivar_getOffset): Check for NULL variable argument.
810         (ivar_getTypeEncoding): Check for NULL variable argument.
811         (class_copyIvarList): New.
812         * methods.c: New.
813         * protocols.c (class_copyProtocolList): Check for Nil class_
814         argument.
815         * sendmsg.c: Use 'struct objc_method *' instead of Method_t, and
816         'struct objc_method_list *' instead of MethodList_t.
817         (class_getMethodImplementation): New.
818         (class_respondsToSelector): New.
819         (class_getInstanceMethod): New.
820         (class_getClassMethod): New.
821         * objc/runtime.h: Updated comments.
822         (class_copyIvarList): New.
823         (class_getInstanceMethod): New.
824         (class_getClassMethod): New.
825         (class_getMethodImplementation): New.
826         (class_respondsToSelector): New.
827         (method_getName): New.
828         (method_getImplementation): New.
829         (method_getTypeEncoding): New.
830         (class_copyMethodList): New.
831         (method_getNumberOfArguments): New.
832         
833 2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
834
835         * class.c: Include objc/runtime.h and objc-private/module-abi-8.h
836         instead of objc/objc-api.h.
837         (objc_get_unknown_class_handler): Do not define.
838         (class_isMetaClass): New.
839         (class_getSuperclass): New.
840         (class_getVersion): New.
841         (class_setVersion): New.
842         (class_getInstanceSize): New.
843         * exceptions.c: Include objc/runtime.h instead of objc/objc-api.h.
844         (is_kind_of_exception_matcher): Use objc_getSuperclass instead of
845         objc_get_super_class.
846         (get_ttype_entry): Use objc_getRequiredClass instead of
847         objc_get_class.
848         * ivars.c (class_getClassVariable): New.
849         * objects.c: Include objc/runtime.h, objc/thr.h and
850         objc-private/module-abi-8.h instead of objc/objc-api.h
851         * objc/runtime.h (class_getClassVariable): New.
852         (class_isMetaClass): New.
853         (class_getSuperclass): New.
854         (class_getVersion): New.
855         (class_setVersion): New.
856         (class_getInstanceSize): New.
857         * objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from
858         objc/objc-api.h)
859         (__CLS_INFO): Same.
860         (__CLS_ISINFO): Same.
861         (__CLS_SETINFO): Same.
862         (CLS_ISMETA): Same.
863         (CLS_ISCLASS): Same.
864         (CLS_ISRESOLV): Same.
865         (CLS_SETRESOLV): Same.
866         (CLS_ISINITIALIZED): Same.
867         (CLS_SETINITIALIZED): Same.
868         (CLS_GETNUMBER): Same.
869         (CLS_SETNUMBER): Same.
870
871 2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
872
873         * archive.c: Do not include objc/objc.h.
874         * class.c: Do not include objc/objc.h.
875         * encoding.c: Include objc/runtime.h, ctype.h and
876         objc-private/module-abi-8.h instead of objc/objc-api.h and
877         objc/encoding.h.
878         * error.c: Do not include objc/objc.h.
879         * gc.c: Include tconfig.h and objc/encoding.h only if
880         OBJC_WITH_GC.
881         * hash.c: Include objc/runtime.h and objc/thr.h instead of
882         objc/objc-api.h.  Do not include objc/objc.h.
883         * init.c: Do not include objc/objc.h.
884         * ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and
885         objc/thr.h instead of objc/objc-api.h.  Do not include
886         objc/objc.h.
887         * linking.m: Tidied comment.
888         * memory.c: Include objc/runtime.h instead of objc/objc-api.h.
889         Do not include objc/objc.h.
890         * objects.c: Do not include objc/objc.h.
891         * objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h.
892         * protocols.c: Do not include objc/objc.h.
893         * sarray.c: Include objc/runtime.h instead of objc/objc-api.h.  Do
894         not include objc/objc.h.
895         * selector.c: Do not include objc/objc.h.
896         * sendmsg.c: Do not include objc/objc.h.        
897         * thr.c: Include objc/runtime.h instead of objc/objc-api.h.
898         Do not include objc/objc.h.
899         * objc/objc-decls.h: Reindented code.
900         * objc/runtime.h Include objc-decls.h.  Updated comments.
901         (objc_malloc): New.
902         (objc_atomic_malloc): New.
903         (objc_calloc): New.
904         (objc_realloc): New.
905         (objc_free): New.
906         * objc-private/runtime.h: Updated comments.
907         
908 2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
909
910         * Makefile.in (C_SOURCE_FILES): Added protocols.c.
911         * objc-private/protocols.h: New.
912         * protocols.c: New.
913         * init.c: Include objc-private/protocols.h.
914         (__objc_exec_class): Call __objc_protocols_init on startup.
915         (__objc_init_protocols): Call __objc_protocols_add_protocol.
916         * objc-private/runtime.h: Use (struct objc_method_list *) instead
917         of MethodList_t, and (struct objc_method *) instead of Method_t.
918         * objc/deprecated/struct_objc_class.h: Define
919         __objc_STRUCT_OBJC_CLASS_defined.
920         * objc-private/module-abi-8.h (struct
921         objc_method_description_list): New.
922         (struct objc_class): Only define if
923         __objc_STRUCT_OBJC_CLASS_defined is undefined.
924         * objc/runtime.h (class_getName): New.
925         (objc_getProtocol): New.
926         (objc_copyProtocolList): New.
927         (class_addProtocol): New.
928         (class_conformsToProtocol): New.
929         (class_copyProtocolList): New.
930         (protocol_conformsToProtocol): New.
931         (protocol_isEqual): New.
932         (protocol_getName): New.
933         (protocol_getMethodDescription): New.
934         (protocol_copyMethodDescriptionList): New.
935         (protocol_getProperty): New.
936         (protocol_copyPropertyList): New.
937         (protocol_copyProtocolList): New.
938         * class.c (class_getName): New.
939         * selector.c (sel_isEqual): New.
940         
941 2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
942
943         * selector.c (sel_getName): Return "<null selector>" for a NULL
944         argument.
945         (sel_get_name): Return 0 for a NULL argument.
946         * objc/runtime.h (sel_getName): Updated documentation.
947
948         * objc-private/hash.h (class_hash_table): Unused declaration
949         removed.
950         (module_hash_table): Same.
951         * objc/deprecated/hash.h: Same changes.
952         
953 2010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
954
955         * class.c (objc_getClassList): New.
956         (objc_getRequiredClass): New.
957         (objc_getMetaClass): New.
958         (objc_lookupClass): New.
959         (objc_getClass): New.
960         (__objc_get_unknown_class_handler): New.
961         (objc_setGetUnknownClassHandler): New.
962         (objc_get_class): Use __objc_get_unknown_class_handler.
963         (objc_lookup_class): Call objc_getClass.
964         * objc/objc-api.h: Updated comment and copyright notice.
965         * objc/runtime.h: Updated comments.
966         (objc_getClass): New.
967         (objc_lookupClass): New.
968         (objc_getMetaClass): New.
969         (objc_getRequiredClass): New.
970         (objc_getClassList): New.
971         (objc_setGetUnknownClassHandler): New.
972         (objc_get_unknown_class_handler): New.
973         * objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU
974         instead of __objc_runtime_INCLUDE_GNU as include guard.
975         * objc-private/error.h (_objc_abort): Mark as noreturn.
976         
977 2010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
978
979         * Makefile.in (C_SOURCE_FILES): Added ivars.c.
980         * ivars.c: New.
981         * objc/objc.h: Updated comments.
982         * objc/runtime.h (object_getClass): New.
983         (object_getClassName): New.
984         (object_setClass): New.
985         (class_getInstanceVariable): New.
986         (object_getIndexedIvars): New.
987         (object_getInstanceVariable): New.
988         (object_setInstanceVariable): New.
989         (object_getIvar): New.
990         (object_setIvar): New.  
991         (ivar_getName): New.
992         (ivar_getOffset): New.
993         (ivar_getTypeEncoding): New.
994         * objc-private/module-abi-8.h (struct objc_class): Added.
995         * objects.c (object_getClassName): New.
996         (object_setClass): New.
997         
998 2010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
999
1000         * objc/objc.h: Updated comments.
1001         * objc/objc-api.h: (object_copy): Added one argument; use a
1002         #define to maintain backwards-compatibility.  Moved
1003         _objc_object_alloc, _objc_object_copy, _objc_object_dispose and
1004         objc_get_uninstalled_dtable into
1005         objc/deprecated/objc_get_uninstalled_dtable.h and
1006         objc/deprecated/objc_object_alloc.h.  Include these files.
1007         * objc/deprecated/objc_get_uninstalled_dtable.h: New.
1008         * objc/deprecated/objc_object_alloc.h: New.
1009         * objc/runtime.h (set_getName): New.
1010         (sel_getType): New.
1011         (sel_getUid): New.
1012         (sel_registerName): New.
1013         (sel_registerTypedName): New.
1014         (sel_isEqual): New.
1015         (class_createInstance): New.
1016         (object_copy): New.
1017         (object_dispose): New.
1018         * objects.c: Do not include tconfig.h.  Include gc_typed.h if
1019         building the garbage collection version.
1020         (__objc_object_alloc): Removed.
1021         (__objc_object_copy): Removed.
1022         (__objc_object_dispose): Removed.
1023         (class_createInstance): New from code in class_create_instance.
1024         Cast second argument of GC_malloc_explicitly_typed.  Use
1025         objc_calloc.  Do not call _objc_object_alloc.
1026         (class_create_instance): Call class_createInstance.
1027         (object_copy): Added extraBytes argument.  Do not call
1028         _objc_object_copy.
1029         (object_dispose): Do not call _objc_object_dispose.
1030         * memory.c (objc_free): When using garbage collection, mark the
1031         argument as unused.
1032         * selector.c (sel_getName): New.
1033         (sel_get_name): Call sel_getName.
1034         (sel_getType): New.
1035         (sel_get_type): Call sel_getType.
1036         (sel_registerName): New.
1037         (sel_register_name): Call sel_registerName.
1038         (sel_registerTypedName): New.
1039         (sel_register_typed_name): Call sel_registerTypedName.
1040         (sel_getUid): New.
1041         (sel_get_uid): Call sel_getUid.
1042         
1043 2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1044
1045         * objc/objc-api.h: Define Method, Method_t, Category and
1046         Category_t.  Prevent including this file at the same time as
1047         objc/runtime.h.  Updated comments.
1048         * objc/deprecated/struct_objc_method.h: Do not define Method,
1049         Method_t.
1050         * objc/deprecated/struct_objc_category.h: Do not define Category,
1051         Category_t.
1052         * objc-private/module-abi-8.h: New file containing a copy of all
1053         the structure definitions.  Not used yet.
1054         * objc/encoding.h (objc_aligned_size): Removed duplicate
1055         declaration.  Updated comments.
1056         * objc/runtime.h: Added Ivar, objc_property_t, Property, Method,
1057         Category, struct objc_method_description, _C_ID and similar,
1058         _C_CONST and similar and _F_CONST and similar.  Added
1059         objc_sizeof_type, objc_alignof_type, objc_aligned_size,
1060         objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec,
1061         objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers,
1062         struct objc_struct_layout, objc_layout_structure,
1063         objc_layout_structure_next_member, objc_layout_finish_structure,
1064         objc_layout_structure_get_info.  Prevent including this file at
1065         the same time as objc/objc-api.h.
1066         
1067 2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1068
1069         * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h,
1070         struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h,
1071         struct_objc_method_list.h, struct_objc_module.h,
1072         struct_objc_protocol_list.h, struct_objc_symtab.h.
1073         * objc/deprecated/struct_objc_category.h: New.
1074         * objc/deprecated/struct_objc_ivar.h: New.
1075         * objc/deprecated/struct_objc_ivar_list.h: New.
1076         * objc/deprecated/struct_objc_method.h: New.
1077         * objc/deprecated/struct_objc_method_list.h: New.
1078         * objc/deprecated/struct_objc_module.h: New.
1079         * objc/deprecated/struct_objc_protocol_list.h: New.
1080         * objc/deprecated/struct_objc_symtab.h: New.
1081         * objc/deprecated/struct_objc_static_instances.h: New.
1082         * objc/objc-api.h: Definitions of deprecated structures moved into
1083         the above header fragment files in objc/deprecated/.  Include the
1084         files instead of definition the structures here.  Updated
1085         comments.
1086         * objc/runtime.h: Updated comments.  Do not include objc-api.h.
1087         (objc_set_enumeration_mutation_handler): Renamed to
1088         objc_setEnumerationMutationHandler.
1089         * objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed
1090         to objc_setEnumerationMutationHandler.
1091         * objc/objc-exception.h (objc_set_exception_matcher): Renamed to
1092         objc_setExceptionMatcher.
1093         (objc_set_uncaught_exception_handler): Renamed to
1094         objc_setUncaughtExceptionHandler.
1095         * exception.c: Same changes.
1096
1097 2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1098
1099         * objc-sync.c: Include objc-private/common.h.
1100
1101 2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1102
1103         * objc-foreach.c: Include objc-private/common.h.
1104         * objc/deprecated/METHOD_NULL.h: New file.
1105         * objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of
1106         defining METHOD_NULL here.
1107         * Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h.
1108         * Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of
1109         METHOD_NULL.
1110         ([-respondsTo:]): Same change.
1111         * objc/objc-api.h (method_get_imp): Converted it into a normal
1112         function so that we can hide the internals of struct objc_method.
1113         * sendmsg.c (method_get_imp): Implemented.
1114
1115 2010-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
1116
1117         * objc/objc-api.h (struct objc_super, Super, Super_t,
1118         objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward,
1119         objc_msg_forward2): Declarations moved to objc/message.h.  Include
1120         message.h here.
1121         * objc/message.h: Added such declarations; updated comments.
1122
1123 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1124
1125         Implemented fast enumeration for Objective-C.
1126         * Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
1127         (OBJC_H): Added runtime.h
1128         * objc-foreach.c: New file.
1129         * objc/runtime.h: New file.
1130         
1131 2010-09-30  Kai Tietz  <kai.tietz@onevision.com>
1132
1133         * objc/deprecated/struct_objc_class.h: Add padding
1134         to avoid warning with -Wpadded.
1135
1136 2010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1137
1138         * encoding.c (objc_sizeof_type): Added support for vector type and
1139         for double long types.  
1140         (objc_alignof_type): Same change.
1141         (objc_skip_typespec): Same change.
1142         * objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE
1143         instead of '!' since '!' is already used for _C_VECTOR.
1144         * objc/objc-api.h (_C_LNG_DBL): Added.
1145         
1146 2010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1147
1148         * libobjc_entry.c: File removed.
1149
1150 2010-09-26  Kai Tietz  <kai.tietz@onevision.com>
1151
1152         * sendmsg.c (objc_msg_lookup): Remove inline.
1153         (objc_get_uninstalled_dtable): Likewise.
1154         * encoding.c (objc_skip_type_qualifiers): Likewise.
1155         (objc_skip_offset): Likewise.
1156         * archive.c (__objc_write_object): Likewise
1157         (__objc_write_class):
1158         (__objc_write_selector):
1159         (objc_read_char):
1160         (objc_read_unsigned_char):
1161         (objc_read_short):
1162         (objc_read_unsigned_short):
1163         (objc_read_int):
1164         (objc_read_long):
1165         (__objc_read_nbyte_uint):
1166         (objc_read_unsigned_int):
1167         (objc_read_unsigned_long):
1168         * objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
1169         (objc_EXPORT): Likewise.
1170         * objc/message.h (objc-decls.h): Add include.
1171         * objc/objc-api.h: Mark API by objc_EXPORT.
1172         * libobjc.def (__objc_responds_to): Removed.
1173
1174 2010-09-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1175
1176         * hash.c: Include objc-private/hash.h instead of objc/hash.h.
1177
1178         * objc/sarray.h: Moved into objc/deprecated/sarray.h;
1179         objc/sarray.h replaced with a placeholder including the file from
1180         the deprecated/ directory.
1181         * objc-private/sarray.h: New file (private copy of sarray.h).
1182         * hash.c: Include <assert.h> instead of "assert.h"
1183         * sarray.c: Include <assert.h> instead of "assert.h".  Include
1184         objc-private/sarray.h instead of objc/sarray.h.
1185         * selector.c: Include objc-private/sarray.h instead of
1186         objc/sarray.h.
1187         * sendmsg.c: Include <assert.h>.  Include objc-private/sarray.h
1188         instead of objc/sarray.h.
1189         * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.      
1190
1191 2010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1192
1193         * objc-private/objc-list.h (list_remove_elem): Unused function
1194         removed.  (list_nth): Unused function removed.  (list_find):
1195         Unused function removed.  (list_lenght): Unused function removed.
1196         
1197 2010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1198
1199         * objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
1200         replaced with a placeholder including the file from the
1201         deprecated/ directory.
1202         * objc/objc-api.h: Updated includes.
1203         * objc/typedstream.h: Updated includes.
1204         * objc-private/hash.h: New file (private copy of hash.h).
1205         * objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
1206         objc/objc-list.h replaced with a placeholder including the file
1207         from the deprecated/ directory.
1208         * objc-private/objc-list.h: New file (private copy of objc-list.h).
1209         * init.c: Include objc-private/hash.h and objc-private/objc-list.h
1210         instead of objc/hash.h and objc/objc-list.h.
1211         * selector.c: Same change.
1212         * class.c: Added include <string.h>, which used to be implicitly included
1213         when hash.h was included.
1214         * exception.c: Same change.
1215         * objects.c: Same change.
1216         * sarray.c: Same change.
1217         * sendmsg.c: Same change.
1218         * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
1219
1220 2010-09-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1221
1222         Implemented objc_sync_enter() and objc_sync_exit(), which are
1223         required by @synchronized() to work.
1224         * objc-sync.c: New file.
1225         * objc/objc-sync.h: New file.
1226         * objc-private/objc-sync.h: New file.
1227         * init.c (__objc_exec_class): Call __objc_sync_init() during the
1228         Objective-C runtime startup.
1229         * Makefile.in: Added objc-sync.c and objc-sync.h.
1230         * configure.ac: Added GCC_CHECK_TLS.
1231         * acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4.
1232         * configure: Regenerated.
1233         * config.h.in: Regenerated.
1234         
1235 2010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1236
1237         * Makefile.in (%_gc.lo): New pattern rules to build the
1238         garbage-collected version of the library.  Removed rules for
1239         specific files that are no longer needed.  Standardized all rules.
1240         (C_SOURCE_FILES, OBJC_SOURCE_FILES): New variables.
1241         (OBJS, OBJS_GC): Compute these from C_SOURCE_FILES and
1242         OBJC_SOURCE_FILES.
1243         (INCLUDES): Removed the unused include -I$(srcdir)/objc.
1244
1245 2010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1246         
1247         * memory.c (objc_calloc): Fixed call to GC_malloc when building
1248         with Garbage Colletion.
1249         
1250 2010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1251
1252         * memory.c: Do not include objc-private/runtime.h.
1253
1254 2010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1255         
1256         * objc/deprecated/objc_malloc.h: New file.
1257         * objc/deprecated/objc_valloc.h: New file.
1258         * objc/objc-api.h: Include the files instead of defining
1259         objc_valloc, _objc_malloc() and similar.
1260         * Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and
1261         objc_malloc.h.
1262         * memory.c: Removed the extra layer of indirection of _objc_malloc
1263         and similar.
1264         (objc_calloc): Use GC_malloc in the garbage-collected
1265         implementation as GC_malloc returns memory that is already freed.
1266         (objc_valloc): Deprecated.      
1267         
1268 2010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1269
1270         * objc/deprecated/objc_error.h: New file.
1271         * objc/objc-api.h: Include deprecated/objc_error.h instead of
1272         defining objc_error and related.
1273         * error.c: New file.  Added _objc_abort function which replaces
1274         objc_error.  No change in functionality as they both print an
1275         error and abort.
1276         * misc.c: File removed.  Code moved into memory.c and error.c.
1277         * memory.c: New file.
1278         * objc-private/error.h: New file.
1279         * archive.c: Include objc-private/error.h and use _objc_abort
1280         instead of objc_error everywhere.
1281         * class.c: Same change.
1282         * encoding.c: Same change.
1283         * init.c: Same change, and simplified init_check_module_version.
1284         * memory.c: Same change.
1285         * sendmsg.c:  Same change.
1286         * thr.c: Same change.
1287         * Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h.
1288         (OBJ_H): Reordered list.
1289         (OBJS): Removed misc.lo, added memory.lo and error.lo.
1290         (OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo.
1291         (misc_gc.lo): Rule removed.
1292         (error_gc.lo): Rule added.
1293         (memory_gc.lo): Rule added.
1294         
1295 2010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1296
1297         * objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way
1298         to check the API version.  Added some comments.
1299
1300         * objc-private/common.h: New file.
1301         * NXConstStr.m: Include objc-private/common.h.
1302         * Object.m: Same change.
1303         * Protocol.m: Same change.
1304         * archive.c: Same change.
1305         * class.c: Same change.
1306         * encoding.c: Same change.
1307         * exception.c: Same change.
1308         * gc.c: Same change.
1309         * hash.c: Same change.
1310         * init.c: Same change.
1311         * libobjc_entry.c: Same change.
1312         * linking.m: Same change.
1313         * misc.c: Same change (and added a comment).
1314         * nil_method.c: Same change.
1315         * objects.c: Same change.
1316         * sarray.c: Same change.
1317         * selector.c: Same change.
1318         * sendmsg.c: Same change.
1319         * thr.c: Same change.
1320
1321 2010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1322
1323         * objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP.
1324
1325 2010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1326
1327         * archive.c: Removed not needed includes.
1328         * class.c: Same change.
1329         * hash.c: Same change.
1330         * misc.c: Same change.
1331         * nil_method.c: Same change.
1332         * objects.c: Same change.
1333         * sarray.c: Same change.
1334         * sendmsg.c: Same change.
1335         * thr.c: Same change.
1336
1337 2010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1338
1339         * objc/runtime.h: Moved to objc-private/runtime.h.  Do not include
1340         all the objc/*.h files.
1341         * objc-private/runtime.h: New file.
1342         * archive.c: Include objc-private/runtime.h (and required objc/*.h
1343         files) instead of objc/runtime.h.
1344         * class.c: Same change.
1345         * hash.c: Same change.
1346         * init.c: Same change.
1347         * misc.c: Same change.
1348         * nil_method.c: Same change.
1349         * objects.c: Same change.
1350         * sarray.c: Same change.
1351         * selector.c: Same change.
1352         * sendmsg.c: Same change.
1353         * thr.c: Same change.
1354         
1355 2010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1356
1357         * objc/deprecated/struct_objc_selector.h: New file.  Definition of
1358         'struct objc_selector' and 'sel_eq' moved here.
1359         * objc/deprecated/struct_objc_protocol.h: New file.  Definition of
1360         'struct objc_procotol' moved here.
1361         * objc/deprecated/struct_objc_class.h: New file.  Definition of
1362         'struct objc_class' moved here.
1363         * objc/deprecated/MetaClass.h: New file.  Definition of MetClass
1364         moved here.
1365         * objc/deprecated/STR.h: New file.  Definition of STR moved here.       
1366         * objc/message.h: New file.  Definitions for relval_t, apply_t,
1367         arglist, arglist_t and objc_msg_lookup were moved here.
1368         * objc/objc.h: Include the above files instead of defining the
1369         corresponding structs, types and functions here.  Added new opaque
1370         definitions for SEL and Class.  Use Class and not 'struct
1371         objc_class *' in the definition of 'struct objc_object'.
1372         Commented all types defined in the file.  Removed special
1373         definition of BOOL as 'int' on __vxworks; use 'unsigned char'
1374         there as well.
1375         * objc/deprecated/objc-unexpected-exception.h: Renamed to
1376         objc_unexpected_exception.h.
1377         * objc/objc-api.h: Updated include of
1378         objc-unexpetected-exception.h
1379         * objc/objc-exception.h: Updated comments.
1380         * Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header
1381         files.  Reindented list of files.
1382         
1383 2010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1384
1385         * objc/objc-api.h (objc_trace): Unused variable removed.
1386
1387 2010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1388
1389         * objc/deprecated: New directory.
1390         * objc/deprecated/README: New file.
1391         * objc/README: New file.
1392         * objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
1393         objc/typedstream.h replaced with a placeholder including the file
1394         from the deprecated/ directory.
1395         * objc/deprecated/objc-unexpected-exception.h: New file with the
1396         definition of _objc_unexpected_exception.       
1397         * objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
1398         instead of defining _objc_unexpected_exception.
1399         * objc/deprecated/Object.h: New file with the deprecated Object
1400         methods in a 'Deprecated' category.
1401         * objc/Object.h Include deprecated/Object.h instead of defining
1402         the deprecated methods.
1403         * Object.m: Moved deprecated methods into 'Deprecated' category.
1404         * objc-private: New directory.
1405         * objc-private/README: New file.
1406         * Makefile.in (OBJC_DEPRECATED_H): New variable.
1407         (install-headers): Create installation directory for
1408         OBJC_DEPRECATED_H headers, and install them.
1409
1410 2010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1411
1412         * objc/objc-exception.h: Fixed include of objc.h.
1413         
1414 2010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1415
1416         * objc/objc-exception.h: New file.
1417         * exception.c (objc_set_uncaught_exception_handler): Implemented.
1418         (objc_set_exception_matcher): Implemented.
1419         (objc_exception_throw): Use the uncaught exception handler if set.
1420         (PERSONALITY_FUNCTION): Use the exception matcher instead of the
1421         hardcoded isKindOf.
1422         (isKindOf): Renamed to is_kind_of_exception_matcher.  Tidied code
1423         up.  Removed segmentation fault when value is 'nil'.
1424         * objc/objc-api.h (_objc_unexpected_exception): Mark as
1425         deprecated.
1426         * Makefile.in (exception.lo, exception_gc.lo): Use
1427         -Wno-deprecated-declarations when compiling.
1428         (OBJC_H): Added objc-exception.h
1429
1430 2010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1431
1432         * objc/typedstream.h: Deprecate all functions in the file.  This
1433         file is obsolete.
1434         * objc/Object.h ([+streamVersion:], [-read:], [-write:],
1435         [-awake]): Documented that these methods are deprecated.  Added a
1436         brief description of the Object class and its relationship to the
1437         NSObject class.
1438         * Makefile.in: Compile archive.c and Object.m with
1439         -Wno-deprecated-declarations.
1440
1441 2010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1442
1443         Removed obsolete intermediate threading layer.
1444         * thr.c: Use __gthread_objc_xxx functions directly instead of
1445         __objc_thread_xxx ones.
1446         * objc/thr.h: Removed prototypes of no longer existing
1447         __objc_thread_xxx functions.
1448         * Makefile.in: Removed thr-objc.lo.
1449         * thr-dce.c: File removed.
1450         * thr-decosf1.c: File removed.
1451         * thr-irix.c: File removed.
1452         * thr-mach.c: File removed.
1453         * thr-objc.c: File removed.
1454         * thr-os2.c: File removed.
1455         * thr-posix.c: File removed.
1456         * thr-pthreads.c: File removed.
1457         * thr-rtems.c: File removed.
1458         * thr-single.c: File removed.
1459         * thr-solaris.c: File removed.
1460         * thr-vxworks.c: File removed.
1461         * thr-win32.c: File removed.
1462         * README.threads: File removed.
1463         * THREADS.MACH: File removed.
1464         * THREADS: Updated.
1465
1466 2010-09-07  Nicola Pero  <nicola.pero@meta-innovation.com>
1467
1468         * Object.m (MAX_CLASS_NAME_LEN): Unused define removed.
1469
1470 2010-09-06  Iain Sandoe  <iains@gcc.gnu.org>
1471
1472         * encoding.c: Add TARGET_ALIGN_NATURAL definition for m64 powerpc darwin.
1473         Add a comment as to why, update FIXME comments.
1474
1475 2010-09-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1476
1477         * makefile.dos: Obsolete file removed.
1478         
1479 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1480
1481         * aclocal.m4: Regenerate.
1482
1483 2010-03-23  Dave Korn  <dave.korn.cygwin@gmail.com>
1484
1485         PR libobjc/30445
1486         * configure.ac (extra_ldflags_libobjc): Define appropriately for
1487         Cygwin and MinGW hosts.
1488         * Makefile.am (libobjc_s.a): Remove dead pre-libtool target.
1489         (libobjc.dll): Likewise.
1490         * configure: Regenerate.
1491
1492 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1493
1494         * configure: Regenerate.
1495
1496 2009-11-28  Jakub Jelinek  <jakub@redhat.com>
1497
1498         * sarray.c (sarray_free): Use old_buckets variable.
1499         * encoding.c (objc_layout_structure_next_member): Remove unused
1500         bfld_type_size variable.
1501
1502 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1503
1504         * configure.ac (AC_PREREQ): Bump to 2.64.
1505
1506 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1507
1508         * aclocal.m4: Regenerate.
1509         * configure: Regenerate.
1510         * config.h.in: Regenerate.
1511
1512 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1513
1514         * Makefile.in (LIBTOOL): Add $(LIBTOOLFLAGS).
1515
1516 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1517
1518         * Makefile.in (AUTOCONF, ACLOCAL, ACLOCAL_AMFLAGS, aclocal_deps):
1519         New variables.
1520         ($(srcdir)/configure, $(srcdir)/aclocal.m4): New rules.
1521
1522 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1523
1524         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1525
1526 2009-04-09  Nick Clifton  <nickc@redhat.com>
1527
1528         * sendmsg.c: Change copyright header to refer to version 3 of
1529         the GNU General Public License with version 3.1 of the GCC
1530         Runtime Library Exception and to point readers at the COPYING3
1531         and COPYING3.RUNTIME files and the FSF's license web page.
1532         * NXConstStr.m: Likewise.
1533         * Object.m: Likewise.
1534         * Protocol.m: Likewise.
1535         * archive.c: Likewise.
1536         * class.c: Likewise.
1537         * encoding.c: Likewise.
1538         * exception.c: Likewise.
1539         * gc.c: Likewise.
1540         * hash.c: Likewise.
1541         * init.c: Likewise.
1542         * libobjc_entry.c: Likewise.
1543         * linking.m: Likewise.
1544         * misc.c: Likewise.
1545         * nil_method.c: Likewise.
1546         * objc/NXConstStr.h: Likewise.
1547         * objc/Object.h: Likewise.
1548         * objc/Protocol.h: Likewise.
1549         * objc/encoding.h: Likewise.
1550         * objc/hash.h: Likewise.
1551         * objc/objc-api.h: Likewise.
1552         * objc/objc-decls.h: Likewise.
1553         * objc/objc-list.h: Likewise.
1554         * objc/objc.h: Likewise.
1555         * objc/runtime.h: Likewise.
1556         * objc/sarray.h: Likewise.
1557         * objc/thr.h: Likewise.
1558         * objc/typedstream.h: Likewise.
1559         * objects.c: Likewise.
1560         * sarray.c: Likewise.
1561         * selector.c: Likewise.
1562         * thr-dce.c: Likewise.
1563         * thr-decosf1.c: Likewise.
1564         * thr-irix.c: Likewise.
1565         * thr-mach.c: Likewise.
1566         * thr-objc.c: Likewise.
1567         * thr-os2.c: Likewise.
1568         * thr-posix.c: Likewise.
1569         * thr-pthreads.c: Likewise.
1570         * thr-rtems.c: Likewise.
1571         * thr-single.c: Likewise.
1572         * thr-solaris.c: Likewise.
1573         * thr-vxworks.c: Likewise.
1574         * thr-win32.c: Likewise.
1575         * thr.c: Likewise.
1576         * libobjc.def: Change copyright header to refer to version 3 of
1577         the GNU General Public License and to point readers at the COPYING3
1578         file and the FSF's license web page.
1579         * makefile.dos: Likewise.
1580
1581 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
1582
1583         * Makefile.in: Change copyright header to refer to version
1584         3 of the GNU General Public License and to point readers at the
1585         COPYING3 file and the FSF's license web page.
1586         * configure.ac: Likewise.
1587
1588 2009-03-12  Richard Frith-Macdonald  <rfm@gnu.org>
1589             David Ayers  <ayers@fsfe.org>
1590
1591         PR libobjc/27466
1592         * objc/objc-api.h (_objc_unexpected_exception): Declare
1593         new hook.  Update copyright dates.
1594         * exception.c (objc_exception_throw): Use hook.  Update
1595         copyright dates.
1596         * libobjc.def (_objc_unexpected_exception): Export hook.
1597         Update copyright dates.
1598         
1599 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1600
1601         * configure: Regenerate.
1602
1603 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1604
1605         * configure: Regenerate.
1606
1607 2008-11-21  Kai Tietz  <kai.tietz@onevision.com>
1608
1609         *  Object.m (errno): Replaced by errno.h include.
1610         (compare): Cast self to id to prevent warning on comparison.
1611         * objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is
1612         already there.
1613         * sendmsg.c (__objc_print_dtable_stats): Remove type warnings.
1614         * thr-win32.c (__objc_thread_detach): Remove type warning.
1615         (__objc_thread_id): Likewise.
1616         * thr.c (__objc_thread_detach_functiont): Add __builtin_trap ()
1617         for noreturn.
1618
1619 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
1620             Steve Ellcey  <sje@cup.hp.com>
1621
1622         * configure: Regenerate for new libtool.
1623         * config.h.in: Regenerate for new libtool.
1624
1625 2008-07-18  Matthias Klose  <doko@ubuntu.com> 
1626
1627         * Makefile.in: Ignore missing ../boehm-gc/threads.mk. 
1628
1629 2008-07-18  Matthias Klose  <doko@ubuntu.com> 
1630
1631         * Makefile.in: Include ../boehm-gc/threads.mk. 
1632         (OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it.
1633
1634 2008-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1635
1636         * Makefile.in (install-info): New stub target.
1637
1638 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1639
1640         * configure: Regenerate.
1641
1642 2008-06-14  Kai Tietz  <kai.tietz@onevision.com>
1643
1644         * exception.c (PERSONALITY_FUNCTION): Remove extra decrement
1645         if HAVE_GETIPINFO is not defined.
1646
1647 2008-06-10  Kai Tietz  <kai.tietz@onevision.com>
1648
1649         * Object.m (compare): Add type id.
1650         * objc/Object.h: Likewise.
1651         * archive.c (objc_read_class): Use size_t to extend version to be
1652         size of pointer scalar width.
1653         * sendmsg.c (rtx): Undefine it before redefinition.
1654         (__objc_print_dtable_stats): Cast arguments to long as intended.
1655
1656 2008-05-30  Julian Brown  <julian@codesourcery.com>
1657
1658         * exception.c (__objc_exception_class): Initialise as constant
1659         array for ARM EABI. Change macro to static const for non-ARM EABI.
1660         (ObjcException): Add note about structure layout. Remove landingPad
1661         and handlerSwitchValue for ARM EABI.
1662         (get_ttype_entry): Add __ARM_EABI_UNWINDER__ version
1663         of function.
1664         (CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases.
1665         (PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add
1666         ARM EABI unwinding support.
1667         (objc_exception_throw): Use memcpy to initialise exception class.
1668
1669 2008-05-25  Alan Modra  <amodra@bigpond.net.au>
1670
1671         * encoding.c (strip_array_types): Rename from get_inner_array_type.
1672         (rs6000_special_round_type_align): Update.
1673
1674 2008-05-09  Julian Brown  <julian@codesourcery.com>
1675
1676         * Makefile.in (LTLDFLAGS): New.
1677         (libobjc$(libsuffix).la, libobjc_gc$(libsuffix).la): Use above.
1678
1679 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
1680
1681         PR bootstrap/35457
1682         * aclocal.m4: Regenerate.
1683         * configure: Regenerate.
1684
1685 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
1686
1687         * configure: Regenerate.
1688
1689 2007-10-14  H.J. Lu  <hongjiu.lu@intel.com>
1690
1691         * configure.ac: Don't run config-ml.in directly.
1692         (multilib_arg): New.
1693         * configure: Regenerated.
1694
1695 2007-08-06  Andrew Pinski  <pinskia@gmail.com>
1696
1697         PR libobjc/30731
1698         * exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead
1699         of _Unwind_Word for variables which are used in
1700         read_uleb128/read_sleb128.
1701         (PERSONALITY_FUNCTION): Likewise.
1702
1703 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
1704
1705         * aclocal.m4: Regenerated.
1706
1707 2007-06-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1708
1709         * configure.ac: Fix a typo in *-*-darwin clause.
1710         * configure: Regenerated.
1711
1712 2007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
1713
1714         * configure.ac: Fix a typo.
1715         * configure: Regenerated.
1716
1717 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
1718
1719         * configure: Regenerate.
1720
1721 2007-06-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1722
1723         * Makefile.in: Replace all uses of libext with libsuffix.
1724         * configure.ac: Likewise.
1725         * configure: Regenerate.
1726
1727         Revert:
1728         * Makefile.in: Remove all uses of $(libext).
1729
1730 2007-05-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1731
1732         * Makefile.in: Remove all uses of $(libext).
1733
1734 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
1735
1736         * configure: Regenerate.
1737         * aclocal.m4: Regenerate.
1738
1739 2007-04-21  Andrew Ruder  <andy@aeruder.net>
1740
1741         * sendmsg.c (__objc_get_forward_imp): Call
1742         __objc_msg_forward2 for real.
1743
1744 2007-04-09  Andrew Ruder  <andy@aeruder.net>
1745
1746         * sendmsg.c: Added __objc_msg_forward2, a hook that allows
1747         external libraries to provide a function that returns the real
1748         forwarding function based on both the selector and the receiver.
1749         * objc/objc-api.h: Define __objc_msg_forward2.
1750
1751 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
1752
1753         * Makefile.in: Add dummy install-pdf target.
1754
1755 2007-02-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1756
1757         * objc/objc-list.h (list_free): Add keyword 'inline' to avoid
1758         unused warning.
1759         
1760 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
1761
1762         * encoding.c (darwin_rs6000_special_round_type_align): New.
1763
1764 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
1765
1766         * Makefile.in: Use multi_basedir instead of toplevel_srcdir.
1767         * configure.ac: Use multi.m4 from aclocal rather than custom
1768         code.  Use multi_basedir instead of toplevel_srcdir.
1769         * aclocal.m4: Regenerate.
1770         * configure: Regenerate.
1771
1772 2006-10-10  Brooks Moses  <bmoses@stanford.edu>
1773
1774         * Makefile.in: Added empty "pdf" target.
1775
1776 2006-07-18  Paolo Bonzini  <bonzini@gnu.org>
1777
1778         * configure: Regenerate.
1779
1780 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
1781
1782         * Makefile.in: Add install-html target. Add install-html to .PHONY
1783
1784 2006-02-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1785
1786         PR libobjc/26309
1787         * thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
1788
1789 2006-01-24  David Ayers  <d.ayers@inode.at>
1790
1791         PR libobjc/9751
1792         * gc.c (class_ivar_set_gcinvisible): Replace strncpy with memcpy
1793         and insure the new strings are '\0' termintated.
1794
1795 2006-01-24  David Ayers  <d.ayers@inode.at>
1796
1797         PR libobjc/13946
1798         * configure.ac: Add include directives for --enable-objc-gc.
1799         * Makefile.in: Ditto.
1800         * configure: Regenerate.
1801
1802         * gc.c (__objc_class_structure_encoding): Increment the used bytes
1803         instead of the local pointer to them.
1804
1805 2005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>
1806
1807         PR objc/25360
1808         * objc/objc-api.c (_C_COMPLEX): New define.
1809         * encoding.c (objc_sizeof_type): Handle _C_Complex.
1810         (objc_alignof_type): Likewise.
1811         (objc_skip_typespec): Likewise.
1812
1813 2005-12-15  David Ayers  <d.ayers@inode.at>
1814
1815         PR libobjc/14382
1816         * README (+load,+initialize): Fix documentation to reflect
1817         intended and implemented semantics for +load and +initialize.
1818         
1819 2005-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
1820
1821         * encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and
1822         the name.
1823         (get_inner_array_type): Fix to skip over _C_ARY_B and size.
1824         (rs6000_special_round_type_align): Update for the ABI fix.
1825         (objc_layout_finish_structure): Correct the encoding which is passed to
1826         ROUND_TYPE_ALIGN.
1827
1828 2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
1829
1830         PR libobjc/25347
1831         * encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special
1832         but use the struct layout functions.
1833         (objc_alignof_type): Likewise.
1834         (objc_layout_structure): Handle _C_UNION_B also.
1835         (objc_layout_structure_next_member): Likewise.
1836         (objc_layout_finish_structure): Likewise.
1837
1838 2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
1839
1840         PR libobjc/25346
1841         * objc/objc-api.h (_C_BOOL): New define.
1842         * encoding.c (objc_sizeof_type): Handle _C_BOOL.
1843         (objc_alignof_type): Likewise.
1844         (objc_skip_typespec): Likewise.
1845
1846 2005-11-20  David Ayers  <d.ayers@inode.at>
1847
1848         PR libobjc/19024
1849         * objc/hash.h: Remove deprecated hash API.
1850         * hash_compat.c: Remove.
1851         * Makefile.in: Remove reference to hash_compat.c.
1852
1853         * configure.ac (VERSION): Bump library version to 2:0:0.
1854         * configure: Regenerate.
1855
1856 2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
1857
1858         PR other/4372
1859         * thr-objc.c (_XOPEN_SOURCE): Define.
1860
1861 2005-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
1862
1863         PR libobjc/23612
1864         * objc/objc-api.h (struct objc_ivar): Move definition to
1865         global scope.
1866
1867 2005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
1868             Rasmus Hahn  <rassahah@neofonie.de>
1869
1870         PR libobjc/23108
1871         * archive.c (objc_write_type): Correct the element offset.
1872         (objc_read_type): Likewise.
1873
1874 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
1875
1876         * All files: Update FSF address.
1877
1878 2005-08-13  Marcin Koziej  <creep@desk.pl>
1879             Andrew Pinski  <pinskia@physics.uc.edu>
1880
1881         PR libobjc/22492
1882         * exception.c (PERSONALITY_FUNCTION): Fix the PC with finally.
1883
1884 2005-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
1885
1886         * Makefile.in (extra_ldflags_libobjc): New.
1887         (libobjc$(libext).la): Add extra_ldflags_libobjc to the link line.
1888         (libobjc_gc$(libext).la): Likewise.
1889         * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
1890         "-Wl,-single_module".
1891         * configure: Regenerate.
1892         * linking.m (_objcInit): Remove.
1893
1894 2005-07-26  Andrew Pinski  <pinskia@physics.uc.edu>
1895
1896         PR libobjc/22606
1897         * Makefile.in (ALL_CFLAGS): Add -fexceptions.
1898
1899 2005-06-08  David Ayers  <d.ayers@inode.at>
1900
1901         * objc/NXConstStr.h, objc/Object.h, objc/Protocol.h,
1902         objc/encoding.h, objc/hash.h, objc/objc-api.h,
1903         objc/runtime.h, objc/sarray.h, objc/thr.h, 
1904         objc/typedstream.h: Do not include Objective-C headers as
1905         system headers.
1906
1907 2005-06-07  David Ayers  <d.ayers@inode.at>
1908
1909         * archive.c, init.c, selector.c: Include hash.h.
1910         * archive.c, class.c, encoding.c, gc.c, hash.c, hash_compat.c,
1911         init.c, misc.c, nil_method.c, objects.c, sarray.c, selector.c,
1912         sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, thr-mach.c,
1913         thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, thr-rtems.c,
1914         thr-single.c, thr-solaris.c, thr-vxworks.c, thr-win32.c, thr.c:
1915         Include Objective-C headers with quotes and objc/ directory
1916         prefix.
1917
1918 2005-05-19  Richard Henderson  <rth@redhat.com>
1919
1920         * exception.c: Revert last change.
1921
1922 2005-05-19  David Ayers  <d.ayers@inode.at>
1923
1924         * exception.c: Include tsystem.h for unwind.h.
1925
1926 2005-05-09  Mike Stump  <mrs@apple.com>
1927
1928         * configure: Regenerate.
1929
1930 2005-04-12  Mike Stump  <mrs@apple.com>
1931
1932         * configure: Regenerate.
1933
1934 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
1935
1936         * Makefile.in: Set gcc_version here.
1937         * configure.ac: Do not invoke TL_AC_GCC_VERSION.  Adjust quoting
1938         in definition of toolexeclibdir so that $(gcc_version) is expanded
1939         by the Makefile.
1940         * aclocal.m4, configure: Regenerate.
1941
1942 2005-03-03  David Ayers  <d.ayers@inode.at>
1943
1944         * objc/hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated
1945         version reference.  Correct typo.
1946
1947 2005-03-02  David Ayers  <d.ayers@inode.at>
1948
1949         PR libobjc/19024
1950         * Makefile.in (OBJS): Add hash_compat.lo.
1951         (OBJS_GC): Add hash_compat_gc.lo.
1952         (hash_compat_gc.lo): New target and rule.
1953         * objc/hash.h (hash_new, hash_delete, hash_add, hash_remove)
1954         (hash_next, hash_value_for_key, hash_is_key_in_hash)
1955         (hash_ptr, hash_string, compare_ptrs, compare_strings): Prefix
1956         with objc_.  Add deprecated non prefixed inlined versions.
1957         (OBJC_IGNORE_DEPRECATED_API): New macro to hide deprecated
1958         declarations.
1959         * hash.c (hash_new, hash_delete, hash_add, hash_remove, hash_next)
1960         (hash_value_for_key, hash_is_key_in_hash): Prefix with objc_ and
1961         update callers.
1962         * hash_compat.c: New file.
1963         * archive.c: Update callers.
1964         * init.c: Likewise.
1965         * selector.c: Likewise.
1966         * libobjc.def: Add objc_ versions of hash functions.
1967
1968 2005-02-28  Andrew Pinski <pinskia@physics.uc.edu>
1969
1970         PR libobjc/20252
1971         * Makefile.in (GTHREAD_FLAGS): Remove.
1972         (ALL_CFLAGS): Remove usage of GTHREAD_FLAGS.
1973         * thr-objc.c: Include config.h.
1974         * configure.ac: Instead of looking at GCC's makefile, figure out if
1975         GTHREAD_FLAGS should be defined by looking at the `thread model'
1976         of the current gcc.
1977         * configure: Regenerate.
1978         * config.h.in: Regenerate.
1979
1980 2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
1981
1982         PR bootstrap/17383
1983         * configure.ac: Call GCC_TOPLEV_SUBDIRS.
1984         (Determine CFLAGS for gthread): Use $host_subdir.
1985         * configure: Regenerate.
1986         * Makefile.in (host_subdir): New.
1987         (INCLUDES): Use it.
1988
1989 2004-12-20  Andrew Pinski  <pinskia@physics.uc.edu>
1990
1991         PR libobjc/12035
1992         * gc.c: Remove definition of LOGWL, modWORDSZ, and divWORDSZ since
1993         they are not used.
1994         Include limits.h and stdlib.h.
1995         Define BITS_PER_WORD.
1996
1997 2004-12-12  Alexander Malmberg  <alexander@malmberg.org>
1998
1999         * selector.c (__objc_init_selector_tables): Add missing void to
2000         definition.
2001
2002 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
2003
2004         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
2005         * configure, aclocal.m4: Regenerate.
2006
2007 2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
2008
2009         * configure: Regenerate for libtool change.
2010
2011 2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
2012
2013         * configure: Regenerate for libtool reversion.
2014
2015 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2016
2017         * configure: Regenerate for libtool change.
2018
2019 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2020
2021         * aclocal.m4, config.h.in: Regenerate.
2022
2023 2004-10-08  Mike Stump  <mrs@apple.com>
2024             Andrew Pinski  <pinskia@physics.uc.edu>
2025
2026         * aclocal.m4: Rename to ...
2027         * acinclude.m4: here and also use m4_include instead of sinclude.
2028         * aclocal.m4: Regenerate.
2029         * configure: Regenerate.
2030         * configure.ac: Add AM_MAINTAINER_MODE and AM_PROG_CC_C_O.
2031         * Makefile.in (configure): Add @MAINT@ infront of configure.ac
2032
2033 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2034
2035         * archive.c: Fix all the warnings about passing unsigned char*
2036         to char* and the other way too.
2037
2038 2004-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
2039
2040         PR libobjc/16448
2041         * exception.c: Include config.h
2042         (objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to
2043         SJLJ_EXCEPTIONS.
2044         * configure.ac: Find out what exception handling code we use.
2045         * configure: Regenerate.
2046         * config.h.in: New file, regenerate.
2047
2048 2004-09-16  Andrew Pinski  <apinski@apple.com>
2049
2050         * encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.
2051
2052 2004-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2053
2054         * configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to
2055         ACX_NONCANONICAL_TARGET.
2056         * configure: Regenerate.
2057
2058 2004-08-13  Ziemowit Laski  <zlaski@apple.com>
2059
2060         * objc/sarray.h: Hoist include of assert.h near the top of file,
2061         and mark the remainder of the file 'extern "C"'.
2062
2063 2004-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2064
2065         * objc/Object.h: Move includes out of extern "C" blocks.
2066         * objc/encoding.h: Likewise.
2067         * objc/hash.h: Likewise.
2068         * objc/objc-api.h: Likewise.
2069         * objc/runtime.h: Likewise.
2070         * objc/sarray.h: Likewise.
2071         * objc/typedstream.h: Likewise.
2072
2073 2004-08-12  Ziemowit Laski  <zlaski@apple.com>
2074
2075         * objc/NXConstStr.h: Update copyright date; bracket with
2076         'extern "C"' for C++ use; make include syntax consistent
2077         by using <...> instead of "..."; hoist <objc/...> includes
2078         above the 'extern "C"' block.
2079         * objc/Object.h: Likewise.
2080         * objc/Protocol.h: Likewise.
2081         * objc/encoding.h: Likewise.
2082         * objc/hash.h: Likewise.
2083         * objc/runtime.h: Likewise.
2084         * objc/sarray.h: Likewise.
2085         * objc/thr.h: Likewise.
2086         * objc/typedstream.h: Likewise.
2087         * objc/objc-api.h: Add 'extern "C"' block for C++ use.
2088         (objc_static_instances): For C++ case, do away with
2089         zero-sized array.
2090         (objc_method): Hoist definition to file scope.
2091         (_objc_load_callback, _objc_object_alloc, class_get_class_method,
2092         class_get_instance_method, class_create_instance,
2093         class_get_class_name, class_get_instance_size,
2094         class_get_meta_class, class_get_super_class, class_get_version,
2095         class_is_class, class_is_meta_class, class_set_version,
2096         class_get_gc_object_type, class_ivar_set_gcinvisible,
2097         get_imp): Rename 'class' parameter to '_class'.
2098         * objc/objc-list.h: Add 'extern "C"' block for C++ use.
2099         * objc/objc.h: Update copyright date.
2100         (arglist_t): Provide a union tag.
2101
2102 2004-07-22  Andrew Pinski  <pinskia@physics.uc.edu>
2103
2104         * thr.c (__objc_thread_detach_function): Do not mark as volatile
2105         but instead use the attribute noreturn.
2106
2107 2004-06-28  Zack Weinberg  <zack@codesourcery.com>
2108
2109         * encoding.c: Rename target_flags with a #define to avoid
2110         conflict with a prior declaration.
2111
2112 2004-06-24  Andrew Pinski  <apinski@apple.com>
2113
2114         * objc/encoding.h: Wrap the functions with extern "C" for C++
2115         mode.
2116         * objc/hash.h: Likewise.
2117         * objc/objc-api.h: Likewise.
2118         * objc/objc-list.h: Likewise.
2119         * objc/runtime.h: Likewise.
2120         * objc/sarray.h: Likewise.
2121         * objc/thr.h: Likewise.
2122         * objc/typedstream.h: Likewise.
2123
2124
2125 2004-06-21  Nick Clifton  <nickc@redhat.com>
2126
2127         * encoding.c (BITS_PER_UNIT): Define if a definition is not
2128         provided.
2129
2130 2004-06-20  Alexander Malmberg  <alexander@malmberg.org>
2131
2132         * Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS).
2133         (exception_gc.lo): New.
2134         (OBJS_GC): Add exception_gc.lo.
2135
2136 2004-06-17  Richard Henderson  <rth@redhat.com>
2137
2138         * exception.c: New file.
2139         * Makefile.in (exception.lo): New.
2140         (OBJS): Add it.
2141
2142 2004-06-14  Andrew Pinski  <pinskia@physics.uc.edu>
2143
2144         * linking.m (_objcInit): New empty function
2145         for Darwin only.
2146
2147 2004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
2148
2149         * configure.ac: Support --enable-shared=libobjc.
2150         * configure: Regenerate.
2151
2152         PR libobjc/15901
2153         * configure.ac: Do not disable shared by default.
2154         * configure: Regenerate.
2155
2156 2004-06-03  Nicola Pero  <n.pero@mi.flashnet.it>
2157
2158         * Protocol.m ([-isEqual:]): Small optimizations returning
2159         immediately if the argument is equal to self, and accessing
2160         the argument's name directly if it's a protocol.
2161
2162 2004-06-03  David Ayers  <d.ayers@inode.at>
2163
2164         * Protocol.m ([-isEqual:]): Test the class of the argument.
2165
2166 2004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2167
2168         * configure.ac (includedir): Rename to ...
2169         (includedirname).
2170         * Makefile.in: s/includedir/includedirname/.
2171
2172         PR target/11572
2173         * configure.ac (includedir): Set to "include"
2174         except for Darwin.
2175         (libext) Set to empty except for Darwin.
2176         * configure: Regenerate
2177         * Makefile.in: s/libobjc.la/libobjc$(libext).la/g.
2178         s/include/$(includedir)/g.
2179
2180 2004-05-25  Daniel Jacobowitz  <drow@false.org>
2181
2182         * Makefile.in: Add .NOEXPORT.
2183
2184 2004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2185
2186         Merge from the libobjc-branch
2187         2004-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
2188
2189                 * Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.
2190
2191         2004-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
2192
2193                 * Makefile.in (OBJC_H): Add objc-deps.h.
2194
2195         2004-01-27  Nicola Pero  <n.pero@mi.flashnet.it>
2196
2197                 * Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
2198                 ([-hash], [-isEqual:]): New methods.
2199
2200         2004-01-27  Richard Frith-Macdonald <rfm@gnu.org>
2201
2202                 * sarray.c (sarray_free): Add a better comment.
2203
2204         2004-01-27  Adam Fedor  <fedor@gnu.org>
2205
2206                 * hash.c (hash_add): Cast cachep to int.
2207                 * selector.c (__sel_register_typed_name): Cast
2208                 soffset_decode to int.
2209
2210         2004-01-27  Alexander Malmberg  <alexander@malmberg.org>
2211
2212                 * selector.c: Rename register_selectors_from_list to
2213                 __objc_register_selectors_from_list. Update caller.
2214                 (__objc_register_selectors_from_list): Lock __objc_runtime_mutex
2215                 while registering selectors. Use __sel_register_typed_name instead
2216                 of sel_register_typed_name. Check for NULL method_name:s.
2217                 (pool_alloc_selector): New function.
2218                 (__sel_register_typed_name): Use pool_alloc_selector to allocate
2219                 selector structures.
2220                 * sendmsg.c (class_add_method_list): Use
2221                 __objc_register_selectors_from_list.
2222                 * objc/runtime.h: Add __objc_register_selectors_from_list.
2223
2224         2004-01-25  Adam Fedor  <fedor@gnu.org>
2225                     Nicola Pero  <n.pero@mi.flashnet.it>
2226                     Andrew Pinski  <pinskia@physics.uc.edu>
2227
2228                 * objc/objc-decls.h: New file.
2229                 * objc/objc-api.h (_objc_lookup_class): Mark as export.
2230                 (_objc_load_callback): Likewise.
2231                 (_objc_object_alloc): Likewise.
2232                 (_objc_object_copy): Likewise.
2233                 (_objc_object_dispose): Likewise.
2234
2235         2004-01-25  Andrew Pinski  <pinskia@physics.uc.edu>
2236
2237                 * archive.c: s/__inline__/inline
2238                 * sendmsg.c: Likewise.
2239
2240                 * encoding.c: Remove FIXME about the warning
2241                 about unused variable.
2242                 * sendmsg.c: Add a FIXME comment saying that
2243                 this should be using libffi.
2244
2245                 * Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.
2246
2247
2248 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
2249
2250         * archive.c (objc_read_class): Initialize class_name.
2251         (objc_read_selector): Initialize selector_name.
2252
2253 2004-05-09  Richard Sandiford  <rsandifo@redhat.com>
2254
2255         * Makefile.in (toolexecdir): Remove trailing space.
2256
2257 2004-04-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2258
2259         PR libobjc/14948
2260         * configure.ac: De-precious CC so multilibs work.
2261         * configure: Regenerate.
2262
2263 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2264
2265         * configure.ac: Restore toolexecdir.
2266         * Makefile.in: Restore toolexecdir.
2267         * configure: Regenerate.
2268
2269 2004-04-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2270
2271         * configure.ac: Remove (unused) glibcpp_prefixdir.
2272         * configure: Regenerate.
2273
2274         * configure.in: Rename to configure.ac.
2275         * Makefile.in: Update to match.
2276
2277         * Makefile.in: Remove toolexecdir, glibcpp_toolexecdir (unused).
2278         Replace glibcpp_toolexeclibdir with toolexeclibdir.
2279         * configure.in: Remove glibcpp_toolexecdir (unused).
2280         Replace glibcpp_toolexeclibdir with toolexeclibdir.  Don't generate
2281         config.h or stamp-h (unused).  Move one comment to the right place.
2282         * configure: Regenerate.
2283         * config.h.in: Remove (unused).
2284
2285         * config.h.in: Regenerate with autoheader.
2286
2287         * Makefile.in: Remove (unused) gcc_version_trigger.
2288         * configure.in: Remove (unused) glibcpp_builddir.  Don't AC_SUBST
2289         gcc_version_trigger.
2290         * configure: Regenerate.
2291
2292         * configure.in: Switch to modern style for AC_INIT, AC_OUTPUT.
2293         Sort file into sections.  Remove dnl where appropriate.  Fix
2294         other style issues.
2295         * configure: Regenerate.
2296
2297         * configure.in: Replace old AC_PROG_CC hack with new one.
2298         Define toplevel_srcdir in terms of srcdir, not top_srcdir (there
2299         are no subdirectory output files, so this is fine).  Change prereq
2300         to autoconf 2.59.
2301         * aclocal.m4: Include ../config/no-executables.m4.
2302         * configure: Regenerate with autoconf 2.59.
2303
2304         * configure.in: Improve comments on gthread_cflags.  Improve m4
2305         quotation, and replace 'if test' with 'case', for --enable-objc-gc.
2306         * configure: Regenerate.
2307
2308         * configure.in: Move PACKAGE and VERSION settings up top.  Remove
2309         unused call to AC_PROG_LN_S.  Default RANLIB to ':'.  Remove
2310         redundant checks for values of RANLIB, AR, INSTALL.
2311         * configure: Regenerate.
2312
2313         * configure.in: Clean up handling of
2314         --enable-version-specific-runtime-libs and related variables;
2315         replace 'if test' with 'case' where reasonable.  Fix comments.
2316         Remove useless libstdcxx_interface.
2317         * configure: Regenerate.
2318
2319         * configure.in: Use _GCC_TOPLEV_NONCANONICAL_TARGET.
2320         Replace uses of target_alias with target_noncanonical.
2321         * aclocal.m4: Include ../config/acx.m4.
2322         * configure: Regenerate.
2323         * Makefile.in: Replace uses of target_alias with target_noncanonical.
2324         Fix copyright statement.
2325
2326         * configure.in: Hand-inline bulky, confusing macros from
2327         aclocal.m4.  Replace references to "GNU Objective C" with "GCC".
2328         Update copyright notice.  Remove stuff for automake, which isn't
2329         used in this directory.  Remove emacs local variables.
2330         * aclocal.m4: Remove hand-inlined macros.  Update copyright notice.
2331         * configure: Regenerate.
2332
2333 2004-03-16  Manfred Hollstein  <mh@suse.com>
2334
2335         * Makefile.in, configure.in, configure: Update copyright years.
2336
2337 2004-03-15  Manfred Hollstein  <mh@suse.com>
2338
2339         * Makefile.in (LIBOBJC_VERSION, LIBOBJC_GC_VERSION): Use
2340         definition from configure.in.
2341         * configure.in (PACKAGE): Add definition.
2342         (VERSION): Add definition; substitute it in output files.
2343         * configure: Re-generate.
2344
2345 2004-03-05  Ziemowit Laski  <zlaski@apple.com>
2346
2347         * objc/hash.h (hash_string, compare_strings):
2348         Add type-casts to make Objective-C++ happy.
2349         * objc/typedstream.h (objc_get_stream_class_version):
2350         Rename parameter from 'class' to 'class_name' to make
2351         Objective-C++ happy.
2352
2353 2004-03-01  Michael Matz  <matz@suse.de>
2354
2355         * Makefile.in (ALL_CFLAGS): Add -fno-strict-aliasing.
2356
2357 2004-02-06  Ziemowit Laski  <zlaski@apple.com>
2358
2359         * objc/objc-api.h (objc_super): The 'class' field shall
2360         be named 'super_class' #ifdef __cplusplus.
2361
2362 2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
2363
2364         PR target/10781
2365         * encoding.c (rs6000_special_round_type_align): Define.
2366
2367 2004-01-14  Adam Fedor  <fedor@gnu.org>
2368
2369         PR libobjc/12155
2370         * selector.c (__objc_register_instance_methods_to_class): Free
2371         new_list if not used.
2372
2373 2004-01-09  Andrew Ruder  <aeruder@ksu.edu>
2374
2375         PR libobjc/11904
2376         * sarray.c (sarray_free): Free array->is_copy_of latter.
2377
2378 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
2379
2380         PR 11433
2381         * Protocol.m (descriptionForInstanceMethod): Don't dereference
2382         instance_methods if it's NULL.
2383         (descriptionForClassMethod): Likewise for class_methods.
2384
2385 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2386
2387         * Makefile.in (runtime-info.h): Remove -Wp.
2388
2389 2003-10-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2390
2391         * Makefile.in (CC1OBJ): Remove.
2392         (runtime-info.h): Invoke $(CC) so all MULTIFLAGS are handled
2393         correctly.
2394         Use .m extension for temporary file.
2395         Remove assembler temp file.
2396
2397 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2398
2399         * objc/hash.h (hash_string): Don't use a cast as an lvalue.
2400
2401 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2402
2403         * Makefile.in (runtime-info.h): Use MULTIFLAGS.
2404
2405 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2406
2407         * configure: Regenerate.
2408
2409 2003-08-27  Alexander Malmberg  <alexander@malmberg.org>
2410
2411         * Makefile.in, aclocal.m4: Update to $(libdir)/gcc/ instead of
2412         (libdir)/gcc-lib/ when installing.
2413         * configure: Regenerate.
2414
2415 Thu Jul 10 10:27:43 2003  Nicola Pero  <n.pero@mi.flashnet.it>
2416
2417         libobjc/9969
2418         * sendmsg.c (get_imp): Fixed rare threading problem.
2419         (__objc_responds_to): Similar fixes.
2420         (objc_msg_lookup): Similar fixes.
2421         (__objc_init_install_dtable): Lock the runtime before checking if the
2422         table is installed.
2423
2424 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2425
2426         * hash.c, init.c, libobjc.def, libobjc_entry.c, linking.m,
2427         makefile.dos, misc.c, nil_method.c, objects.c, sarray.c,
2428         selector.c, sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c,
2429         thr-mach.c, thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c,
2430         thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c,
2431         thr-win32.c, thr.c: Replace "GNU CC" with "GCC".
2432         * Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
2433         class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
2434         objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h,
2435         objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h,
2436         objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".
2437
2438 Tue May 13 14:56:03 2003  Richard Frith-Macdonald <rfm@gnu.org>
2439                           Nicola Pero  <n.pero@mi.flashnet.it>
2440
2441         libobjc/10742
2442         * init.c (class_superclass_of_class): New function.
2443         (create_tree_of_subclasses_inherited_from): Use it.
2444         (__objc_tree_insert_class): Likewise.
2445         (class_is_subclass_of_class): Likewise.
2446
2447 2003-04-11  David Chad  <davidc@freebsd.org>
2448             Loren J. Rittle  <ljrittle@acm.org>
2449
2450         libobjc/8562
2451         * objc/hash.h (hash_string): Constify correctly.
2452         (compare_ptrs): Use direct compare.
2453         * objc/objc-list.h (list_nth): Rename index to indx to avoid shadow.
2454         * objc/sarray.h: Global rename index to indx to avoid shadow.
2455
2456 2003-03-12  Andreas Schwab  <schwab@suse.de>
2457
2458         * aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
2459         glibcpp_toolexeclibdir.
2460         * configure: Rebuilt.
2461
2462 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
2463
2464         * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
2465         config.status.
2466         * configure: Rebuilt.
2467
2468 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2469
2470         * aclocal.m4 (glibcpp_toolexeclibdir): Instead of
2471         $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
2472         version_specific_libs is enabled.
2473         * configure: Rebuilt.
2474
2475 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2476
2477         * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
2478         (install-libs, install-headers): Prepend $(DESTDIR) to
2479         destination paths in all (un)installation commands.
2480
2481 2002-12-02  Zack Weinberg  <zack@codesourcery.com>
2482
2483         * thr-objc.c: Include coretypes.h and tm.h.
2484
2485 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
2486
2487         * encoding.c, sendmsg.c: Include coretypes.h and tm.h.
2488
2489 2002-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2490
2491         * configure.in: Remove skip-this-dir support.
2492         * configure: Regenerate.
2493
2494 2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2495
2496         * Makefile.in (all): Fix multilib parallel build.
2497
2498 Thu Sep 12 12:44:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
2499
2500         * sendmsg.c (nil_method): Declare not to take a variable number of
2501         args.
2502         (objc_msg_lookup): Cast nil_method to IMP before returning it.
2503         (objc_msg_lookup_super): The same.
2504
2505 2002-09-10  Jan Hubicka  <jh@suse.cz>
2506
2507         * nil_method.c (nil_method): No longer defined with variable
2508         arguments.
2509
2510 2002-07-02  Rodney Brown  <rbrown64@csc.com.au>
2511
2512         * objc/encoding.h: Fix formatting.
2513         * objc/hash.h: Likewise.
2514         * objc/objc-api.h: Likewise.
2515         * objc/runtime.h: Likewise.
2516         * objc/thr.h: Likewise.
2517         * archive.c: Likewise.
2518         * class.c: Likewise.
2519         * encoding.c: Likewise.
2520         * gc.c: Likewise.
2521         * hash.c: Likewise.
2522         * init.c: Likewise.
2523         * misc.c: Likewise.
2524         * nil_method.c: Likewise.
2525         * objects.c: Likewise.
2526         * sarray.c: Likewise.
2527         * selector.c: Likewise.
2528         * sendmsg.c: Likewise.
2529         * thr-mach.c: Likewise.
2530         * thr.c: Likewise.
2531
2532 2002-06-25  DJ Delorie  <dj@redhat.com>
2533
2534         * aclocal.m4 (GLIBCPP_CONFIGURE): Split out
2535         GLIBCPP_TOPREL_CONFIGURE.
2536         * configure.in: Call it before AC_CANONICAL_SYSTEM.
2537         * configure: Regenerate.
2538
2539 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2540
2541         * Object.m (forward, read, write): Fix unused parameter warnings.
2542         * encoding.c: Include <stdlib.h>.
2543         (target_flags): Mark with attribute unused.
2544         (atoi): Delete.
2545         * runtime.h (__objc_selector_max_index): Change to unsigned int.
2546         (__objc_generate_gc_type_description): Prototype.
2547         * selector.c (__objc_selector_max_index): Change to unsigned int.
2548
2549 Mon Jun 17 18:37:42 2002  Nicola Pero  <n.pero@mi.flashnet.it>
2550
2551         * sendmsg.c (__objc_get_forward_imp): Fix warning by making sure
2552         we always have a return value: if __objc_msg_forward does not
2553         supply a forwarding implementation, return the default
2554         __builtin_apply based one.
2555
2556 2002-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2557
2558         * Object.m: Fix signed/unsigned warning.
2559         * Protocol.m: Likewise.
2560         * archive.c: Always include stdlib.h.
2561         (objc_read_short, objc_read_unsigned_short, objc_read_int,
2562         objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong):
2563         Fix signed/unsigned warning.
2564         (objc_write_type, objc_read_type, objc_write_types,
2565         objc_read_types): Ensure ctype 8-bit safety.
2566         (__objc_no_write, __objc_no_read): Mark unused parameters.
2567         * class.c (class_table_setup): Specify void arg.
2568         * encoding.c (atoi, objc_sizeof_type, objc_alignof_type,
2569         objc_skip_typespec, objc_skip_offset,
2570         objc_layout_structure_next_member): Ensure ctype 8-bit safety.
2571         (objc_layout_structure_next_member): Ensure variables are
2572         initialized.
2573         * gc.c (__objc_generate_gc_type_description,
2574         class_ivar_set_gcinvisible): Mark unused parameters.
2575         * init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark
2576         unused parameters.
2577         (__objc_init_protocols) Fix signed/unsigned warning.
2578         * nil_method.c (nil_method): Mark unused parameters.
2579         * thr.h (objc_thread_callback): Specify void arg.
2580         * sarray.c (sarray_new, sarray_realloc, sarray_free): Fix
2581         signed/unsigned warning.
2582         (sarray_free): Fix formatting.
2583         * selector.c (sel_types_match): Ensure ctype 8-bit safety.
2584         * sendmsg.c (__objc_init_install_dtable) Mark unused parameters.
2585
2586 2002-06-09  Andreas Jaeger  <aj@suse.de>
2587
2588         * encoding.c (objc_layout_structure_next_member): Remove unused
2589         variable.
2590
2591 2002-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2592
2593         * Makefile.in (SHELL): Set to @SHELL@.
2594         (WARN_CFLAGS): New.
2595         (ALL_CFLAGS): Add $(WARN_CFLAGS).
2596
2597 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2598
2599         * aclocal.m4: Allow for PWDCMD to override hardcoded pwd.
2600         * configure: Regenerate.
2601
2602 2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
2603
2604         * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
2605         script entry, and set LD to it when configuring multilibs.
2606         * configure: Rebuilt.
2607
2608 2002-04-19  David O'Brien  <obrien@FreeBSD.org>
2609
2610         * encoding.c (MAX, MIN, ROUNDING): #undef before defining.
2611
2612 2002-04-09  Hans-Peter Nilsson  <hp@bitrange.com>
2613
2614         PR objc/6107
2615         * objc/objc-api.h (struct objc_protocol_list): Change type of
2616         member count from int to size_t.
2617
2618 2002-02-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2619
2620         PR libobjc/4039
2621         * aclocal.m4: Replace with version copied from libstdc++-v3.
2622         * configure.in: Update for changes to aclocal and Makefile.
2623         * configure: Regenerate.
2624         * Makefile.in: Correct install of multilibs and shared libs, use
2625         INSTALL_DATA for include files.
2626
2627 Mon Dec 17 17:02:12 2001  Nicola Pero  <nicola@brainstorm.co.uk>
2628
2629         * init.c (__objc_exec_class): Fixed bug in the loop on unclaimed
2630         categories - when an unclaimed category was found, the loop was
2631         doing two steps forward instead of one, so that in certain cases
2632         it was failing to properly load all the categories.  (Reported
2633         with fix by Alexander Malmberg <alexander@malmberg.org>).
2634
2635 2001-11-14  Aldy Hernandez  <aldyh@redhat.com>
2636
2637         * encoding.c: Add target_flags.
2638
2639 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
2640
2641          * objc/objc-api.h (_C_VECTOR): New.
2642
2643          * encoding.c (VECTOR_TYPE): New.
2644
2645 Mon Oct 29 21:29:21 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2646
2647         * class.c: Rewritten the class table to use optimized, lock-free
2648         lookup.  This more than doubles the speed of class method
2649         invocations.  (class_table_setup), (class_table_insert),
2650         (class_table_replace), (class_table_get_safe),
2651         (class_table_next), (class_table_print),
2652         (class_table_print_histogram): New functions.
2653         (__objc_init_class_tables): Use class_table_setup.
2654         (__objc_add_class_to_hash): Use class_table_get_safe and
2655         class_table_insert.  (objc_lookup_class), (objc_get_class): Do not
2656         assert the existence of the table; do not lock the runtime; use
2657         class_table_get_safe.  (objc_next_class): Use class_table_next.
2658         (__objc_resolve_class_links): Use class_table_next.
2659         (class_pose_as): Use class_table_replace.
2660
2661 2001-09-10  Ovidiu Predescu  <ovidiu@cup.hp.com>
2662
2663         * gc.c: Removed the DEBUG declaration.
2664
2665 Wed Jul 18 12:48:56 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2666
2667         * thr.c (objc_mutex_lock): Invoke __objc_thread_id directly,
2668         rather than through objc_thread_id, to save a function call.
2669         (objc_mutex_trylock, objc_mutex_unlock, objc_condition_wait):
2670         Ditto.
2671
2672 Mon Jul 16 12:15:00 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2673
2674         * objc/objc-api.h (object_is_class): Fixed - buggy code was trying
2675         to cast an id to a Class, which can not be done.  Make the check
2676         by using CLS_ISMETA on the class pointer instead.
2677         (object_is_meta_class): Similar fix.
2678
2679 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>, Stephen L Moshier  <moshier@mediaone.net>
2680
2681         * configure.in (AC_EXEEXT): Work around in case it expands to
2682         nothing, as in autoconf 2.50.
2683         * acinclude.m4: Likewise.
2684         * configure: Rebuilt.
2685
2686 2001-06-08  Nicola Pero  <n.pero@mi.flashnet.it>
2687
2688         * THREADS: Explain that when we compile libobjc inside GCC, we
2689         always use thr-objc.c as a backend, which uses GCC's thread code.
2690
2691 2001-06-06  Richard Frith-Macdonald  <rrfm@gnu.org>
2692
2693         * init.c (__objc_send_message_in_list): When setting a new entry
2694         in __objc_load_methods use the method IMP as key, but check to see
2695         if the method is in the hashtable by looking at the IMP also.
2696         Also ... call the method after adding it to the hashtable rather
2697         than before ... thus preventing an obscure possibility of infinite
2698         recursion if a +load method itself loads a subclass.
2699
2700 2001-05-25  Ovidiu Predescu  <ovidiu@cup.hp.com>
2701
2702         * init.c (__objc_send_message_in_list): When setting a new entry
2703         in __objc_load_methods use the method name as key, not the method
2704         IMP (reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>).
2705
2706 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2707
2708         * objc-features.texi: Move to ../gcc/objc.texi.
2709         * fdl.texi: Remove.
2710         * Makefile.in: Don't generate documentation from
2711         objc-features.texi.
2712
2713 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
2714
2715         * fdl.texi: New file.
2716         * objc-features.texi: Simplify.
2717         * Makefile.in: Adjust accordingly.
2718
2719 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2720
2721         * objc-features.texi: Use the GFDL.
2722
2723 Wed Mar 21 04:44:58 EST 2001  John Wehle  (john@feith.com)
2724
2725         * encoding.c (REAL_TYPE): Define.
2726
2727 2001-03-19  David Edelsohn  <edelsohn@gnu.org>
2728
2729         * encoding.c (TYPE_MODE): Define.
2730
2731 2001-03-14  Nicola Pero  <n.pero@mi.flashnet.it>
2732
2733         * thr.c (objc_thread_add): New function.
2734         (objc_thread_remove): Ditto.
2735         * objc/thr.h: Declare them.
2736         * libobjc.def: Mention them.
2737
2738 2001-02-28  Ovidiu Predescu  <ovidiu@cup.hp.com>
2739
2740         * objc-features.texi: Document the @compatibility_alias compiler
2741         directive (description from Nicola Pero <n.pero@mi.flashnet.it>).
2742
2743 Fri Feb 23 18:12:00 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2744
2745         * sendmsg.c (__objc_forward): Delete strlen() declaration.
2746
2747 2001-02-08  Geoffrey Keating  <geoffk@redhat.com>
2748
2749         * configure.in: Don't run AC_PROG_CC_WORKS or AC_EXEEXT, because
2750         we're not interested in the result and they might fail.
2751         * configure: Regenerated.
2752
2753 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2754
2755         * objc-features.texi: Use @email.
2756
2757 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2758
2759         * sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside
2760         printf.
2761
2762 2000-01-11  Richard Earnshaw  <rearnsha@arm.com>
2763
2764         * encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that
2765         determines the value dynamically.
2766
2767 Wed Jan  3 00:49:10 2001  Ovidiu Predescu  <ovidiu@cup.hp.com>
2768
2769         * sendmsg.c: Added __objc_msg_forward, a hook that allows external
2770         libraries to provide a function that returns the real forwarding
2771         function. This can alleviate problems __builtin_apply() and
2772         friends have on various platforms. (Solution suggested by Helge
2773         Hess.)
2774
2775         * objc/objc-api.h: Define __objc_msg_forward.
2776
2777         * sendmsg.c: Define gen_rtx_REG.
2778
2779 2000-12-06      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2780
2781         * thr-rtems.c: New file. Stub to compile.
2782
2783 2000-09-06  Alexandre Oliva  <aoliva@redhat.com>
2784
2785         * configure: Rebuilt with new libtool.m4.
2786
2787 Tue Aug 15 00:38:56 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
2788
2789         * configure.in: Create a config.h file. Check for <sched.h>.
2790         * configure: Regenerate.
2791
2792         * config.h.in: Check for <sched.h>.
2793
2794 2000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
2795
2796         * configure: Regenerate after change to ../libtool.m4.
2797
2798 2000-08-14  Andreas Schwab  <schwab@suse.de>
2799
2800         * objc-features.texi (Top): Move @menu at end of node.
2801
2802 2000-08-11  Manfred Hollstein  <manfredh@redhat.com>
2803
2804         * objc-features.texi: Move @node Top before @menu.
2805
2806 Sun Aug  6 23:27:49 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
2807
2808         * objc-features.texi: Documented the new -fconstant-string-class
2809         option.
2810
2811 Sun Aug  6 22:51:16 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
2812
2813         * thr-posix.c: Integrated Chris Ball's <cball@fmco.com> changes to
2814         improve the Posix thread support for Objective-C.
2815
2816 2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
2817
2818         * aclocal.m4: Replace copy of ../libtool.m4 with
2819         sinclude(../libtool.m4).
2820
2821 Fri Jul 28 08:58:02 2000  Nicola Pero  <nicola@brainstorm.co.uk>
2822
2823         * configure.in: Added libtool support; build shared libraries
2824         if --enable-shared was passed on command line.
2825         * Makefile.in: Modified most compilation commands to use libtool.
2826         * aclocal.m4: New symbolic link to the ../libtool.m4, from the
2827         libtool distribution.
2828
2829 Sat Jul 29 00:10:21 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
2830
2831         * sarray.c, Object.m: Removed the explicit prototypes for strlen
2832         and memcpy on 64-bit platforms (Suggested by Rodney Brown
2833         <rdb@cup.hp.com>).
2834
2835 2000-05-12  H.J. Lu  (hjl@gnu.org)
2836
2837         * Makefile.in (GTHREAD_FLAGS): New.
2838         (ALL_CFLAGS): Add $(GTHREAD_FLAGS).
2839         (OBJC_THREAD_FILE): Changed to thr-objc.
2840
2841         * configure.in (GTHREAD_FLAGS): New, check and replace it for
2842         Makefile.
2843         (OBJC_THREAD_FILE): Removed.
2844
2845         * thr-objc.c: New.
2846
2847 2000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2848
2849         * objc/hash.h: Include string.h.
2850
2851 2000-04-15  David Edelsohn  <edelsohn@gnu.org>
2852
2853         * Object.m (strlen): 64-bit PowerPC is a 64bit platform as well.
2854
2855 2000-04-12  Jakub Jelinek  <jakub@redhat.com>
2856
2857         * Object.m (strlen): Provide prototype on all 64bit platforms,
2858         not only alpha.
2859         * sarray.c (memcpy): Likewise.
2860         * encoding.c (objc_layout_finish_structure): Don't use
2861         ROUND_TYPE_ALIGN on sparc.
2862
2863         * encoding.c (objc_layout_structure_next_member): Do the whole
2864         procedure even for the first member, so that we get correct
2865         alignment.
2866
2867 2000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
2868
2869         * objc/Protocol.h, objc/objc-list.h: Change #endif labels to
2870         comments.
2871
2872 2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
2873
2874         * Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS.
2875
2876 Thu Sep 23 07:19:12 1999   Chris Ball <cball@fmco.com>
2877
2878         * thr-posix.c (__objc_mutex_deallocate): made deallocate work.
2879
2880 Tue Sep 21 07:47:10 1999  Jeffrey A Law  (law@cygnus.com)
2881
2882         * Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to
2883         the compiler when building C code.
2884
2885 Fri Aug  6 23:32:29 1999  Daniel Jacobowitz <drow@drow.them.org>
2886
2887         * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
2888         libdir, libsubdir and tooldir.
2889
2890 Mon Jun 21 05:40:15 1999  John David Anglin <dave@hiauly1>
2891
2892         * init.c (__objc_force_linking): Make global.
2893
2894 Thu May 20 03:20:59 1999  Jeffrey A Law  (law@cygnus.com)
2895
2896         * configure.in (AC_EXEEXT): Remove call.
2897         (compiler_name): Explicitly check with no extension and .exe
2898         extension.
2899         * configure: Regenerate.
2900
2901 Sun Apr 25 01:15:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
2902
2903         * Makefile.in (CC1OBJ): Define in terms of CC.
2904         (runtime-info.h): Use.
2905
2906 Fri April 8 08:21:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
2907
2908         * objc-features.texi: Updated the URL to Boehm's GC page.
2909
2910 Fri Mar 26 23:41:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
2911
2912         * archive.c (__objc_code_char, __objc_write_char): Explicitly specify
2913         the char as being signed (patch from Daniel Jacobowitz
2914         <drow@false.org>).
2915
2916 Wed Mar 24 22:41:28 1999  Mumit Khan  <khan@xraylith.wisc.edu>
2917
2918         * configure.in (AC_PREREQ): Update to 2.13.
2919         (AC_EXEEXT): Call to find possible file extension.
2920         (compiler_name): Use.
2921         * configure: Regenerate.
2922
2923 Wed Jan 27 02:31:01 1999  Jeffrey A Law  (law@cygnus.com)
2924
2925         * Makefile.in (ALL_CFLAGS): Add -DIN_GCC.
2926
2927 Tue Jan  5 01:38:53 1999  Jeffrey A Law  (law@cygnus.com)
2928
2929         * configure.in (thread_file): Correct and simplify code to find
2930         the thread file.
2931         * configure: Rebuilt.
2932
2933 1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
2934
2935         * configure.in (compiler_name): Add check to detect if this
2936         language's compiler has been built.
2937         * configure: Regenerate.
2938
2939 Mon Nov 23 16:50:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2940
2941         *  configure.in: Use AC_PREREQ(2.12.1).
2942
2943 Thu Nov 19 20:33:37 1998  Jeffrey A Law  (law@cygnus.com)
2944
2945         * Makefile.in (runtime-info.h): Avoid GNU make extensions.
2946
2947 Sun Nov  8 17:46:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2948
2949         * Makefile.in (INCLUDES): Add -I$(srcdir)/$(MULTISRCTOP)../include.
2950
2951 Thu Oct 22 14:34:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2952
2953         * configure.in: Use AC_CONFIG_AUX_DIR($topsrcdir).
2954
2955 Sat Oct 17 05:21:31 1998  Ovidiu Predescu  <ovidiu@slip.net>
2956
2957         * objc-features.texi (Top): Changed the email address.
2958         * objc-features.texi (Garbage Collection): Use @uref instead of @url.
2959
2960 Mon Oct 11 21:25:27 1998  Ovidiu Predescu  <ovidiu@slip.net>
2961
2962         * encoding.c: Redefine get_inner_array_type to get the first entry
2963         in the structure.
2964
2965 Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald <richard@brainstorm.co.uk>
2966
2967         * encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
2968         (objc_get_type_qualifiers): Similarly.
2969         * objc/encoding.h (_C_BYREF): Define.
2970         (_F_BYREF): Define.
2971
2972 1998-10-07  David S. Miller  <davem@pierdol.cobaltmicro.com>
2973
2974         * objc/sarray.h: Make boffset be an unsigned long when sparc so it
2975         works out on 64-bit systems.
2976
2977 Tue Oct  6 20:32:06 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
2978
2979         * Makefile.in (INCLUDES): Make it multilib-friendly.
2980
2981 Fri Oct  2 07:12:14 1998  H.J. Lu  (hjl@gnu.org)
2982
2983         * Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc.
2984
2985 Thu Oct  1 22:33:03 1998 Robert Lipe  <robertl@dgii.com>
2986                          Jeffrey A Law  (law@cygnus.com)
2987
2988         * Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
2989         (FLAGS_TO_PASS): Added.
2990         (runtime-info.h): Reference cc1ibj via $MULTIBUILDTOP.
2991
2992         * archive.c: Change config.h to tconfig.h.
2993
2994         * configure.in: Find gcc's object directory even for multilibs.
2995
2996 Wed Sep 30 18:17:17 1998  Robert Lipe  <robertl@dgii.com>
2997
2998         * configure.in: Escape ^ in grep string.
2999         * configure: Rebuilt.
3000
3001 Wed Sep 30 09:14:52 1998  Jeffrey A Law  (law@cygnus.com)
3002
3003         * All .h files pushed down into the objc/ subdirectory.
3004         * Makefile.in (copy_headers): Corresponding changes.
3005         * configure.in (AC_INIT): Corresponding changes.
3006         * configure: Rebuilt.
3007
3008 1998-09-30  Ben Elliston  <bje@cygnus.com>
3009             Jeff Law      <law@cygnus.com>
3010
3011         * Makefile.in: Rewrite.
3012
3013         * configure.in: Likewise.
3014
3015         * configure: Regenerate.
3016
3017         * All .c files.  Remove "objc" prefix when including objc header
3018         files.  Include tconfig.h, not ../tconfig.h.
3019
3020 Mon Sep 21 23:27:10 1998  Ovidiu Predescu <ovidiu@slip.net>
3021
3022         * encoding.c (TREE_TYPE, ARRAY_TYPE): Define.
3023         (get_inner_array_type): Define.
3024
3025 1998-09-21  Ben Elliston  <bje@cygnus.com>
3026
3027         * New directory.  Moved files from ../gcc/objc.