OSDN Git Service

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