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