OSDN Git Service

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