OSDN Git Service

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