OSDN Git Service

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