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