]> git.ipfire.org Git - thirdparty/gcc.git/blame - libobjc/ChangeLog
atexit.c: New file.
[thirdparty/gcc.git] / libobjc / ChangeLog
CommitLineData
4ee6515e
TS
12015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2
3 PR libobjc/24775
4 * encoding.c (objc_layout_finish_structure): Remove usage of
5 ROUND_TYPE_SIZE.
6
df6c48ba
TS
72015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8
9 PR libobjc/24775
10 * sendmsg.c (tm.h): Remove include.
11
5625cfc4
TS
122015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13
14 PR libobjc/24775
15 * sendmsg.c (gen_rtx): Remove macro.
16 (gen_rtx_MEM): Likewise.
17 (gen_rtx_REG): Likewise.
18 (rtx): Likewise.
19
2f0c2a0c
TS
202015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21
22 PR libobjc/24775
23 * sendmsg.c: Remove check of STRUCT_VALUE macro.
24
9b92a9f3
EB
252015-05-13 Eric Botcazou <ebotcazou@adacore.com>
26
27 * configure.ac: Remove manual SJLJ check.
28 * config.h.in: Regenerate.
29 * configure: Likewise.
30 * exception.c: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
31
2394528d
MH
322015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
33
34 * aclocal.m4: Regenerated with automake-1.11.6.
35
d6ed95fc
TS
362015-05-04 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
37
38 * configure: Regenerate.
39
4afeb6fc
TS
402015-05-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
41
42 * acinclude.m4: Include bitfields.m4.
43 * config.h.in: Regenerate.
44 * configure: Likewise.
45 * configure.ac: Invoke gt_BITFIELD_TYPE_MATTERS.
46 * encoding.c: Check HAVE_BITFIELD_TYPE_MATTERS.
47
e022edaf
TS
482015-04-29 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
49
50 * encoding.c (objc_layout_structure_next_member): Check the value of
51 PCC_BITFIELD_TYPE_MATTERS not if it is defined.
52
6c6e94b9
RO
532015-02-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
54
55 PR libobjc/63765
56 * thr.c (_XOPEN_SOURCE): Remove.
57
67caf538
MK
582015-01-27 Matthias Klose <doko@ubuntu.com>
59
60 * sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.
61
100bfe4a
DP
622015-01-09 Dimitris Papavasiliou <dpapavas@gmail.com>
63
a5dbcace 64 PR libobjc/51891
100bfe4a
DP
65 * ivars.c: Add a check for classes without instance
66 variables, which have a NULL ivar list pointer.
67
5624e564
JJ
682015-01-05 Jakub Jelinek <jakub@redhat.com>
69
70 Update copyright years.
71
a699d672
L
722014-11-21 H.J. Lu <hongjiu.lu@intel.com>
73
74 PR bootstrap/63784
75 * configure: Regenerated.
76
ebf6d33b
FXC
772014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
78
79 PR target/63610
80 * configure: Regenerate.
81
8c768629
RO
822014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
83
84 * thr.c (_XOPEN_SOURCE): Define as 600.
85
98b383e4
AM
862014-07-27 Alan Modra <amodra@gmail.com>
87 Matthias Klose <doko@ubuntu.com>
88
89 PR libobjc/61920
90
91 * encoding.c: Define rs6000_special_adjust_field_align_p.
92
f82356d2
RS
932014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
94
95 Update copyright years
96
3cbe17f7
AM
972013-09-20 Alan Modra <amodra@gmail.com>
98
99 * configure: Regenerate.
100
cad10e05
OB
1012013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
102
103 * class.c: Fix typos.
104 * encoding.c: Likewise.
105 * init.c: Likewise.
106 * objc-private/runtime.h: Likewise.
107 * objc/runtime.h: Likewise.
108 * objc-sync.c: Likewise.
109
3e676928
KT
1102013-07-04 Kai Tietz <ktietz@redhat.com>
111
112 * exception.c: Add check for SjLj to SEH blocks.
113
ad2466ae
RS
1142013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
115
116 Update copyright years.
117
ad1a0853
MM
1182012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com>
119
120 * encoding.c (TARGET_VSX): Provide definitions based on the
121 current compilation options, and not based off the target options
122 structure.
123 (TARGET_ALTIVEC): Likewise.
124 (TARGET_64BIT): Likewise.
125
a3476c48
DE
1262012-09-14 David Edelsohn <dje.gcc@gmail.com>
127
128 * configure: Regenerated.
129
bf1431e3
TG
1302012-07-19 Tristan Gingold <gingold@adacore.com>
131 Richard Henderson <rth@redhat.com>
132
133 * exception.c (__gnu_objc_personality_seh0): New function.
134
e6d5f8c9
L
1352012-05-16 H.J. Lu <hongjiu.lu@intel.com>
136
137 * configure: Regenerated.
138
5c30094f
RO
1392012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
140
141 * configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
142 * configure: Regenerate.
143
144 * thr.c (_XOPEN_SOURCE): Define unconditionally.
145
c6084f68
AT
1462011-11-21 Andreas Tobler <andreast@fgznet.ch>
147
148 * configure: Regenerate.
149
5d1c8e77
RO
1502011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
151
152 * Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
153 * configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
154 * configure: Regenerate.
155 * config.h.in: Regenerate.
156
eb405c46
PB
1572011-10-17 Paul Brook <paul@codesourcery.com>
158 Matthias Klose <doko@ubuntu.com>
159
160 * exception.c (parse_lsda_header): hardcode ttype_encoding for older
161 ARM EABI toolchains.
162 (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
163
b4a50e43
NP
1642011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
165
166 PR libobjc/49883
167 * init.c (__objc_exec_class): Work around a bug in clang's code
168 generation. Clang sets the class->info field to values different
169 from 0x1 or 0x2 (the only allowed values in the traditional GNU
170 Objective-C runtime ABI) to store some additional information, but
171 this breaks backwards compatibility. Wipe out all the bits in the
172 fields other than the first two upon loading a class.
173
1742011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
bf1431e3 175
b4a50e43
NP
176 * class.c (objc_lookup_class): Added back for compatibility with
177 clang which seems to emit calls to it.
178
0ea39696
NP
1792011-10-08 Richard Frith-Macdonald <rfm@gnu.org>
180 Nicola Pero <nicola.pero@meta-innovation.com>
181
182 PR libobjc/50428
183 * sendmsg.c (__objc_send_initialize): If a class does not have an
184 +initialize method, search for an +initialize method in the
185 superclass and in the ancestor classes and execute the first one
186 that is found. This makes the GNU runtime behave in the same way
187 as the Apple/NeXT runtime with respect to +initialize methods and
188 subclassing.
189
0e0677a2
NP
1902011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
191
192 PR libobjc/50002
193 * class.c (__objc_update_classes_with_methods): Iterate over meta
194 classes as well as normal classes when refreshing the method
195 implementations. This fixes replacing class methods.
196
1972011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
198
199 * class.c (class_getSuperclass): Fixed to work with meta classes
200 still in construction too.
201
e2852612
NP
2022011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
203
204 * class.c (class_getSuperclass): Fixed typo in comment.
205
3f542037
NP
2062011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
207
208 PR libobjc/49882
209 * class.c (class_getSuperclass): Return the superclass if the
210 class is in construction.
211 * objc/runtime.h (class_getSuperclass): Updated documentation.
212
201cdb74
RO
2132011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
214
215 * Makefile.in (INCLUDES): Search
216 $(srcdir)/$(MULTISRCTOP)../libgcc.
217
4fbff2d2
NP
2182011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>
219
220 * objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608.
221
c7907a55
NP
2222011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>
223
224 * configure.ac (VERSION): Bumped to 4:0:0.
225 * configure (VERSION): Likewise.
226
7c172073
NP
2272011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>
228
229 * objc/README: Updated.
230 * objc-private/selector.h: Updated comments.
231
d05809af
NP
2322011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
233
234 * sendmsg.c (class_get_instance_method): Removed.
235 (class_get_class_method): Removed.
236 (objc_get_uninstalled_dtable): Removed.
237
0b0b41a8
NP
2382011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
239
240 * objc-private/module-abi-8.h (class_get_instance_size): Removed.
241 * objects.c (class_create_instance): Removed.
242 * error.c (__USE_FIXED_PROTOTYPES__): Removed.
243 * gc.c (__objc_generate_gc_type_description): Use
244 class_getInstanceSize() instead of class_get_instance_size().
245 * selector.c (sel_types_match): Made static.
246 (sel_get_typed_uid): Removed.
247 (sel_get_any_typed_uid): Removed.
248 (sel_get_name): Removed.
249 (sel_get_type): Removed.
250 (sel_register_name): Removed.
251 (sel_register_typed_name): Removed.
252 (sel_get_uid): Removed.
253
338efe0d
NP
2542011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
255
256 * encoding.c (method_get_number_of_arguments): Removed.
257 (method_get_sizeof_arguments): Removed.
258
69c32980
NP
2592011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
260
261 * class.c (objc_next_class): Removed.
262 (class_pose_as): Removed.
263 (CLASSOF): Removed.
264 (class_table_replace): Removed.
265 (objc_lookup_class): Removed.
266
80e4b9e5
NP
2672011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
268
269 Removed the Traditional Objective-C runtime public API.
270 * Makefile.in (OBJC_DEPRECATED_H): Variable removed.
271 (install-headers): Do not create the objc/deprecated directory and
272 do not install the deprecated headers.
273 (OBJC_H): Removed encoding.h and objc-api.h.
274 * Object.m: Removed all methods with the exception of -class and
275 -isEqual:. Updated includes. ([-class]): Use Modern API.
276 * objc/Object.h: Do not include deprecated/Object.h.
277 * objc/deprecated/Object.h: Removed.
278 * linking.m (__objc_linking): Call [Object class] instead of
279 [Object name].
280 * Protocol.m: Removed all methods with the exception of -isEqual:.
281 Updated includes.
282 * objc/Protocol.h: Do not include deprecated/Protocol.h.
283 * objc/deprecated/Protocol.h: Removed.
284 * objc/deprecated/struct_objc_symtab.h: Removed.
285 * objc/deprecated/struct_objc_module.h: Removed.
286 * objc/deprecated/struct_objc_ivar.h: Removed.
287 * objc/deprecated/struct_objc_ivar_list.h: Removed.
288 * objc/deprecated/struct_objc_method.h: Removed.
289 * objc/deprecated/struct_objc_method_list.h: Removed.
290 * objc/deprecated/struct_objc_protocol_list.h: Removed.
291 * objc/deprecated/struct_objc_category.h: Removed.
292 * objc/deprecated/MetaClass.h: Removed.
293 * objc/deprecated/objc_msg_sendv.h: Removed.
294 * objc/deprecated/README: Removed.
295 * objc/deprecated/struct_objc_class.h: Removed.
296 * objc/deprecated/struct_objc_protocol.h: Removed.
297 * objc/deprecated/struct_objc_selector.h: Removed.
298 * objc/encoding.h: Removed.
299 * objc/message.h (struct objc_super): Removed the definition for
300 the Traditional Objective-C runtime API.
301 * objc/objc.h: Do not include objc/objc-decls.h.
302 deprecated/struct_objc_selector.h, deprecated/MetaClass.h,
303 deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h
304 and deprecated/objc_msg_sendv.h. Uncommented new definition of
305 Protocol *.
306 * objc/objc-api.h: Removed.
307 * objc/runtime.h: Updated comments. Removed check to detect
308 concurrent usage of Traditional and Modern APIs.
309 * objc-private/module-abi-8.h: Always define struct objc_class and
310 struct objc_protocol. (struct objc_protocol_list): Changed type
311 of 'list' argument from 'Protocol *' to 'struct objc_protocol *'.
312 (class_get_instance_size): Added.
313 * objc-private/protocols.h (__objc_protocols_add_protocol): Take a
314 'struct objc_protocol *' as argument, not a 'Protocol *'.
315 * objc-private/runtime.h: Updated comments.
316 * objc-private/selector.h (struct objc_selector, sel_eq): Added.
317 * class.c: Include objc-private/selector.h.
318 (objc_get_meta_class): Return a Class instead of a MetaClass.
319 * encoding.c (method_get_next_argument): Removed.
320 (method_get_first_argument): Removed.
321 (method_get_nth_argument): Removed.
322 * gc.c: Include objc/runtime.h instead of objc/encoding.h.
323 Include objc-private/module-abi-8.h and ctype.h.
324 * protocols.c (__objc_protocols_add_protocol): Take a 'struct
325 objc_protocl *' as argument, not a 'Protocol *'.
326 (class_addProtocol): Added casts to 'struct objc_protocol *' and
327 'Protocol *'.
328 (class_copyProtocolList): Likewise.
329 (protocol_conformsToProtocol): Likewise.
330 (protocol_copyProtocolList): Likewise.
331 * sarray.c: Include objc-private/module-abi-8.h.
332 * sendmsg.c (method_get_next_argument): Removed.
333 (method_get_first_argument): Removed.
334 (method_get_nth_argument): Removed.
335 (objc_msg_sendv): Removed.
336 (arglist_t, retval_t): New. (class_get_class_method): Take a
337 'Class', not 'MetaClass', argument.
338 * thr.c: Include module-abi-8.h.
339
543ad675
NP
3402011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
341
342 * Makefile.in (OBJC_DEPRECATED_H): Removed struct_objc_static_instances.h
343 and objc_get_uninstalled_dtable.h.
344 * objc/deprecated/struct_objc_static_instances.h: Removed.
345 * objc/deprecated/objc_get_uninstalled_dtable.h: Removed.
346 * objc/objc-api.h: Do not include deprecated/objc_static_instances.h
347 and deprecated/objc_get_uninstalled_dtable.h.
348
815d63dd
NP
3492011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
350
351 * Makefile.in (OBJC_DEPRECATED_H): Removed objc_object_alloc.h.
352 * objc/deprecated/objc_object_alloc.h: Removed.
353 * objc/objc-api.h: Do not include deprecated/objc_object_alloc.h.
354 * objects.c (_objc_object_alloc, _objc_object_dispose,
355 _objc_object_copy): Removed.
356 * libobjc.def (__objc_object_alloc, __objc_object_copy,
357 __objc_object_dispose): Removed.
358
d2a1962d
NP
3592011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
360
361 * Makefile.in (OBJC_DEPRECATED_H): Removed METHOD_NULL.h.
362 * objc/objc-api.h: Do not include deprecated/METHOD_NULL.h.
363 * objc/deprecated/METHOD_NULL.h: Removed.
364
309ce401
NP
3652011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
366
367 * Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h,
368 objc_malloc.h and objc_unexpected_exception.h.
369 (exception.lo): Do not use -Wno-deprecated-declarations.
370 (exception_gc.lo): Likewise.
371 * objc/objc-api.h: Do not include deprecated/objc_valloc.h,
372 deprecated/objc_malloc.h and
373 deprecated/objc_unexpected_exception.h.
374 * objc/deprecated/objc_valloc.h: Removed.
375 * objc/deprecated/objc_malloc.h: Removed.
376 * objc/deprecated/objc_unexpected_exception.h: Removed.
377 * exception.c (_objc_unexpected_exception): Removed.
378 (objc_exception_throw): Do not check for
379 _objc_unexpected_exception.
380 * memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc,
381 _objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed.
382 * libobjc.def (_objc_unexpected_exception, objc_valloc): Removed.
383
4f570b66
NP
3842011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
385
386 * objc/objc.h: Do not include deprecated/STR.h.
387 * objc/deprecated/STR.h: Removed.
388 * Makefile.in (OBJC_DEPRECATED_H): removed STR.h.
389
dd3dba52
NP
3902011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
391
392 * Makefile.in (OBJC_H): Removed hash.h and sarray.h.
393 (OBJC_DEPRECATED_H): Likewise.
394 * libobjc.def (objc_hash_new, objc_hash_delete, objc_hash_add,
395 objc_hash_remove, objc_hash_next, objc_hash_value_for_key,
396 objc_hash_is_key_in_hash, hash_add, hash_delete, hash_new,
397 hash_next, hash_remove, hash_value_for_key, hash_is_key_in_hash,
398 sarray_at_put, sarray_at_put_safe, sarray_free, sarray_lazy_copy,
399 sarray_new, sarray_realloc, sarray_remove_garbage): Removed.
400 * objc/sarray.h: Removed.
401 * objc/hash.h: Removed.
402 * objc/deprecated/sarray.h: Removed.
403 * objc/deprecated/hash.h: Removed.
404 * objc/Object.h: Do not include objc/deprecated/hash.h
405 * Object.m: Include string.h.
406 * objc/objc-api.h: Do not include objc/deprecated/hash.h.
407 * objc-private/common.h (GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF):
408 Removed.
409
4236b2e5
NP
4102011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
411
412 * Object.m ([-forward::]): Removed.
413 * objc/deprecated/Object.h ([-forward::]): Removed.
414 * sendmsg.c (__objc_forward): Updated comments.
415
7a724978
NP
4162011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
417
418 * Makefile.in (OBJC_H): Removed objc-list.h.
419 (OBJC_DEPRECATED_H): Removed objc-list.h.
420 * objc/objc-list.h: File removed.
421 * objc/deprecated/objc-list.h: File removed.
422
efad6bee
NP
4232011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
424
425 * Makefile.in (OBJC_H): Removed typedstream.h.
426 (OBJC_DEPRECATED_H): Removed typedstream.h.
427 (C_SOURCE_FILES): Removed archive.c.
428 (Object.lo): Rule removed.
429 (Object_gc.lo): Likewise.
430 (archive.lo): Likewise.
431 (archive_gc.lo): Likewise.
432 * objc/deprecated/Object.h ([+streamVersion:], [-read], [-write],
433 [-awake]): Removed.
434 Do not include deprecated/typedstream.h.
435 * Object.m: Removed the same methods.
436 * archive.c: File removed.
437 * objc/typedstream.h: File removed.
438 * objc/deprecated/typedstream.h: File removed.
439 * libobjc.def (__objc_read_nbyte_uint, __objc_read_nbyte_ulong,
440 __objc_write_class, __objc_write_object, __objc_write_selector,
441 objc_close_typed_stream, objc_end_of_typed_stream,
442 objc_flush_typed_stream, objc_get_stream_class_version,
443 objc_open_typed_stream, objc_open_typed_stream_for_file,
444 objc_read_array, objc_read_char, objc_read_int, objc_read_long,
445 objc_read_object, objc_read_selector, objc_read_short,
446 objc_read_string, objc_read_type, objc_read_types,
447 objc_read_unsigned_char, objc_read_unsigned_int,
448 objc_read_unsigned_long, objc_read_unsigned_short,
449 objc_write_array, objc_write_char, objc_write_int,
450 objc_write_long, objc_write_object, objc_write_object_reference,
451 objc_write_root_object, objc_write_selector, objc_write_short,
452 objc_write_string, objc_write_string_atomic, objc_write_type,
453 objc_write_types, objc_write_unsigned_char,
454 objc_write_unsigned_int, objc_write_unsigned_long,
455 objc_write_unsigned_short): Removed.
456
e79132c3
NP
4572011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
458
459 * Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h.
460 * objc/deprecated/objc_error.h: Removed.
461 * objc/objc-api.h: Do not include deprecated/objc_error.h.
462 * libobjc.def (objc_error, objc_verror): Removed.
463 * error.c (_objc_error_handler, objc_error, objc_verror,
464 objc_set_error_handler): Removed.
465 * Object.m ([-error:], [-perform:], [-perform:with:],
466 [-perform:with:with], [-subclassResponsibility:],
467 [-notImplemented:], [-shouldNotImplement:], [-doesNotRecognize:]):
468 Removed.
469 * objc/deprecated/Object.h: Removed the same methods.
470 * sendmsg.c (__objc_forward): Do not try to invoke the "error:"
471 method after trying to invoke the "doesNotRecognize:" method.
472
0dd5327a
NP
4732011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>
474
475 * sendmsg.c: Reindented part of the file. No non-trivial changes
476 in code.
477
1e49849c
NP
4782011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>
479
480 * sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
7f344fab 481 not objc_lookup_class.
1e49849c 482
b5a3450f
RFM
4832011-05-25 Richard Frith-Macdonald <rfm@gnu.org>
484 David Ayers <ayers@fsfe.org>
485
48126bcb 486 PR libobjc/38307
b5a3450f
RFM
487 * sendmsg.c: Include objc/hash.h.
488 (get_implementation): New function, mostly with code from get_imp
489 updated to support the new +initialize dispatch table logic.
490 (get_imp): Use get_implementation.
491 (__objc_responds_to): Updated to support the new +initialize
492 dispatch table logic.
493 (class_respondsToSelector): Likewise.
494 (objc_msg_lookup): Use get_implementation.
495 (__objc_init_install_dtable): Removed.
496 (__objc_install_methods_in_dtable): Updated arguments.
497 (__objc_install_dispatch_table_for_class): Renamed to
498 __objc_install_dtable_for_class and updated to support the new
499 +initialize dispatch table logic.
500 (__objc_update_dispatch_table_for_class): Updated to support the
501 new +initialize dispatch table logic.
502 (__objc_forward): Call get_implementation instead of get_imp.
503 (prepared_dtable_table): New.
504 (__objc_prepare_dtable_for_class): New.
505 (__objc_prepared_dtable_for_class): New.
506 (__objc_get_prepared_imp): New.
507 (__objc_install_prepared_dtable_for_class): New.
508
85fe6408
NP
5092011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
510
511 PR libobjc/48177
512 * selector.c (__sel_register_typed_name): Use sel_types_match()
513 instead of strcmp() to compare selector types (Suggestion by
514 Richard Frith-Macdonald <rfm@gnu.org>).
515
b98b952f
RO
5162011-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
517
518 PR libobjc/32037
519 * Makefile.in (OBJC_GCFLAGS): Move ...
520 * configure.ac (enable_objc_gc): ... here.
521 Add $(libsuffix) to OBJC_BOEHM_GC.
522 * configure: Regenerate.
523
68ade9e4
NP
5242011-02-28 Nicola Pero <nicola.pero@meta-innovation.com>
525
526 * selector.c (sel_getTypedSelector): Return NULL if there are
527 multiple selectors with conflicting types.
528 * objc/runtime.h (sel_getTypedSelector): Updated documentation.
529
55b21c7a
RFM
5302011-02-28 Richard Frith-Macdonald <rfm@gnu.org>
531
532 PR libobjc/47922
533 * gc.c (class_ivar_set_gcinvisible): Use _C_GCINVISIBLE instead of
534 a hardcoded "!".
535
029c8f3e
RW
5362011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
537
538 * configure: Regenerate.
539
fa539f51
NP
5402010-12-26 Nicola Pero <nicola.pero@meta-innovation.com>
541
542 * init.c (create_tree_of_subclasses_inherited_from): Use
543 class_superclass_of_class instead of assuming a class is
544 unresolved when it could be resolved. Tidied up assignment and
545 check.
546 (__objc_tree_insert_class): Enhanced DEBUG_PRINTF.
547 (objc_tree_insert_class): Tidied up loop; return immediately upon
548 inserting a class.
549 (__objc_exec_class): Do not set __objc_class_tree_list.
550
9cacfc3e
NP
5512010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
552
553 * selector.c (sel_getTypedSelector): Return NULL if given a NULL
554 argument.
555 (sel_registerTypedName): Same.
556 (sel_registerName): Same.
557 * objc/runtime.h: Updated documentation.
558
410644c4
NP
5592010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
560
561 * objc/runtime.h (class_addIvar): Updated documentation. The
562 alignment is actually the log_2 of the alignment in bytes.
563 * ivars.c (class_addIvar): Corresponding change to the
564 implementation.
565
5750872c
NP
5662010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
567
568 * objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to
569 be consistent with method_getTypeEncoding and
570 ivar_getTypeEncoding.
571 (sel_copyTypedSelectorList, sel_getTypedSelector): New.
572 * selector.c (sel_getType): Renamed to sel_getTypeEncoding.
573 (sel_copyTypedSelectorList, sel_getTypedSelector): New.
574 (sel_get_type): Updated call to sel_getType.
575
877bf195
NP
5762010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
577
578 * objc/runtime.h (class_conformsToProtocol,
579 class_copyProtocolList): Updated documentation.
580
e99776d8
NP
5812010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
582
583 * init.c (create_tree_of_subclasses_inherited_from): Updated
584 DEBUG_PRINTF messages.
585 (__objc_tree_insert_class): Same.
586 (__objc_send_load_using_method_list): Same.
587 (__objc_send_load): Same.
588 (__objc_exec_class): Same. In particular, do not print the module
589 name since it is no longer used.
590 * sendmsg.c (__objc_send_initialize): Added DEBUG_PRINTFs for
591 tracking +initialize calls.
592 (__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for
593 tracking updates of dispatch tables.
594 (__objc_install_dispatch_table_for_class): Same.
595
1d439e6c
RO
5962010-12-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
597
598 * Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc.
599 (libobjc_gc$(libsuffix).la): Likewise.
600
82883986
NP
6012010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
602
603 * sendmsg.c (class_addMethod): Return NO if the method already
604 exists in the class.
605
0bfe3fa1
NP
6062010-12-22 Nicola Pero <nicola.pero@meta-innovation.com>
607
608 * init.c (duplicate_classes): New.
609 (__objc_exec_class): Initialize duplicate_classes.
610 (__objc_create_classes_tree): Ignore classes in the
611 duplicate_classes table.
612 (__objc_call_load_callback): Same.
613 (__objc_init_class): If a duplicate class is found, add it to
614 duplicate_classes instead of aborting. Return YES if the class is
615 not a duplicate, and NO if it is.
616 * objc-private/runtime.h (__objc_init_class): Updated prototype.
617
9fd553cc
NP
6182010-12-22 Nicola Pero <nicola.pero@meta-innovation.com>
619
620 * objc-private/objc-list.h: Reindented file. No code changes.
621 * objc-private/sarray.h: Same change.
622
8637d320
NP
6232010-12-22 Nicola Pero <nicola.pero@meta-innovation.com>
624
625 * objc-private/accessors.h: Removed 'extern "C"' guards. This
626 file is never compiled with C++.
627 * objc-private/hash.h: Same change.
628 * objc-private/objc-list.h: Same change.
629 * objc-private/objc-sync.h: Same change.
630 * objc-private/protocols.h: Same change.
631 * objc-private/runtime.h: Same change.
632 * objc-private/sarray.h: Same change.
633 * objc-private/selector.h: Same change.
634
1588200e
NP
6352010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
636
1575c9de
NP
637 PR libobjc/18764
638 * class.c (__objc_add_class_to_hash): Return YES if the class was
639 added, and NO if it already existed.
640 * init.c (__objc_init_class): If __objc_add_class_to_hash returns
641 NO, then abort the program with an error message.
642 * objc-private/runtime.h (__objc_add_class_to_hash): Updated
643 declaration.
644
6452010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
646
1588200e
NP
647 * init.c (_objc_load_callback): Initialize with 0.
648 (__objc_call_callback): Renamed to __objc_call_load_callback.
649 Check _objc_load_callback only once, and if it is not set, return
650 immediately.
651 (objc_send_load): Updated call to __objc_call_callback.
652
c07499dc
NP
6532010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
654
655 PR libobjc/16110
656 * init.c (__objc_send_message_in_list): Renamed to
657 __objc_send_load_using_method_list. Do not take an 'op' argument.
658 Register the 'load' selector if needed.
659 (__objc_send_load): Do not register the 'load' selector. Updated
660 call to __objc_send_message_in_list.
661 (__objc_create_classes_tree): Add the class of any claimed
662 category that was loaded in the module to the list of classes for
663 which we try to execute +load.
664
df0820da
NP
6652010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
666
667 * objc-private/common.h: When DEBUG is defined, include <stdio.h>.
668 Updated comments.
669 * init.c (__objc_tree_insert_class): Use %p, not %x, when printing
670 a pointer using DEBUG_PRINTF.
671
c75534d1
NP
6722010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
673
674 PR libobjc/45953
675 * selector.c (__sel_register_typed_name): When registering a new
676 selector with the same name as an existing one, reuse the existing
677 name string. Also updated types, casts and comments in the whole
678 function.
679
600cbba2
NP
6802010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
681
682 * objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs'
683 to be 'struct objc_selector *' and not 'SEL'.
684 * init.c (__objc_exec_class): Call
685 __objc_register_selectors_from_module instead of iterating over
686 each selector and calling __sel_register_typed_name for each.
687 * objc-private/selector.h: Declare
688 __objc_register_selectors_from_module instead of
689 __sel_register_typed_name.
690 * selector.c (__objc_register_selectors_from_module): New.
691 (__sel_register_typed_name): Made static.
692
bebf8772
NP
6932010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
694
695 * linking.m: Do not include objc/NXConstStr.h.
696
9c68c0e5
NP
6972010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
698
699 * objc-private/runtime.h (DEBUG_PRINTF): Moved from here ...
700 * objc-private/common.h (DEBUG_PRINTF): To here.
701 * hash.c: Do not include objc-private/runtime.h and objc/thr.h.
702
57d75eeb
NP
7032010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
704
705 * hash.c: Tidied up comments and indentation. No code changes.
706
ef7ed5df
NP
7072010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
708
709 PR libobjc/47012
710 * accessors.m (objc_getProperty): If not atomic, do not
522c4f1f 711 retain/autorelease the returned value.
ef7ed5df 712
f94e723b
NP
7132010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
714
715 * objc-private/runtime.h (__objc_selector_max_index,
716 __objc_init_selector_tables, __objc_register_selectors_from_class,
717 __objc_register_selectors_from_list,
718 __objc_register_selectors_from_description_list): Moved to ...
719 * objc-private/selector.h: ... here.
720
d9df3365
NP
7212010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
722
723 * objc-private/runtime.h (__objc_class_links_resolved): Removed.
724 (__objc_print_dtable_stats): Removed.
725 (__sel_register_typed_name): Removed.
726 * sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument.
727
41720477
NP
7282010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
729
730 * init.c (__objc_exec_class): Call __objc_resolve_class_links (),
731 if appropriate, after loading the module.
732
5f38ced1
NP
7332010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
734
735 * sendmsg.c (method_setImplementation): Do not declare.
736
ecfc2705
NP
7372010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
738
739 * objc/message.h: Updated comments.
740 * objc/runtime.h: Updated comments.
741
6e45b376
NP
7422010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
743
744 * class.c (objc_lookupClass): Renamed to objc_lookUpClass.
745 * protocols.c: Updated all calls to objc_lookupClass to call
746 objc_lookUpClass instead.
747 * sendmsg.c (objc_lookupClass): Do not declare.
748 (get_imp): Update call to objc_lookupClass to call
749 objc_lookUpClass instead.
750 * objc/runtime.h (objc_lookupClass): Renamed to objc_lookUpClass.
751
fea78205
NP
7522010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
753
754 * objc/runtime.h (class_ivar_set_gcinvisible): Declare.
755 * sendmsg.c (_CLS_IN_CONSTRUCTION, CLS_IS_IN_CONSTRUCTION): Do not
756 define. Updated comments.
757
2899534b
NP
7582010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
759
760 * objc/encoding.h: Updated comments.
761 * objc/runtime.h: Updated comments.
762 (objc_setGetUnknownClassHandler): Mark with objc_EXPORT.
763 (objc_sizeof_type): Same.
764 (objc_alignof_type): Same.
765 (objc_aligned_size): Same.
766 (objc_promoted_size): Same.
767 (objc_skip_type_qualifiers): Same.
768 (objc_skip_typespec): Same.
769 (objc_skip_offset): Same.
770 (objc_skip_argspec): Same.
771 (objc_get_type_qualifiers): Same.
772 (objc_layout_structure): Same.
773 (objc_layout_structure_next_member): Same.
774 (objc_layout_finish_structure): Same.
775 (objc_layout_structure_get_info): Same.
776
120d5f8e
NP
7772010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
778
779 * init.c: Updated comments.
780 * objc/objc-api.h: Updated comments.
781 * objc/runtime.h (_objc_load_callback): Declare.
782
c34fc988
NP
7832010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
784
785 * objc/Object.h: Include deprecated/typedstream.h and
786 deprecated/hash.h instead of typedstream.h. Updated comments.
787
5ec582f9
NP
7882010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
789
790 * Makefile.in (OBJC_DEPRECATED_H): Added objc_msg_sendv.h.
791 * objc/deprecated/objc_msg_sendv.h: New.
792 * objc/message.h: Do not define retval_t, apply_t, arglist,
793 arglist_t, objc_msg_sendv, now in
794 objc/deprecated/objc_msg_sendv.h.
795 * objc/objc.h: Do not include message.h; include
796 objc/deprecated/objc_msg_sendv.h instead. Tidied up comments.
797 * sendmsg.c: Include objc/message.h.
798 * thr.c: Include objc/message.h.
799
805a07f1
NP
8002010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
801
802 * objc/objc-exception.h: Include objc-decls.h. Mark all
803 functions with objc_EXPORT.
804 * objc/objc-sync.h: Same change.
805
c06a8664
NP
8062010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
807
808 * Protocol.m: Moved all methods, with the exception of -isEqual:,
809 into the 'Deprecated' category.
810 * objc/Protocol.h: Removed all methods, moved to
811 objc/deprecated/Protocol.h. Include objc/deprecated/Protocol.h.
812 * objc/deprecated/Protocol.h: New.
813 * Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h.
814
1af5b8f5
NP
8152010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
816
817 * init.c: Include objc-private/selector.h. Do not declare
818 __sel_register_typed_name.
819 * objc-private/selector.h (__sel_register_typed_name): Declare.
820 * selector.c: Include objc-private/selector.h.
821
575584a9
NP
8222010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
823
824 * class.c: Tidied up comments and indentation. No code changes.
825 * error.c: Same.
826 * exception.c: Same.
827 * init.c: Same.
828 * ivars.c: Same.
829 * memory.c: Same.
830 * objc-foreach.c: Same.
831 * objc-sync.c: Same.
832 * objects.c: Same.
833 * protocols.c: Same.
834 * sarray.c: Same.
835 * thr.c: Same.
836
fed2b101
NP
8372010-12-17 Nicola Pero <nicola.pero@meta-innovation.com>
838
839 * init.c: Include objc/runtime.h and objc-private/module-abi-8.h
840 instead of objc/objc-api.h.
841 (init_check_module_version): Take a 'struct objc_module *'
842 argument instead of 'Module_t'. Use 'struct objc_module *'
843 instead of 'Module_t'.
844 (__objc_created_classes_tree): Take a 'struct objc_module *'
845 argument instead of 'Module_t'; use 'struct objc_symtab *' instead
846 of 'Symtab_t'.
847 (__objc_call_callback): Take a 'struct objc_module *' argument
848 instead of 'Module_t'; use 'struct objc_symtab *' instead of
849 'Symtab_t' and 'struct objc_category *' instead of 'Category_t'.
850 (_objc_load_callback): Take a 'struct objc_category *' argument
851 instead of 'Category *'.
852 (class_superclass_of_class): Use objc_getClass() instead of
853 objc_lookup_class().
854 (create_tree_of_subclasses_inherited_from): Same change (also, use
855 an explicit 'if' instead of '?').
856 (objc_init_statics): Same change.
857 (objc_send_load): Same change.
858 (__objc_init_protocol): same change.
859 (__objc_send_message_in_list): Take a 'struct objc_method_list *'
860 argument instead of 'MethodList_t'. Use 'struct objc_method *'
861 instead of 'Method_t'.
862 (__objc_send_load): Use 'struct objc_method_list *' instead of
863 'MethodList_t'. Use sel_registerName() instead of
864 sel_register_name().
865 (__objc_exec_class): Take a 'struct objc_module *' argument
866 instead of 'Module_t'. Use 'struct objc_symtab *' instead of
867 'Symtab_t'. Use objc_getClass() instead of objc_lookup_class().
868 Use 'struct objc_category *' instead of 'Category_t'.
869
114dae43
NP
8702010-12-16 Nicola Pero <nicola.pero@meta-innovation.com>
871
872 * sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h.
873 Include objc-private/module-abi-8.h and objc-private/selector.h
874 instead of objc/encoding.h.
875 (objc_msg_lookup_super): Use super->super_class instead of
876 super->class.
877 (method_get_first_argument, method_get_next_argument): Declare
878 locally.
879 (class_get_instance_method): Declare before using.
880 (objc_msg_sendv): Use 'struct objc_method' instead of 'Method'.
881 (__objc_init_dispatch_tables, __objc_send_initialize): Use
882 sel_registerName() instead of sel_register_name().
883 (__objc_forward): Use sel_getName() instead of sel_get_name().
884 (objc_get_uninstalled_dtable): Use 'void' as argument.
885 * objc-private/selector.h: New.
886
53f672ca
NP
8872010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
888
889 * objc/message.h (objc_super): When using the modern API, do not
890 define Super and Super_t, and always use 'super_class' for the
891 super class field.
892 (objc_msg_lookup_super): Updated prototype to use 'struct
893 objc_super *' instead of 'Super_t'.
894 * sendmsg.c (objc_msg_lookup_super): Updated prototype to use
895 'struct objc_super *' instead of 'Super_t'.
896
db1792ee
NP
8972010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
898
899 * objc/message.h: Update comments, reindented code and moved
900 deprecated types and functions at the end of the file. No code
901 changes.
902
3db1a28c
NP
9032010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
904
905 * ivars.c (class_addIvar): Use the 'size' argument instead of
906 trying to calculate it using objc_sizeof_type().
907 * objc/runtime.h (class_addIvar): Updated comments.
908
b427203d
NP
9092010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
910
911 * sendmsg.c: Reindented some code and tidied up comments. No
912 actual code changes.
913
002d4675
NP
9142010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
915
916 * objc/Object.h: Moved all the methods, with the exception of
917 -class and -isEqual:, into ...
918 * objc/deprecated/Object.h: here.
919 * Object.m: Moved all the methods, with the exception of -class
920 and -isEqual: into the 'Deprecated' category.
921
9ecfa8de
NP
9222010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
923
924 * objects.c (object_copy): Do not #undef as we are no longer
925 including objc/objc-api.h.
926 * selector.c: Include objc/runtime.h and
927 objc-private/module-abi-8.h. Do not include objc/objc-api.h and
928 objc/encoding.h. Updated
929 (__objc_register_selectors_from_class): Use struct
930 objc_method_list * instead of MethodList_t.
931 (__objc_register_selectors_from_list): Use Method instead of
932 Method_t.
933 (struct objc_method_description_list): Do not define here.
934 (__objc_register_instance_methods_to_class): Use struct
935 objc_method_list * instead of MethodList_t and Method instead of
936 Method_t.
937
d4645ada
NP
9382010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
939
940 * selector.c: Reindented some code and tidied up comments. No
941 actual code changes.
942
f436d2ff
IS
9432010-12-13 Iain Sandoe <iains@gcc.gnu.org>
944
945 * encoding.c (_darwin_rs6000_special_round_type_align): New.
946 (darwin_rs6000_special_round_type_align): Adjust to use new routine.
947
e97cfd97
NP
9482010-12-11 Nicola Pero <nicola.pero@meta-innovation.com>
949
950 * sendmsg.c (selector_resolveClassMethod): New.
951 (selector_resolveInstanceMethod): New.
952 (__objc_resolve_class_method): New.
953 (__objc_resolve_instance_method): New.
954 (get_imp): Call __objc_resolve_class_method or
955 __objc_resolve_instance_method at the appropriate time.
956 (objc_msg_lookup): Same.
957 (class_getClassMethod): Same.
958 (class_getInstanceMethod): Same.
959 (__objc_init_dispatch_tables): Initialize
960 selector_resolveClassMethod and selector_resolveInstanceMethod.
961 * objc/runtime.h: Updated documentation of class_getClassMethod,
962 class_getInstanceMethod and class_getMethodImplementation.
963
375d1239
NP
9642010-12-11 Nicola Pero <nicola.pero@meta-innovation.com>
965
966 * objc-private/module-abi-8.h (struct objc_symtab): Updated
967 description of sel_ref_cnt and refs.
968 * objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change.
969
7de6ba7a
DK
9702010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
971
972 PR target/40125
973 PR lto/46695
974 * configure.ac (extra_ldflags_libobjc): Invoke ACX_LT_HOST_FLAGS.
975 * Makefile.in (lt_host_flags): Import AC_SUBST'd value.
976 * aclocal.m4: Regenerate.
977 * configure: Regenerate.
978
196891b5
MK
9792010-12-03 Matthias Klose <doko@ubuntu.com>
980
981 * configure.ac (VERSION): Bump the version to 3:0:0.
982 * configure: Regenerate.
983
d81e30b8
RFM
9842010-11-23 Richard Frith-Macdonald <rfm@gnu.org>
985
986 * sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to
987 pass nil as the receiver since we don't know the receiver at this
988 point.
989
49a35931
NP
9902010-11-18 Nicola Pero <nicola.pero@meta-innovation.com>
991
992 * ivars.c: Include stdlib.h.
993 * protocols.c: Same change.
994
682e805a
NP
9952010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
996
997 * Makefile.in (OBJC_SOURCE_FILES): Added accessors.m.
998 * accessors.m: New.
999 * init.c: Include objc-private/accessors.h.
1000 (__objc_exec_class): Call __objc_accessors_init.
1001 * objc-private/accessors.h: New.
1002
5b8b526e
NP
10032010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
1004
1005 * objc/message.h: Moved initial includes outside of extern "C".
1006 * objc/runtime.h: Add extern "C" for Objective-C++.
1007
1501d094
NP
10082010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
1009
1010 * init.c (objc_send_load): Do not wait for NXConstantString to be
1011 registered before executing +load. There is no point if
1012 -fconstant-string-class=xxx is used when compiling all modules,
1013 as is the case for almost all users.
1014 * linking.m (__objc_linking): Do not try to forcefully link in
1015 NXConstantString.
5b8b526e 1016
6c5c7efd
NP
10172010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>
1018
1019 * objc/runtime.h: Updated comments.
1020 (class_addMethod): New.
1021 (class_addIvar): New.
1022 (class_replaceMethod): New.
1023 (objc_allocateClassPair): New.
1024 (objc_registerClassPair): New.
1025 (objc_disposeClassPair): New.
1026 * class.c (objc_allocateClassPair): New.
1027 (objc_registerClassPair): New.
1028 (objc_disposeClassPair): New.
1029 (class_getSuperclass): Return Nil if a class is in construction.
1030 * init.c (__objc_exec_class): Call __objc_init_class.
1031 (__objc_init_class): New.
1032 * ivars.c (class_copyIvarList): Return NULL if class is in
1033 construction. Do not lock the runtime mutex.
1034 (class_getInstanceVariable): Return NULL if class is in
1035 construction. Do not lock the runtime mutex.
1036 (class_addIvar): New.
1037 * sendmsg.c (class_addMethod): New.
1038 (class_replaceMethod): New.
1039 * objc-private/module-abi-8.h (__CLS_SETNOTINFO): New.
1040 (_CLS_IN_CONSTRUCTION): New.
1041 (CLS_IS_IN_CONSTRUCTION): New.
1042 (CLS_SET_IN_CONSTRUCTION): New.
1043 (CLS_SET_NOT_IN_CONSTRUCTION): New.
1044 * objc-private/runtime.h (__objc_init_class): New.
1045
1cde73d7
NP
10462010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>
1047
1048 * class.c (class_getSuperclass): Call __objc_resolve_class_links
1049 if the class is not resolved yet.
1050 * ivars.c (class_getInstanceVariable): Use class_getSuperclass.
1051
3c44c190
NP
10522010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>
1053
1054 * objc/runtime.h (class_getIvarLayout): New.
1055 (class_getWeakIvarLayout): New.
1056 (class_setIvarLayout): New.
1057 (class_setWeakIvarLayout): New.
1058 * ivars.c (class_getIvarLayout): New.
1059 (class_getWeakIvarLayout): New.
1060 (class_setIvarLayout): New.
1061 (class_setWeakIvarLayout): New.
1062
8437e063
NP
10632010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
1064
1065 * objc/runtime.h (class_copyPropertyList): New.
1066 (class_getProperty): New.
1067 (property_getAttributes): New.
1068 (property_getName): New.
1069 * ivars.c (class_copyPropertyList): New.
1070 (class_getProperty): New.
1071 (property_getAttributes): New.
1072 (property_getName): New.
1073
51194e8e
NP
10742010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
1075
1076 * objc-private/runtime.h (__objc_update_classes_with_methods): New.
1077 * class.c (__objc_update_classes_with_methods): New.
1078 (objc_getClassList): Do not lock the class lock.
1079 * methods.c (method_exchangeImplementations): New.
1080 (method_setImplementation): New.
1081 * objc/runtime.h (method_setImplementation): New.
1082 (method_exchangeImplementations): New.
1083
ae422ccd
NP
10842010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
1085
1086 * Protocol.m: Include objc/runtime.h and
1087 objc-private/module-abi-8.h instead of objc/objc-api.h. Do not
1088 repeat Protocol's instance variables.
1089 (struct objc_method_description_list): Do not define here.
1090 ([-conformsTo:]): Reimplemented on top of protocol_conformsTo().
1091 ([descriptionForInstanceMethod:]): Use sel_isEqual() to compare
1092 selectors directly instead of getting names and then using strcmp.
1093 ([descriptionForClassMethod:]): Same change.
1094 ([-isEqual:]): Reimplemented on top of protocol_isEqual().
1095 * protocols.c (protocol_getMethodDescription): Use sel_isEqual()
1096 to compare selectors directly instead of getting names and then
1097 using strcmp.
1098 * objc/Protocol.h: Updated comments.
1099
97764753 11002010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
f7185d47
NP
1101
1102 * init.c (__objc_init_protocol): New function which fixes up a
1103 protocol's class pointer, registers it with the runtime, register
1104 all protocol selectors and registers associated protocols too.
1105 (objc_init_statics): Detect if we are initializing protocols, and
1106 if so, use __objc_init_protocol instead of only fixing up the
1107 class pointer.
1108 (__objc_init_protocls): Use __objc_init_protocol.
1109 * objc-private/module-abi-8.h: Updated comments.
1110 * objc-private/runtime.h
1111 (__objc_register_selectors_from_description_list): New.
1112 * selector.c (__objc_register_selectors_from_description_list):
1113 New. (struct objc_method_description_list): Declare.
1114 * Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name
1115 when accessing the name of a method, which is now correctly a SEL.
1116 ([-descriptionForClassMethod:]): Same change.
1117 * protocols.c (protocol_getMethodDescription): Same change.
1118 * objc/runtime.h: Updated comments.
1119 (sel_registerTypedName): Fixed typo in function name.
1120
5254c66b
NP
11212010-10-13 Nicola Pero <nicola.pero@meta-innovation.com>
1122
1123 PR libobjc/23214
1124 * init.c (objc_init_statics): Do not skip the initialization of a
1125 statics list if the first object has already been initialized; in
1126 the case of Protocols, while the first one may have been
1127 initialized, some others may not have been initialized yet.
1128
b0453850
NP
11292010-10-13 Nicola Pero <nicola.pero@meta-innovation.com>
1130
1131 * Makefile.in (OBJC_DEPRECATED_H): Added
1132 objc_get_uninstalled_dtable, objc_object_alloc.h and
1133 struct_objc_static_instances.h.
1134
ad49efbd
NP
11352010-10-13 Nicola Pero <nicola.pero@meta-innovation.com>
1136
1137 * encoding.c (method_copyReturnType): New.
1138 (method_copyArgumentType): New.
1139 (method_getReturnType): New.
1140 (method_getArgumentType): New.
1141 * methods.c (method_getDescription): New.
1142 * objc/runtime.h (method_copyReturnType): New.
1143 (method_copyArgumentType): New.
1144 (method_getReturnType): New.
1145 (method_getArgumentType): New.
1146 (method_getDescription): New.
1147
c994cc85
NP
11482010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
1149
1150 * encoding.c: Tidied up comments.
1151 (objc_skip_variable_name): New static inline function.
1152 (objc_sizeof_type): Use objc_skip_variable_name instead of copying
1153 the same code over and over.
1154 (objc_alignof_type): Same.
1155 (objc_aligned_size): Same.
1156 (objc_promoted_size): Same.
1157 (objc_skip_typespec): Same.
1158 (objc_layout_structure_next_member): Same.
1159 (objc_skip_offset): Skip a '-' before the digits (if any). Fixed
1160 historical bug where objc_skip_offset would skip one byte even if
1161 there is no offset: check that the first offset digit is actually
1162 a digit before skipping it.
1163 (objc_skip_type_qualifiers): Mark as inline.
1164 (objc_skip_typespec): Mark as inline.
1165
ad9eef11
NP
11662010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
1167
1168 * Makefile.in (C_SOURCE_FILES): Added methods.c.
1169 * encoding.c (method_getNumberOfArguments): New.
1170 (method_get_number_of_arguments): Call
1171 method_getNumberOfArguments.
1172 * ivars.c (ivar_getName): Check for NULL variable argument.
1173 (ivar_getOffset): Check for NULL variable argument.
1174 (ivar_getTypeEncoding): Check for NULL variable argument.
1175 (class_copyIvarList): New.
1176 * methods.c: New.
1177 * protocols.c (class_copyProtocolList): Check for Nil class_
1178 argument.
1179 * sendmsg.c: Use 'struct objc_method *' instead of Method_t, and
1180 'struct objc_method_list *' instead of MethodList_t.
1181 (class_getMethodImplementation): New.
1182 (class_respondsToSelector): New.
1183 (class_getInstanceMethod): New.
1184 (class_getClassMethod): New.
1185 * objc/runtime.h: Updated comments.
1186 (class_copyIvarList): New.
1187 (class_getInstanceMethod): New.
1188 (class_getClassMethod): New.
1189 (class_getMethodImplementation): New.
1190 (class_respondsToSelector): New.
1191 (method_getName): New.
1192 (method_getImplementation): New.
1193 (method_getTypeEncoding): New.
1194 (class_copyMethodList): New.
1195 (method_getNumberOfArguments): New.
1196
be05b0f5
NP
11972010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
1198
1199 * class.c: Include objc/runtime.h and objc-private/module-abi-8.h
1200 instead of objc/objc-api.h.
1201 (objc_get_unknown_class_handler): Do not define.
1202 (class_isMetaClass): New.
1203 (class_getSuperclass): New.
1204 (class_getVersion): New.
1205 (class_setVersion): New.
1206 (class_getInstanceSize): New.
1207 * exceptions.c: Include objc/runtime.h instead of objc/objc-api.h.
1208 (is_kind_of_exception_matcher): Use objc_getSuperclass instead of
1209 objc_get_super_class.
1210 (get_ttype_entry): Use objc_getRequiredClass instead of
1211 objc_get_class.
1212 * ivars.c (class_getClassVariable): New.
1213 * objects.c: Include objc/runtime.h, objc/thr.h and
1214 objc-private/module-abi-8.h instead of objc/objc-api.h
1215 * objc/runtime.h (class_getClassVariable): New.
1216 (class_isMetaClass): New.
1217 (class_getSuperclass): New.
1218 (class_getVersion): New.
1219 (class_setVersion): New.
1220 (class_getInstanceSize): New.
1221 * objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from
1222 objc/objc-api.h)
1223 (__CLS_INFO): Same.
1224 (__CLS_ISINFO): Same.
1225 (__CLS_SETINFO): Same.
1226 (CLS_ISMETA): Same.
1227 (CLS_ISCLASS): Same.
1228 (CLS_ISRESOLV): Same.
1229 (CLS_SETRESOLV): Same.
1230 (CLS_ISINITIALIZED): Same.
1231 (CLS_SETINITIALIZED): Same.
1232 (CLS_GETNUMBER): Same.
1233 (CLS_SETNUMBER): Same.
1234
718a8e53
NP
12352010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
1236
1237 * archive.c: Do not include objc/objc.h.
1238 * class.c: Do not include objc/objc.h.
1239 * encoding.c: Include objc/runtime.h, ctype.h and
1240 objc-private/module-abi-8.h instead of objc/objc-api.h and
1241 objc/encoding.h.
1242 * error.c: Do not include objc/objc.h.
1243 * gc.c: Include tconfig.h and objc/encoding.h only if
1244 OBJC_WITH_GC.
1245 * hash.c: Include objc/runtime.h and objc/thr.h instead of
1246 objc/objc-api.h. Do not include objc/objc.h.
1247 * init.c: Do not include objc/objc.h.
1248 * ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and
1249 objc/thr.h instead of objc/objc-api.h. Do not include
1250 objc/objc.h.
1251 * linking.m: Tidied comment.
1252 * memory.c: Include objc/runtime.h instead of objc/objc-api.h.
1253 Do not include objc/objc.h.
1254 * objects.c: Do not include objc/objc.h.
1255 * objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h.
1256 * protocols.c: Do not include objc/objc.h.
1257 * sarray.c: Include objc/runtime.h instead of objc/objc-api.h. Do
1258 not include objc/objc.h.
1259 * selector.c: Do not include objc/objc.h.
1260 * sendmsg.c: Do not include objc/objc.h.
1261 * thr.c: Include objc/runtime.h instead of objc/objc-api.h.
1262 Do not include objc/objc.h.
1263 * objc/objc-decls.h: Reindented code.
1264 * objc/runtime.h Include objc-decls.h. Updated comments.
1265 (objc_malloc): New.
1266 (objc_atomic_malloc): New.
1267 (objc_calloc): New.
1268 (objc_realloc): New.
1269 (objc_free): New.
1270 * objc-private/runtime.h: Updated comments.
1271
debfbfee
NP
12722010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
1273
1274 * Makefile.in (C_SOURCE_FILES): Added protocols.c.
1275 * objc-private/protocols.h: New.
1276 * protocols.c: New.
1277 * init.c: Include objc-private/protocols.h.
1278 (__objc_exec_class): Call __objc_protocols_init on startup.
1279 (__objc_init_protocols): Call __objc_protocols_add_protocol.
1280 * objc-private/runtime.h: Use (struct objc_method_list *) instead
1281 of MethodList_t, and (struct objc_method *) instead of Method_t.
1282 * objc/deprecated/struct_objc_class.h: Define
1283 __objc_STRUCT_OBJC_CLASS_defined.
1284 * objc-private/module-abi-8.h (struct
1285 objc_method_description_list): New.
1286 (struct objc_class): Only define if
1287 __objc_STRUCT_OBJC_CLASS_defined is undefined.
1288 * objc/runtime.h (class_getName): New.
1289 (objc_getProtocol): New.
1290 (objc_copyProtocolList): New.
1291 (class_addProtocol): New.
1292 (class_conformsToProtocol): New.
1293 (class_copyProtocolList): New.
1294 (protocol_conformsToProtocol): New.
1295 (protocol_isEqual): New.
1296 (protocol_getName): New.
1297 (protocol_getMethodDescription): New.
1298 (protocol_copyMethodDescriptionList): New.
1299 (protocol_getProperty): New.
1300 (protocol_copyPropertyList): New.
1301 (protocol_copyProtocolList): New.
1302 * class.c (class_getName): New.
1303 * selector.c (sel_isEqual): New.
1304
524660d2
NP
13052010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
1306
1307 * selector.c (sel_getName): Return "<null selector>" for a NULL
1308 argument.
1309 (sel_get_name): Return 0 for a NULL argument.
1310 * objc/runtime.h (sel_getName): Updated documentation.
1311
1312 * objc-private/hash.h (class_hash_table): Unused declaration
1313 removed.
1314 (module_hash_table): Same.
1315 * objc/deprecated/hash.h: Same changes.
1316
90a2689f
NP
13172010-10-11 Nicola Pero <nicola.pero@meta-innovation.com>
1318
1319 * class.c (objc_getClassList): New.
1320 (objc_getRequiredClass): New.
1321 (objc_getMetaClass): New.
1322 (objc_lookupClass): New.
1323 (objc_getClass): New.
1324 (__objc_get_unknown_class_handler): New.
1325 (objc_setGetUnknownClassHandler): New.
1326 (objc_get_class): Use __objc_get_unknown_class_handler.
1327 (objc_lookup_class): Call objc_getClass.
1328 * objc/objc-api.h: Updated comment and copyright notice.
1329 * objc/runtime.h: Updated comments.
1330 (objc_getClass): New.
1331 (objc_lookupClass): New.
1332 (objc_getMetaClass): New.
1333 (objc_getRequiredClass): New.
1334 (objc_getClassList): New.
1335 (objc_setGetUnknownClassHandler): New.
1336 (objc_get_unknown_class_handler): New.
1337 * objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU
1338 instead of __objc_runtime_INCLUDE_GNU as include guard.
1339 * objc-private/error.h (_objc_abort): Mark as noreturn.
1340
fdcbbfe7
NP
13412010-10-11 Nicola Pero <nicola.pero@meta-innovation.com>
1342
1343 * Makefile.in (C_SOURCE_FILES): Added ivars.c.
1344 * ivars.c: New.
1345 * objc/objc.h: Updated comments.
1346 * objc/runtime.h (object_getClass): New.
1347 (object_getClassName): New.
1348 (object_setClass): New.
1349 (class_getInstanceVariable): New.
1350 (object_getIndexedIvars): New.
1351 (object_getInstanceVariable): New.
1352 (object_setInstanceVariable): New.
1353 (object_getIvar): New.
1354 (object_setIvar): New.
1355 (ivar_getName): New.
1356 (ivar_getOffset): New.
1357 (ivar_getTypeEncoding): New.
1358 * objc-private/module-abi-8.h (struct objc_class): Added.
1359 * objects.c (object_getClassName): New.
1360 (object_setClass): New.
1361
bc18535a
NP
13622010-10-11 Nicola Pero <nicola.pero@meta-innovation.com>
1363
1364 * objc/objc.h: Updated comments.
1365 * objc/objc-api.h: (object_copy): Added one argument; use a
1366 #define to maintain backwards-compatibility. Moved
1367 _objc_object_alloc, _objc_object_copy, _objc_object_dispose and
1368 objc_get_uninstalled_dtable into
1369 objc/deprecated/objc_get_uninstalled_dtable.h and
1370 objc/deprecated/objc_object_alloc.h. Include these files.
1371 * objc/deprecated/objc_get_uninstalled_dtable.h: New.
1372 * objc/deprecated/objc_object_alloc.h: New.
1373 * objc/runtime.h (set_getName): New.
1374 (sel_getType): New.
1375 (sel_getUid): New.
1376 (sel_registerName): New.
1377 (sel_registerTypedName): New.
1378 (sel_isEqual): New.
1379 (class_createInstance): New.
1380 (object_copy): New.
1381 (object_dispose): New.
1382 * objects.c: Do not include tconfig.h. Include gc_typed.h if
1383 building the garbage collection version.
1384 (__objc_object_alloc): Removed.
1385 (__objc_object_copy): Removed.
1386 (__objc_object_dispose): Removed.
1387 (class_createInstance): New from code in class_create_instance.
1388 Cast second argument of GC_malloc_explicitly_typed. Use
1389 objc_calloc. Do not call _objc_object_alloc.
1390 (class_create_instance): Call class_createInstance.
1391 (object_copy): Added extraBytes argument. Do not call
1392 _objc_object_copy.
1393 (object_dispose): Do not call _objc_object_dispose.
1394 * memory.c (objc_free): When using garbage collection, mark the
1395 argument as unused.
1396 * selector.c (sel_getName): New.
1397 (sel_get_name): Call sel_getName.
1398 (sel_getType): New.
1399 (sel_get_type): Call sel_getType.
1400 (sel_registerName): New.
1401 (sel_register_name): Call sel_registerName.
1402 (sel_registerTypedName): New.
1403 (sel_register_typed_name): Call sel_registerTypedName.
1404 (sel_getUid): New.
1405 (sel_get_uid): Call sel_getUid.
1406
e4d50866
NP
14072010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
1408
1409 * objc/objc-api.h: Define Method, Method_t, Category and
1410 Category_t. Prevent including this file at the same time as
1411 objc/runtime.h. Updated comments.
1412 * objc/deprecated/struct_objc_method.h: Do not define Method,
1413 Method_t.
1414 * objc/deprecated/struct_objc_category.h: Do not define Category,
1415 Category_t.
1416 * objc-private/module-abi-8.h: New file containing a copy of all
1417 the structure definitions. Not used yet.
1418 * objc/encoding.h (objc_aligned_size): Removed duplicate
1419 declaration. Updated comments.
1420 * objc/runtime.h: Added Ivar, objc_property_t, Property, Method,
1421 Category, struct objc_method_description, _C_ID and similar,
1422 _C_CONST and similar and _F_CONST and similar. Added
1423 objc_sizeof_type, objc_alignof_type, objc_aligned_size,
1424 objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec,
1425 objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers,
1426 struct objc_struct_layout, objc_layout_structure,
1427 objc_layout_structure_next_member, objc_layout_finish_structure,
1428 objc_layout_structure_get_info. Prevent including this file at
1429 the same time as objc/objc-api.h.
1430
2461ab4b
NP
14312010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
1432
1433 * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h,
1434 struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h,
1435 struct_objc_method_list.h, struct_objc_module.h,
1436 struct_objc_protocol_list.h, struct_objc_symtab.h.
1437 * objc/deprecated/struct_objc_category.h: New.
1438 * objc/deprecated/struct_objc_ivar.h: New.
1439 * objc/deprecated/struct_objc_ivar_list.h: New.
1440 * objc/deprecated/struct_objc_method.h: New.
1441 * objc/deprecated/struct_objc_method_list.h: New.
1442 * objc/deprecated/struct_objc_module.h: New.
1443 * objc/deprecated/struct_objc_protocol_list.h: New.
1444 * objc/deprecated/struct_objc_symtab.h: New.
1445 * objc/deprecated/struct_objc_static_instances.h: New.
1446 * objc/objc-api.h: Definitions of deprecated structures moved into
1447 the above header fragment files in objc/deprecated/. Include the
1448 files instead of definition the structures here. Updated
1449 comments.
1450 * objc/runtime.h: Updated comments. Do not include objc-api.h.
1451 (objc_set_enumeration_mutation_handler): Renamed to
1452 objc_setEnumerationMutationHandler.
1453 * objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed
1454 to objc_setEnumerationMutationHandler.
1455 * objc/objc-exception.h (objc_set_exception_matcher): Renamed to
1456 objc_setExceptionMatcher.
1457 (objc_set_uncaught_exception_handler): Renamed to
1458 objc_setUncaughtExceptionHandler.
1459 * exception.c: Same changes.
1460
e2633f25
NP
14612010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
1462
1463 * objc-sync.c: Include objc-private/common.h.
1464
cf3822f1
NP
14652010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
1466
1467 * objc-foreach.c: Include objc-private/common.h.
1468 * objc/deprecated/METHOD_NULL.h: New file.
1469 * objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of
1470 defining METHOD_NULL here.
1471 * Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h.
1472 * Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of
1473 METHOD_NULL.
1474 ([-respondsTo:]): Same change.
1475 * objc/objc-api.h (method_get_imp): Converted it into a normal
1476 function so that we can hide the internals of struct objc_method.
1477 * sendmsg.c (method_get_imp): Implemented.
1478
6176c2a9
NP
14792010-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
1480
1481 * objc/objc-api.h (struct objc_super, Super, Super_t,
1482 objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward,
1483 objc_msg_forward2): Declarations moved to objc/message.h. Include
1484 message.h here.
1485 * objc/message.h: Added such declarations; updated comments.
1486
f05b9d93
NP
14872010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
1488
1489 Implemented fast enumeration for Objective-C.
1490 * Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
1491 (OBJC_H): Added runtime.h
1492 * objc-foreach.c: New file.
1493 * objc/runtime.h: New file.
1494
2de87f04
KT
14952010-09-30 Kai Tietz <kai.tietz@onevision.com>
1496
1497 * objc/deprecated/struct_objc_class.h: Add padding
1498 to avoid warning with -Wpadded.
1499
177b48f9
NP
15002010-09-26 Nicola Pero <nicola.pero@meta-innovation.com>
1501
1502 * encoding.c (objc_sizeof_type): Added support for vector type and
1503 for double long types.
1504 (objc_alignof_type): Same change.
1505 (objc_skip_typespec): Same change.
1506 * objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE
1507 instead of '!' since '!' is already used for _C_VECTOR.
1508 * objc/objc-api.h (_C_LNG_DBL): Added.
1509
d284c684
NP
15102010-09-26 Nicola Pero <nicola.pero@meta-innovation.com>
1511
1512 * libobjc_entry.c: File removed.
1513
7116b6ea
KT
15142010-09-26 Kai Tietz <kai.tietz@onevision.com>
1515
bd74d88b 1516 * sendmsg.c (objc_msg_lookup): Remove inline.
7116b6ea
KT
1517 (objc_get_uninstalled_dtable): Likewise.
1518 * encoding.c (objc_skip_type_qualifiers): Likewise.
1519 (objc_skip_offset): Likewise.
1520 * archive.c (__objc_write_object): Likewise
1521 (__objc_write_class):
1522 (__objc_write_selector):
1523 (objc_read_char):
1524 (objc_read_unsigned_char):
1525 (objc_read_short):
1526 (objc_read_unsigned_short):
1527 (objc_read_int):
1528 (objc_read_long):
1529 (__objc_read_nbyte_uint):
1530 (objc_read_unsigned_int):
1531 (objc_read_unsigned_long):
1532 * objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
1533 (objc_EXPORT): Likewise.
1534 * objc/message.h (objc-decls.h): Add include.
1535 * objc/objc-api.h: Mark API by objc_EXPORT.
1536 * libobjc.def (__objc_responds_to): Removed.
1537
5d3b14bd
NP
15382010-09-18 Nicola Pero <nicola.pero@meta-innovation.com>
1539
1540 * hash.c: Include objc-private/hash.h instead of objc/hash.h.
1541
1542 * objc/sarray.h: Moved into objc/deprecated/sarray.h;
1543 objc/sarray.h replaced with a placeholder including the file from
1544 the deprecated/ directory.
1545 * objc-private/sarray.h: New file (private copy of sarray.h).
1546 * hash.c: Include <assert.h> instead of "assert.h"
1547 * sarray.c: Include <assert.h> instead of "assert.h". Include
1548 objc-private/sarray.h instead of objc/sarray.h.
1549 * selector.c: Include objc-private/sarray.h instead of
1550 objc/sarray.h.
1551 * sendmsg.c: Include <assert.h>. Include objc-private/sarray.h
1552 instead of objc/sarray.h.
1553 * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.
1554
349cfd93
NP
15552010-09-17 Nicola Pero <nicola.pero@meta-innovation.com>
1556
1557 * objc-private/objc-list.h (list_remove_elem): Unused function
1558 removed. (list_nth): Unused function removed. (list_find):
1559 Unused function removed. (list_lenght): Unused function removed.
1560
5be9cdc1
NP
15612010-09-17 Nicola Pero <nicola.pero@meta-innovation.com>
1562
1563 * objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
1564 replaced with a placeholder including the file from the
1565 deprecated/ directory.
1566 * objc/objc-api.h: Updated includes.
1567 * objc/typedstream.h: Updated includes.
1568 * objc-private/hash.h: New file (private copy of hash.h).
1569 * objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
1570 objc/objc-list.h replaced with a placeholder including the file
1571 from the deprecated/ directory.
1572 * objc-private/objc-list.h: New file (private copy of objc-list.h).
1573 * init.c: Include objc-private/hash.h and objc-private/objc-list.h
1574 instead of objc/hash.h and objc/objc-list.h.
1575 * selector.c: Same change.
1576 * class.c: Added include <string.h>, which used to be implicitly included
1577 when hash.h was included.
1578 * exception.c: Same change.
1579 * objects.c: Same change.
1580 * sarray.c: Same change.
1581 * sendmsg.c: Same change.
1582 * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
5be9cdc1 1583
fd312537
NP
15842010-09-14 Nicola Pero <nicola.pero@meta-innovation.com>
1585
1586 Implemented objc_sync_enter() and objc_sync_exit(), which are
1587 required by @synchronized() to work.
1588 * objc-sync.c: New file.
1589 * objc/objc-sync.h: New file.
1590 * objc-private/objc-sync.h: New file.
1591 * init.c (__objc_exec_class): Call __objc_sync_init() during the
1592 Objective-C runtime startup.
1593 * Makefile.in: Added objc-sync.c and objc-sync.h.
1594 * configure.ac: Added GCC_CHECK_TLS.
1595 * acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4.
1596 * configure: Regenerated.
1597 * config.h.in: Regenerated.
1598
7e268280
NP
15992010-09-12 Nicola Pero <nicola.pero@meta-innovation.com>
1600
1601 * Makefile.in (%_gc.lo): New pattern rules to build the
1602 garbage-collected version of the library. Removed rules for
1603 specific files that are no longer needed. Standardized all rules.
1604 (C_SOURCE_FILES, OBJC_SOURCE_FILES): New variables.
1605 (OBJS, OBJS_GC): Compute these from C_SOURCE_FILES and
1606 OBJC_SOURCE_FILES.
1607 (INCLUDES): Removed the unused include -I$(srcdir)/objc.
1608
16092010-09-12 Nicola Pero <nicola.pero@meta-innovation.com>
1610
1611 * memory.c (objc_calloc): Fixed call to GC_malloc when building
1612 with Garbage Colletion.
1613
457e68e7
NP
16142010-09-12 Nicola Pero <nicola.pero@meta-innovation.com>
1615
1616 * memory.c: Do not include objc-private/runtime.h.
1617
d1be5d82
NP
16182010-09-12 Nicola Pero <nicola.pero@meta-innovation.com>
1619
1620 * objc/deprecated/objc_malloc.h: New file.
1621 * objc/deprecated/objc_valloc.h: New file.
1622 * objc/objc-api.h: Include the files instead of defining
1623 objc_valloc, _objc_malloc() and similar.
1624 * Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and
1625 objc_malloc.h.
1626 * memory.c: Removed the extra layer of indirection of _objc_malloc
1627 and similar.
1628 (objc_calloc): Use GC_malloc in the garbage-collected
1629 implementation as GC_malloc returns memory that is already freed.
1630 (objc_valloc): Deprecated.
1631
7b869986
NP
16322010-09-12 Nicola Pero <nicola.pero@meta-innovation.com>
1633
1634 * objc/deprecated/objc_error.h: New file.
1635 * objc/objc-api.h: Include deprecated/objc_error.h instead of
1636 defining objc_error and related.
1637 * error.c: New file. Added _objc_abort function which replaces
1638 objc_error. No change in functionality as they both print an
1639 error and abort.
1640 * misc.c: File removed. Code moved into memory.c and error.c.
1641 * memory.c: New file.
1642 * objc-private/error.h: New file.
1643 * archive.c: Include objc-private/error.h and use _objc_abort
1644 instead of objc_error everywhere.
1645 * class.c: Same change.
1646 * encoding.c: Same change.
1647 * init.c: Same change, and simplified init_check_module_version.
1648 * memory.c: Same change.
1649 * sendmsg.c: Same change.
1650 * thr.c: Same change.
1651 * Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h.
1652 (OBJ_H): Reordered list.
1653 (OBJS): Removed misc.lo, added memory.lo and error.lo.
1654 (OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo.
1655 (misc_gc.lo): Rule removed.
1656 (error_gc.lo): Rule added.
1657 (memory_gc.lo): Rule added.
1658
6dead247
NP
16592010-09-12 Nicola Pero <nicola.pero@meta-innovation.com>
1660
1661 * objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way
1662 to check the API version. Added some comments.
1663
1664 * objc-private/common.h: New file.
1665 * NXConstStr.m: Include objc-private/common.h.
1666 * Object.m: Same change.
1667 * Protocol.m: Same change.
1668 * archive.c: Same change.
1669 * class.c: Same change.
1670 * encoding.c: Same change.
1671 * exception.c: Same change.
1672 * gc.c: Same change.
1673 * hash.c: Same change.
1674 * init.c: Same change.
1675 * libobjc_entry.c: Same change.
1676 * linking.m: Same change.
1677 * misc.c: Same change (and added a comment).
1678 * nil_method.c: Same change.
1679 * objects.c: Same change.
1680 * sarray.c: Same change.
1681 * selector.c: Same change.
1682 * sendmsg.c: Same change.
1683 * thr.c: Same change.
1684
83c28dfd
NP
16852010-09-11 Nicola Pero <nicola.pero@meta-innovation.com>
1686
1687 * objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP.
1688
0c11b8fb
NP
16892010-09-11 Nicola Pero <nicola.pero@meta-innovation.com>
1690
1691 * archive.c: Removed not needed includes.
1692 * class.c: Same change.
1693 * hash.c: Same change.
1694 * misc.c: Same change.
1695 * nil_method.c: Same change.
1696 * objects.c: Same change.
1697 * sarray.c: Same change.
1698 * sendmsg.c: Same change.
1699 * thr.c: Same change.
1700
a19fac96
NP
17012010-09-11 Nicola Pero <nicola.pero@meta-innovation.com>
1702
1703 * objc/runtime.h: Moved to objc-private/runtime.h. Do not include
1704 all the objc/*.h files.
1705 * objc-private/runtime.h: New file.
1706 * archive.c: Include objc-private/runtime.h (and required objc/*.h
1707 files) instead of objc/runtime.h.
1708 * class.c: Same change.
1709 * hash.c: Same change.
1710 * init.c: Same change.
1711 * misc.c: Same change.
1712 * nil_method.c: Same change.
1713 * objects.c: Same change.
1714 * sarray.c: Same change.
1715 * selector.c: Same change.
1716 * sendmsg.c: Same change.
1717 * thr.c: Same change.
1718
3d0d8739
NP
17192010-09-11 Nicola Pero <nicola.pero@meta-innovation.com>
1720
1721 * objc/deprecated/struct_objc_selector.h: New file. Definition of
1722 'struct objc_selector' and 'sel_eq' moved here.
1723 * objc/deprecated/struct_objc_protocol.h: New file. Definition of
1724 'struct objc_procotol' moved here.
1725 * objc/deprecated/struct_objc_class.h: New file. Definition of
1726 'struct objc_class' moved here.
1727 * objc/deprecated/MetaClass.h: New file. Definition of MetClass
1728 moved here.
1729 * objc/deprecated/STR.h: New file. Definition of STR moved here.
1730 * objc/message.h: New file. Definitions for relval_t, apply_t,
1731 arglist, arglist_t and objc_msg_lookup were moved here.
1732 * objc/objc.h: Include the above files instead of defining the
1733 corresponding structs, types and functions here. Added new opaque
1734 definitions for SEL and Class. Use Class and not 'struct
1735 objc_class *' in the definition of 'struct objc_object'.
1736 Commented all types defined in the file. Removed special
1737 definition of BOOL as 'int' on __vxworks; use 'unsigned char'
1738 there as well.
1739 * objc/deprecated/objc-unexpected-exception.h: Renamed to
1740 objc_unexpected_exception.h.
1741 * objc/objc-api.h: Updated include of
1742 objc-unexpetected-exception.h
1743 * objc/objc-exception.h: Updated comments.
1744 * Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header
1745 files. Reindented list of files.
1746
4c26f0a5
NP
17472010-09-10 Nicola Pero <nicola.pero@meta-innovation.com>
1748
1749 * objc/objc-api.h (objc_trace): Unused variable removed.
1750
e976a775
NP
17512010-09-10 Nicola Pero <nicola.pero@meta-innovation.com>
1752
1753 * objc/deprecated: New directory.
1754 * objc/deprecated/README: New file.
1755 * objc/README: New file.
1756 * objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
1757 objc/typedstream.h replaced with a placeholder including the file
1758 from the deprecated/ directory.
1759 * objc/deprecated/objc-unexpected-exception.h: New file with the
1760 definition of _objc_unexpected_exception.
1761 * objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
1762 instead of defining _objc_unexpected_exception.
1763 * objc/deprecated/Object.h: New file with the deprecated Object
1764 methods in a 'Deprecated' category.
1765 * objc/Object.h Include deprecated/Object.h instead of defining
1766 the deprecated methods.
1767 * Object.m: Moved deprecated methods into 'Deprecated' category.
1768 * objc-private: New directory.
1769 * objc-private/README: New file.
1770 * Makefile.in (OBJC_DEPRECATED_H): New variable.
1771 (install-headers): Create installation directory for
1772 OBJC_DEPRECATED_H headers, and install them.
1773
17742010-09-10 Nicola Pero <nicola.pero@meta-innovation.com>
1775
1776 * objc/objc-exception.h: Fixed include of objc.h.
1777
e30511ed
NP
17782010-09-08 Nicola Pero <nicola.pero@meta-innovation.com>
1779
1780 * objc/objc-exception.h: New file.
1781 * exception.c (objc_set_uncaught_exception_handler): Implemented.
1782 (objc_set_exception_matcher): Implemented.
1783 (objc_exception_throw): Use the uncaught exception handler if set.
1784 (PERSONALITY_FUNCTION): Use the exception matcher instead of the
1785 hardcoded isKindOf.
1786 (isKindOf): Renamed to is_kind_of_exception_matcher. Tidied code
1787 up. Removed segmentation fault when value is 'nil'.
1788 * objc/objc-api.h (_objc_unexpected_exception): Mark as
1789 deprecated.
1790 * Makefile.in (exception.lo, exception_gc.lo): Use
1791 -Wno-deprecated-declarations when compiling.
1792 (OBJC_H): Added objc-exception.h
1793
d6f62ada 17942010-09-08 Nicola Pero <nicola.pero@meta-innovation.com>
4470254f
NP
1795
1796 * objc/typedstream.h: Deprecate all functions in the file. This
1797 file is obsolete.
1798 * objc/Object.h ([+streamVersion:], [-read:], [-write:],
1799 [-awake]): Documented that these methods are deprecated. Added a
1800 brief description of the Object class and its relationship to the
1801 NSObject class.
1802 * Makefile.in: Compile archive.c and Object.m with
1803 -Wno-deprecated-declarations.
1804
88a2722e
NP
18052010-09-08 Nicola Pero <nicola.pero@meta-innovation.com>
1806
1807 Removed obsolete intermediate threading layer.
1808 * thr.c: Use __gthread_objc_xxx functions directly instead of
1809 __objc_thread_xxx ones.
1810 * objc/thr.h: Removed prototypes of no longer existing
1811 __objc_thread_xxx functions.
1812 * Makefile.in: Removed thr-objc.lo.
1813 * thr-dce.c: File removed.
1814 * thr-decosf1.c: File removed.
1815 * thr-irix.c: File removed.
1816 * thr-mach.c: File removed.
1817 * thr-objc.c: File removed.
1818 * thr-os2.c: File removed.
1819 * thr-posix.c: File removed.
1820 * thr-pthreads.c: File removed.
1821 * thr-rtems.c: File removed.
1822 * thr-single.c: File removed.
1823 * thr-solaris.c: File removed.
1824 * thr-vxworks.c: File removed.
1825 * thr-win32.c: File removed.
1826 * README.threads: File removed.
1827 * THREADS.MACH: File removed.
1828 * THREADS: Updated.
1829
29b71c02
NP
18302010-09-07 Nicola Pero <nicola.pero@meta-innovation.com>
1831
1832 * Object.m (MAX_CLASS_NAME_LEN): Unused define removed.
1833
265a000d
IS
18342010-09-06 Iain Sandoe <iains@gcc.gnu.org>
1835
1836 * encoding.c: Add TARGET_ALIGN_NATURAL definition for m64 powerpc darwin.
1837 Add a comment as to why, update FIXME comments.
1838
7b74bb63
NP
18392010-09-06 Nicola Pero <nicola.pero@meta-innovation.com>
1840
1841 * makefile.dos: Obsolete file removed.
1842
4d9e8446
RW
18432010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1844
1845 * aclocal.m4: Regenerate.
1846
19222959
DK
18472010-03-23 Dave Korn <dave.korn.cygwin@gmail.com>
1848
1849 PR libobjc/30445
1850 * configure.ac (extra_ldflags_libobjc): Define appropriately for
1851 Cygwin and MinGW hosts.
1852 * Makefile.am (libobjc_s.a): Remove dead pre-libtool target.
1853 (libobjc.dll): Likewise.
1854 * configure: Regenerate.
1855
43e02a8a
RW
18562009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1857
1858 * configure: Regenerate.
1859
288d6a77
JJ
18602009-11-28 Jakub Jelinek <jakub@redhat.com>
1861
1862 * sarray.c (sarray_free): Use old_buckets variable.
1863 * encoding.c (objc_layout_structure_next_member): Remove unused
1864 bfld_type_size variable.
1865
df58e648
RW
18662009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1867
1868 * configure.ac (AC_PREREQ): Bump to 2.64.
1869
5213506e
RW
18702009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1871
1872 * aclocal.m4: Regenerate.
1873 * configure: Regenerate.
1874 * config.h.in: Regenerate.
1875
84fec8a5
RW
18762009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1877
1878 * Makefile.in (LIBTOOL): Add $(LIBTOOLFLAGS).
1879
6efbd53f
RW
18802009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1881
1882 * Makefile.in (AUTOCONF, ACLOCAL, ACLOCAL_AMFLAGS, aclocal_deps):
1883 New variables.
1884 ($(srcdir)/configure, $(srcdir)/aclocal.m4): New rules.
1885
1b3b24c2
RW
18862009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1887
1888 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1889
748086b7
JJ
18902009-04-09 Nick Clifton <nickc@redhat.com>
1891
1892 * sendmsg.c: Change copyright header to refer to version 3 of
1893 the GNU General Public License with version 3.1 of the GCC
1894 Runtime Library Exception and to point readers at the COPYING3
1895 and COPYING3.RUNTIME files and the FSF's license web page.
1896 * NXConstStr.m: Likewise.
1897 * Object.m: Likewise.
1898 * Protocol.m: Likewise.
1899 * archive.c: Likewise.
1900 * class.c: Likewise.
1901 * encoding.c: Likewise.
1902 * exception.c: Likewise.
1903 * gc.c: Likewise.
1904 * hash.c: Likewise.
1905 * init.c: Likewise.
1906 * libobjc_entry.c: Likewise.
1907 * linking.m: Likewise.
1908 * misc.c: Likewise.
1909 * nil_method.c: Likewise.
1910 * objc/NXConstStr.h: Likewise.
1911 * objc/Object.h: Likewise.
1912 * objc/Protocol.h: Likewise.
1913 * objc/encoding.h: Likewise.
1914 * objc/hash.h: Likewise.
1915 * objc/objc-api.h: Likewise.
1916 * objc/objc-decls.h: Likewise.
1917 * objc/objc-list.h: Likewise.
1918 * objc/objc.h: Likewise.
1919 * objc/runtime.h: Likewise.
1920 * objc/sarray.h: Likewise.
1921 * objc/thr.h: Likewise.
1922 * objc/typedstream.h: Likewise.
1923 * objects.c: Likewise.
1924 * sarray.c: Likewise.
1925 * selector.c: Likewise.
1926 * thr-dce.c: Likewise.
1927 * thr-decosf1.c: Likewise.
1928 * thr-irix.c: Likewise.
1929 * thr-mach.c: Likewise.
1930 * thr-objc.c: Likewise.
1931 * thr-os2.c: Likewise.
1932 * thr-posix.c: Likewise.
1933 * thr-pthreads.c: Likewise.
1934 * thr-rtems.c: Likewise.
1935 * thr-single.c: Likewise.
1936 * thr-solaris.c: Likewise.
1937 * thr-vxworks.c: Likewise.
1938 * thr-win32.c: Likewise.
1939 * thr.c: Likewise.
1940 * libobjc.def: Change copyright header to refer to version 3 of
1941 the GNU General Public License and to point readers at the COPYING3
1942 file and the FSF's license web page.
1943 * makefile.dos: Likewise.
1944
19452009-04-09 Jakub Jelinek <jakub@redhat.com>
1946
1947 * Makefile.in: Change copyright header to refer to version
1948 3 of the GNU General Public License and to point readers at the
1949 COPYING3 file and the FSF's license web page.
1950 * configure.ac: Likewise.
1951
faef499b
DA
19522009-03-12 Richard Frith-Macdonald <rfm@gnu.org>
1953 David Ayers <ayers@fsfe.org>
1954
1955 PR libobjc/27466
1956 * objc/objc-api.h (_objc_unexpected_exception): Declare
1957 new hook. Update copyright dates.
1958 * exception.c (objc_exception_throw): Use hook. Update
1959 copyright dates.
1960 * libobjc.def (_objc_unexpected_exception): Export hook.
1961 Update copyright dates.
1962
7a9d3fe8
RW
19632009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1964
1965 * configure: Regenerate.
1966
baafc534
RW
19672008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1968
1969 * configure: Regenerate.
1970
b15b7ef8
KT
19712008-11-21 Kai Tietz <kai.tietz@onevision.com>
1972
1973 * Object.m (errno): Replaced by errno.h include.
1974 (compare): Cast self to id to prevent warning on comparison.
1975 * objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is
1976 already there.
1977 * sendmsg.c (__objc_print_dtable_stats): Remove type warnings.
1978 * thr-win32.c (__objc_thread_detach): Remove type warning.
1979 (__objc_thread_id): Likewise.
1980 * thr.c (__objc_thread_detach_functiont): Add __builtin_trap ()
1981 for noreturn.
1982
467b2e9e
PG
19832008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
1984 Steve Ellcey <sje@cup.hp.com>
1985
1986 * configure: Regenerate for new libtool.
1987 * config.h.in: Regenerate for new libtool.
1988
920d063d
MK
19892008-07-18 Matthias Klose <doko@ubuntu.com>
1990
1991 * Makefile.in: Ignore missing ../boehm-gc/threads.mk.
1992
785fad0a
MK
19932008-07-18 Matthias Klose <doko@ubuntu.com>
1994
1995 * Makefile.in: Include ../boehm-gc/threads.mk.
1996 (OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it.
1997
a0ed5099
RW
19982008-07-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1999
2000 * Makefile.in (install-info): New stub target.
2001
18c04407
RW
20022008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2003
2004 * configure: Regenerate.
2005
b01bd5fe
KT
20062008-06-14 Kai Tietz <kai.tietz@onevision.com>
2007
2008 * exception.c (PERSONALITY_FUNCTION): Remove extra decrement
2009 if HAVE_GETIPINFO is not defined.
2010
c24aadf3
KT
20112008-06-10 Kai Tietz <kai.tietz@onevision.com>
2012
2013 * Object.m (compare): Add type id.
2014 * objc/Object.h: Likewise.
2015 * archive.c (objc_read_class): Use size_t to extend version to be
2016 size of pointer scalar width.
2017 * sendmsg.c (rtx): Undefine it before redefinition.
2018 (__objc_print_dtable_stats): Cast arguments to long as intended.
2019
3f6383d3
JB
20202008-05-30 Julian Brown <julian@codesourcery.com>
2021
2022 * exception.c (__objc_exception_class): Initialise as constant
2023 array for ARM EABI. Change macro to static const for non-ARM EABI.
2024 (ObjcException): Add note about structure layout. Remove landingPad
2025 and handlerSwitchValue for ARM EABI.
2026 (get_ttype_entry): Add __ARM_EABI_UNWINDER__ version
2027 of function.
2028 (CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases.
2029 (PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add
2030 ARM EABI unwinding support.
2031 (objc_exception_throw): Use memcpy to initialise exception class.
2032
dd25a747
AM
20332008-05-25 Alan Modra <amodra@bigpond.net.au>
2034
2035 * encoding.c (strip_array_types): Rename from get_inner_array_type.
2036 (rs6000_special_round_type_align): Update.
2037
7afa92c5
JB
20382008-05-09 Julian Brown <julian@codesourcery.com>
2039
2040 * Makefile.in (LTLDFLAGS): New.
2041 (libobjc$(libsuffix).la, libobjc_gc$(libsuffix).la): Use above.
2042
deb984e6
PB
20432008-04-18 Paolo Bonzini <bonzini@gnu.org>
2044
2045 PR bootstrap/35457
2046 * aclocal.m4: Regenerate.
2047 * configure: Regenerate.
2048
e7ad4ca7
DE
20492008-01-24 David Edelsohn <edelsohn@gnu.org>
2050
2051 * configure: Regenerate.
2052
2c888488
L
20532007-10-14 H.J. Lu <hongjiu.lu@intel.com>
2054
2055 * configure.ac: Don't run config-ml.in directly.
2056 (multilib_arg): New.
2057 * configure: Regenerated.
2058
30cad60d
AP
20592007-08-06 Andrew Pinski <pinskia@gmail.com>
2060
2061 PR libobjc/30731
2062 * exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead
2063 of _Unwind_Word for variables which are used in
2064 read_uleb128/read_sleb128.
2065 (PERSONALITY_FUNCTION): Likewise.
2066
12a27363
L
20672007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2068
2069 * aclocal.m4: Regenerated.
2070
af333b9a
AP
20712007-06-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
2072
2073 * configure.ac: Fix a typo in *-*-darwin clause.
2074 * configure: Regenerated.
2075
4620d81e
L
20762007-06-02 H.J. Lu <hongjiu.lu@intel.com>
2077
2078 * configure.ac: Fix a typo.
2079 * configure: Regenerated.
2080
82a6cadf
PB
20812007-06-02 Paolo Bonzini <bonzini@gnu.org>
2082
2083 * configure: Regenerate.
2084
45d5f86c
AP
20852007-06-01 Andrew Pinski <andrew_pinski@playstation.sony.com>
2086
2087 * Makefile.in: Replace all uses of libext with libsuffix.
2088 * configure.ac: Likewise.
2089 * configure: Regenerate.
2090
2091 Revert:
2092 * Makefile.in: Remove all uses of $(libext).
2093
8b5dda41
AP
20942007-05-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
2095
2096 * Makefile.in: Remove all uses of $(libext).
2097
1cf3d07d
SE
20982007-05-23 Steve Ellcey <sje@cup.hp.com>
2099
2100 * configure: Regenerate.
2101 * aclocal.m4: Regenerate.
2102
8972bcd8
AR
21032007-04-21 Andrew Ruder <andy@aeruder.net>
2104
2105 * sendmsg.c (__objc_get_forward_imp): Call
2106 __objc_msg_forward2 for real.
2107
80ae8e8a
AR
21082007-04-09 Andrew Ruder <andy@aeruder.net>
2109
2110 * sendmsg.c: Added __objc_msg_forward2, a hook that allows
2111 external libraries to provide a function that returns the real
2112 forwarding function based on both the selector and the receiver.
2113 * objc/objc-api.h: Define __objc_msg_forward2.
2114
38593123
BM
21152007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
2116
2117 * Makefile.in: Add dummy install-pdf target.
2118
3034b453
MLI
21192007-02-18 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2120
2121 * objc/objc-list.h (list_free): Add keyword 'inline' to avoid
2122 unused warning.
2123
58182de3
GK
21242006-10-31 Geoffrey Keating <geoffk@apple.com>
2125
2126 * encoding.c (darwin_rs6000_special_round_type_align): New.
2127
5b043f08
GK
21282006-10-14 Geoffrey Keating <geoffk@apple.com>
2129
2130 * Makefile.in: Use multi_basedir instead of toplevel_srcdir.
2131 * configure.ac: Use multi.m4 from aclocal rather than custom
2132 code. Use multi_basedir instead of toplevel_srcdir.
2133 * aclocal.m4: Regenerate.
2134 * configure: Regenerate.
2135
b5422ad7
BM
21362006-10-10 Brooks Moses <bmoses@stanford.edu>
2137
2138 * Makefile.in: Added empty "pdf" target.
2139
57255173
PB
21402006-07-18 Paolo Bonzini <bonzini@gnu.org>
2141
91ba215a 2142 * configure: Regenerate.
57255173 2143
2788992b
CD
21442006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2145
2146 * Makefile.in: Add install-html target. Add install-html to .PHONY
2147
529490b4
RO
21482006-02-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2149
2150 PR libobjc/26309
2151 * thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
2152
801a91f9
DA
21532006-01-24 David Ayers <d.ayers@inode.at>
2154
2155 PR libobjc/9751
2156 * gc.c (class_ivar_set_gcinvisible): Replace strncpy with memcpy
2157 and insure the new strings are '\0' termintated.
2158
8c3e5222
DA
21592006-01-24 David Ayers <d.ayers@inode.at>
2160
2161 PR libobjc/13946
2162 * configure.ac: Add include directives for --enable-objc-gc.
2163 * Makefile.in: Ditto.
2164 * configure: Regenerate.
2165
2166 * gc.c (__objc_class_structure_encoding): Increment the used bytes
2167 instead of the local pointer to them.
2168
06b11455
AP
21692005-12-14 Andrew Pinski <pinskia@physics.uc.edu>
2170
2171 PR objc/25360
91ba215a
AP
2172 * objc/objc-api.c (_C_COMPLEX): New define.
2173 * encoding.c (objc_sizeof_type): Handle _C_Complex.
2174 (objc_alignof_type): Likewise.
2175 (objc_skip_typespec): Likewise.
06b11455 2176
bf5b295c
DA
21772005-12-15 David Ayers <d.ayers@inode.at>
2178
2179 PR libobjc/14382
2180 * README (+load,+initialize): Fix documentation to reflect
2181 intended and implemented semantics for +load and +initialize.
2182
761c0d29
AP
21832005-12-12 Andrew Pinski <pinskia@physics.uc.edu>
2184
2185 * encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and
2186 the name.
2187 (get_inner_array_type): Fix to skip over _C_ARY_B and size.
2188 (rs6000_special_round_type_align): Update for the ABI fix.
2189 (objc_layout_finish_structure): Correct the encoding which is passed to
2190 ROUND_TYPE_ALIGN.
2191
4540a3ad
AP
21922005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
2193
2194 PR libobjc/25347
2195 * encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special
2196 but use the struct layout functions.
2197 (objc_alignof_type): Likewise.
2198 (objc_layout_structure): Handle _C_UNION_B also.
2199 (objc_layout_structure_next_member): Likewise.
2200 (objc_layout_finish_structure): Likewise.
2201
153b4898
AP
22022005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
2203
2204 PR libobjc/25346
2205 * objc/objc-api.h (_C_BOOL): New define.
2206 * encoding.c (objc_sizeof_type): Handle _C_BOOL.
2207 (objc_alignof_type): Likewise.
2208 (objc_skip_typespec): Likewise.
2209
84700346
DA
22102005-11-20 David Ayers <d.ayers@inode.at>
2211
2212 PR libobjc/19024
2213 * objc/hash.h: Remove deprecated hash API.
2214 * hash_compat.c: Remove.
2215 * Makefile.in: Remove reference to hash_compat.c.
2216
2217 * configure.ac (VERSION): Bump library version to 2:0:0.
2218 * configure: Regenerate.
2219
7ef67393
AO
22202005-11-09 Alexandre Oliva <aoliva@redhat.com>
2221
2222 PR other/4372
2223 * thr-objc.c (_XOPEN_SOURCE): Define.
2224
b7add506
UW
22252005-10-07 Ulrich Weigand <uweigand@de.ibm.com>
2226
2227 PR libobjc/23612
2228 * objc/objc-api.h (struct objc_ivar): Move definition to
2229 global scope.
2230
ca59f04b
AP
22312005-09-04 Andrew Pinski <pinskia@physics.uc.edu>
2232 Rasmus Hahn <rassahah@neofonie.de>
2233
2234 PR libobjc/23108
2235 * archive.c (objc_write_type): Correct the element offset.
2236 (objc_read_type): Likewise.
2237
f9d09c43
KC
22382005-08-17 Kelley Cook <kcook@gcc.gnu.org>
2239
2240 * All files: Update FSF address.
2241
ee1658f3
MK
22422005-08-13 Marcin Koziej <creep@desk.pl>
2243 Andrew Pinski <pinskia@physics.uc.edu>
2244
2245 PR libobjc/22492
2246 * exception.c (PERSONALITY_FUNCTION): Fix the PC with finally.
2247
a5a813f8
AP
22482005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
2249
2250 * Makefile.in (extra_ldflags_libobjc): New.
2251 (libobjc$(libext).la): Add extra_ldflags_libobjc to the link line.
2252 (libobjc_gc$(libext).la): Likewise.
2253 * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
2254 "-Wl,-single_module".
2255 * configure: Regenerate.
2256 * linking.m (_objcInit): Remove.
2257
84fd360d
AP
22582005-07-26 Andrew Pinski <pinskia@physics.uc.edu>
2259
2260 PR libobjc/22606
2261 * Makefile.in (ALL_CFLAGS): Add -fexceptions.
2262
cf223603
DA
22632005-06-08 David Ayers <d.ayers@inode.at>
2264
2265 * objc/NXConstStr.h, objc/Object.h, objc/Protocol.h,
2266 objc/encoding.h, objc/hash.h, objc/objc-api.h,
2267 objc/runtime.h, objc/sarray.h, objc/thr.h,
2268 objc/typedstream.h: Do not include Objective-C headers as
2269 system headers.
2270
348a3445
DA
22712005-06-07 David Ayers <d.ayers@inode.at>
2272
2273 * archive.c, init.c, selector.c: Include hash.h.
2274 * archive.c, class.c, encoding.c, gc.c, hash.c, hash_compat.c,
2275 init.c, misc.c, nil_method.c, objects.c, sarray.c, selector.c,
2276 sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, thr-mach.c,
2277 thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, thr-rtems.c,
2278 thr-single.c, thr-solaris.c, thr-vxworks.c, thr-win32.c, thr.c:
2279 Include Objective-C headers with quotes and objc/ directory
2280 prefix.
2281
4419e343
RH
22822005-05-19 Richard Henderson <rth@redhat.com>
2283
2284 * exception.c: Revert last change.
2285
2e8a88f0
DA
22862005-05-19 David Ayers <d.ayers@inode.at>
2287
2288 * exception.c: Include tsystem.h for unwind.h.
2289
f4c767fd
MS
22902005-05-09 Mike Stump <mrs@apple.com>
2291
2292 * configure: Regenerate.
2293
6dab073b
MS
22942005-04-12 Mike Stump <mrs@apple.com>
2295
2296 * configure: Regenerate.
2297
2b37e3d5
ZW
22982005-03-21 Zack Weinberg <zack@codesourcery.com>
2299
2300 * Makefile.in: Set gcc_version here.
2301 * configure.ac: Do not invoke TL_AC_GCC_VERSION. Adjust quoting
2302 in definition of toolexeclibdir so that $(gcc_version) is expanded
2303 by the Makefile.
2304 * aclocal.m4, configure: Regenerate.
2305
e59ef543
DA
23062005-03-03 David Ayers <d.ayers@inode.at>
2307
2308 * objc/hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated
2309 version reference. Correct typo.
2310
270a1283
DA
23112005-03-02 David Ayers <d.ayers@inode.at>
2312
2313 PR libobjc/19024
2314 * Makefile.in (OBJS): Add hash_compat.lo.
2315 (OBJS_GC): Add hash_compat_gc.lo.
2316 (hash_compat_gc.lo): New target and rule.
2317 * objc/hash.h (hash_new, hash_delete, hash_add, hash_remove)
2318 (hash_next, hash_value_for_key, hash_is_key_in_hash)
2319 (hash_ptr, hash_string, compare_ptrs, compare_strings): Prefix
2320 with objc_. Add deprecated non prefixed inlined versions.
2321 (OBJC_IGNORE_DEPRECATED_API): New macro to hide deprecated
2322 declarations.
2323 * hash.c (hash_new, hash_delete, hash_add, hash_remove, hash_next)
2324 (hash_value_for_key, hash_is_key_in_hash): Prefix with objc_ and
2325 update callers.
2326 * hash_compat.c: New file.
2327 * archive.c: Update callers.
2328 * init.c: Likewise.
2329 * selector.c: Likewise.
2330 * libobjc.def: Add objc_ versions of hash functions.
2331
6886e18e
AP
23322005-02-28 Andrew Pinski <pinskia@physics.uc.edu>
2333
2334 PR libobjc/20252
2335 * Makefile.in (GTHREAD_FLAGS): Remove.
2336 (ALL_CFLAGS): Remove usage of GTHREAD_FLAGS.
2337 * thr-objc.c: Include config.h.
2338 * configure.ac: Instead of looking at GCC's makefile, figure out if
2339 GTHREAD_FLAGS should be defined by looking at the `thread model'
2340 of the current gcc.
2341 * configure: Regenerate.
2342 * config.h.in: Regenerate.
2343
215c351a
PB
23442005-02-28 Paolo Bonzini <bonzini@gnu.org>
2345
2346 PR bootstrap/17383
2347 * configure.ac: Call GCC_TOPLEV_SUBDIRS.
2348 (Determine CFLAGS for gthread): Use $host_subdir.
2349 * configure: Regenerate.
2350 * Makefile.in (host_subdir): New.
2351 (INCLUDES): Use it.
2352
63b6f9ea
AP
23532004-12-20 Andrew Pinski <pinskia@physics.uc.edu>
2354
2355 PR libobjc/12035
2356 * gc.c: Remove definition of LOGWL, modWORDSZ, and divWORDSZ since
def9360c
AP
2357 they are not used.
2358 Include limits.h and stdlib.h.
2359 Define BITS_PER_WORD.
63b6f9ea 2360
64cbe55e
AM
23612004-12-12 Alexander Malmberg <alexander@malmberg.org>
2362
2363 * selector.c (__objc_init_selector_tables): Add missing void to
2364 definition.
2365
afabd8e6
RS
23662004-12-02 Richard Sandiford <rsandifo@redhat.com>
2367
2368 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
2369 * configure, aclocal.m4: Regenerate.
2370
2539bffe
KC
23712004-11-29 Kelley Cook <kcook@gcc.gnu.org>
2372
2373 * configure: Regenerate for libtool change.
2374
767f726e
KC
23752004-11-25 Kelley Cook <kcook@gcc.gnu.org>
2376
2377 * configure: Regenerate for libtool reversion.
2378
2c92e90f
KC
23792004-11-24 Kelley Cook <kcook@gcc.gnu.org>
2380
2381 * configure: Regenerate for libtool change.
2382
2fc30700
KC
23832004-11-24 Kelley Cook <kcook@gcc.gnu.org>
2384
2385 * aclocal.m4, config.h.in: Regenerate.
2386
dd365157 23872004-10-08 Mike Stump <mrs@apple.com>
2b37e3d5 2388 Andrew Pinski <pinskia@physics.uc.edu>
dd365157
MS
2389
2390 * aclocal.m4: Rename to ...
2391 * acinclude.m4: here and also use m4_include instead of sinclude.
2392 * aclocal.m4: Regenerate.
2393 * configure: Regenerate.
2394 * configure.ac: Add AM_MAINTAINER_MODE and AM_PROG_CC_C_O.
5a59530d 2395 * Makefile.in (configure): Add @MAINT@ infront of configure.ac
dd365157 2396
8d488306
AP
23972004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2398
2399 * archive.c: Fix all the warnings about passing unsigned char*
2400 to char* and the other way too.
2401
049bc404
AP
24022004-09-16 Andrew Pinski <pinskia@physics.uc.edu>
2403
2404 PR libobjc/16448
2405 * exception.c: Include config.h
2406 (objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to
2407 SJLJ_EXCEPTIONS.
2408 * configure.ac: Find out what exception handling code we use.
2409 * configure: Regenerate.
2410 * config.h.in: New file, regenerate.
2411
45f17969
AP
24122004-09-16 Andrew Pinski <apinski@apple.com>
2413
2414 * encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.
2415
1506eac1
NN
24162004-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
2417
2418 * configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to
2419 ACX_NONCANONICAL_TARGET.
2420 * configure: Regenerate.
2421
f13bb199
ZL
24222004-08-13 Ziemowit Laski <zlaski@apple.com>
2423
2424 * objc/sarray.h: Hoist include of assert.h near the top of file,
2425 and mark the remainder of the file 'extern "C"'.
2426
9567d415
AP
24272004-08-13 Andrew Pinski <pinskia@physics.uc.edu>
2428
2429 * objc/Object.h: Move includes out of extern "C" blocks.
2430 * objc/encoding.h: Likewise.
2431 * objc/hash.h: Likewise.
2432 * objc/objc-api.h: Likewise.
2433 * objc/runtime.h: Likewise.
2434 * objc/sarray.h: Likewise.
2435 * objc/typedstream.h: Likewise.
2436
1a6213c3
ZL
24372004-08-12 Ziemowit Laski <zlaski@apple.com>
2438
2439 * objc/NXConstStr.h: Update copyright date; bracket with
2440 'extern "C"' for C++ use; make include syntax consistent
2441 by using <...> instead of "..."; hoist <objc/...> includes
2442 above the 'extern "C"' block.
2443 * objc/Object.h: Likewise.
2444 * objc/Protocol.h: Likewise.
2445 * objc/encoding.h: Likewise.
2446 * objc/hash.h: Likewise.
2447 * objc/runtime.h: Likewise.
2448 * objc/sarray.h: Likewise.
2449 * objc/thr.h: Likewise.
2450 * objc/typedstream.h: Likewise.
2451 * objc/objc-api.h: Add 'extern "C"' block for C++ use.
2452 (objc_static_instances): For C++ case, do away with
2453 zero-sized array.
2454 (objc_method): Hoist definition to file scope.
2455 (_objc_load_callback, _objc_object_alloc, class_get_class_method,
2b37e3d5 2456 class_get_instance_method, class_create_instance,
1a6213c3
ZL
2457 class_get_class_name, class_get_instance_size,
2458 class_get_meta_class, class_get_super_class, class_get_version,
2459 class_is_class, class_is_meta_class, class_set_version,
2460 class_get_gc_object_type, class_ivar_set_gcinvisible,
2461 get_imp): Rename 'class' parameter to '_class'.
2462 * objc/objc-list.h: Add 'extern "C"' block for C++ use.
2463 * objc/objc.h: Update copyright date.
2464 (arglist_t): Provide a union tag.
2465
bc012a44
AP
24662004-07-22 Andrew Pinski <pinskia@physics.uc.edu>
2467
2468 * thr.c (__objc_thread_detach_function): Do not mark as volatile
2469 but instead use the attribute noreturn.
2470
0cf61401
ZW
24712004-06-28 Zack Weinberg <zack@codesourcery.com>
2472
2473 * encoding.c: Rename target_flags with a #define to avoid
2474 conflict with a prior declaration.
2475
6f0aa5e1
AP
24762004-06-24 Andrew Pinski <apinski@apple.com>
2477
2478 * objc/encoding.h: Wrap the functions with extern "C" for C++
0cf61401 2479 mode.
6f0aa5e1
AP
2480 * objc/hash.h: Likewise.
2481 * objc/objc-api.h: Likewise.
2482 * objc/objc-list.h: Likewise.
2483 * objc/runtime.h: Likewise.
2484 * objc/sarray.h: Likewise.
2485 * objc/thr.h: Likewise.
2486 * objc/typedstream.h: Likewise.
2487
2488
e7ebc32a
NC
24892004-06-21 Nick Clifton <nickc@redhat.com>
2490
2491 * encoding.c (BITS_PER_UNIT): Define if a definition is not
2492 provided.
2493
5520b936
AM
24942004-06-20 Alexander Malmberg <alexander@malmberg.org>
2495
0cf61401
ZW
2496 * Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS).
2497 (exception_gc.lo): New.
2498 (OBJS_GC): Add exception_gc.lo.
2499
a776161b
RH
25002004-06-17 Richard Henderson <rth@redhat.com>
2501
2502 * exception.c: New file.
2503 * Makefile.in (exception.lo): New.
2504 (OBJS): Add it.
2505
da727eab
AP
25062004-06-14 Andrew Pinski <pinskia@physics.uc.edu>
2507
2508 * linking.m (_objcInit): New empty function
2509 for Darwin only.
2510
3f35ff6f
AP
25112004-06-11 Andrew Pinski <pinskia@physics.uc.edu>
2512
684c64bf
AP
2513 * configure.ac: Support --enable-shared=libobjc.
2514 * configure: Regenerate.
2515
3f35ff6f
AP
2516 PR libobjc/15901
2517 * configure.ac: Do not disable shared by default.
2518 * configure: Regenerate.
2519
1600b7d6
NP
25202004-06-03 Nicola Pero <n.pero@mi.flashnet.it>
2521
2522 * Protocol.m ([-isEqual:]): Small optimizations returning
2523 immediately if the argument is equal to self, and accessing
2524 the argument's name directly if it's a protocol.
2525
25262004-06-03 David Ayers <d.ayers@inode.at>
2527
2528 * Protocol.m ([-isEqual:]): Test the class of the argument.
2529
ff65de76
AP
25302004-05-25 Andrew Pinski <pinskia@physics.uc.edu>
2531
7d34a5a9
AP
2532 * configure.ac (includedir): Rename to ...
2533 (includedirname).
2534 * Makefile.in: s/includedir/includedirname/.
2535
ff65de76
AP
2536 PR target/11572
2537 * configure.ac (includedir): Set to "include"
2538 except for Darwin.
2539 (libext) Set to empty except for Darwin.
2540 * configure: Regenerate
2541 * Makefile.in: s/libobjc.la/libobjc$(libext).la/g.
2542 s/include/$(includedir)/g.
2543
54b2f310
DJ
25442004-05-25 Daniel Jacobowitz <drow@false.org>
2545
2546 * Makefile.in: Add .NOEXPORT.
2547
435317e2
AP
25482004-05-25 Andrew Pinski <pinskia@physics.uc.edu>
2549
2550 Merge from the libobjc-branch
2551 2004-02-09 Andrew Pinski <pinskia@physics.uc.edu>
0cf61401 2552
435317e2 2553 * Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.
0cf61401 2554
435317e2 2555 2004-02-03 Andrew Pinski <pinskia@physics.uc.edu>
0cf61401 2556
435317e2 2557 * Makefile.in (OBJC_H): Add objc-deps.h.
0cf61401 2558
435317e2 2559 2004-01-27 Nicola Pero <n.pero@mi.flashnet.it>
0cf61401 2560
435317e2
AP
2561 * Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
2562 ([-hash], [-isEqual:]): New methods.
0cf61401 2563
435317e2 2564 2004-01-27 Richard Frith-Macdonald <rfm@gnu.org>
0cf61401 2565
435317e2 2566 * sarray.c (sarray_free): Add a better comment.
0cf61401 2567
435317e2 2568 2004-01-27 Adam Fedor <fedor@gnu.org>
0cf61401 2569
435317e2
AP
2570 * hash.c (hash_add): Cast cachep to int.
2571 * selector.c (__sel_register_typed_name): Cast
2572 soffset_decode to int.
0cf61401 2573
435317e2 2574 2004-01-27 Alexander Malmberg <alexander@malmberg.org>
0cf61401 2575
435317e2
AP
2576 * selector.c: Rename register_selectors_from_list to
2577 __objc_register_selectors_from_list. Update caller.
2578 (__objc_register_selectors_from_list): Lock __objc_runtime_mutex
2579 while registering selectors. Use __sel_register_typed_name instead
2580 of sel_register_typed_name. Check for NULL method_name:s.
2581 (pool_alloc_selector): New function.
2582 (__sel_register_typed_name): Use pool_alloc_selector to allocate
2583 selector structures.
2584 * sendmsg.c (class_add_method_list): Use
2585 __objc_register_selectors_from_list.
2586 * objc/runtime.h: Add __objc_register_selectors_from_list.
0cf61401 2587
435317e2 2588 2004-01-25 Adam Fedor <fedor@gnu.org>
0cf61401
ZW
2589 Nicola Pero <n.pero@mi.flashnet.it>
2590 Andrew Pinski <pinskia@physics.uc.edu>
2591
435317e2
AP
2592 * objc/objc-decls.h: New file.
2593 * objc/objc-api.h (_objc_lookup_class): Mark as export.
2594 (_objc_load_callback): Likewise.
2595 (_objc_object_alloc): Likewise.
2596 (_objc_object_copy): Likewise.
2597 (_objc_object_dispose): Likewise.
0cf61401 2598
435317e2 2599 2004-01-25 Andrew Pinski <pinskia@physics.uc.edu>
0cf61401 2600
435317e2 2601 * archive.c: s/__inline__/inline
0cf61401
ZW
2602 * sendmsg.c: Likewise.
2603
435317e2
AP
2604 * encoding.c: Remove FIXME about the warning
2605 about unused variable.
2606 * sendmsg.c: Add a FIXME comment saying that
2607 this should be using libffi.
0cf61401 2608
435317e2 2609 * Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.
0cf61401 2610
435317e2 2611
755bddc8
AP
26122004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
2613
2614 * archive.c (objc_read_class): Initialize class_name.
2615 (objc_read_selector): Initialize selector_name.
2616
eb01299a
RS
26172004-05-09 Richard Sandiford <rsandifo@redhat.com>
2618
2619 * Makefile.in (toolexecdir): Remove trailing space.
2620
db7f3c69
NN
26212004-04-15 Nathanael Nerode <neroden@gcc.gnu.org>
2622
2623 PR libobjc/14948
2624 * configure.ac: De-precious CC so multilibs work.
2625 * configure: Regenerate.
2626
a42a57cb
NN
26272004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
2628
2629 * configure.ac: Restore toolexecdir.
2630 * Makefile.in: Restore toolexecdir.
2631 * configure: Regenerate.
2632
9c01f395
NN
26332004-04-09 Nathanael Nerode <neroden@gcc.gnu.org>
2634
d770b996
NN
2635 * configure.ac: Remove (unused) glibcpp_prefixdir.
2636 * configure: Regenerate.
2637
3adc31d1
NN
2638 * configure.in: Rename to configure.ac.
2639 * Makefile.in: Update to match.
2640
608e1e0c
NN
2641 * Makefile.in: Remove toolexecdir, glibcpp_toolexecdir (unused).
2642 Replace glibcpp_toolexeclibdir with toolexeclibdir.
2643 * configure.in: Remove glibcpp_toolexecdir (unused).
2644 Replace glibcpp_toolexeclibdir with toolexeclibdir. Don't generate
2645 config.h or stamp-h (unused). Move one comment to the right place.
2646 * configure: Regenerate.
2647 * config.h.in: Remove (unused).
2648
88b16960
NN
2649 * config.h.in: Regenerate with autoheader.
2650
af0c82b3
NN
2651 * Makefile.in: Remove (unused) gcc_version_trigger.
2652 * configure.in: Remove (unused) glibcpp_builddir. Don't AC_SUBST
2653 gcc_version_trigger.
2654 * configure: Regenerate.
2655
252dde64
NN
2656 * configure.in: Switch to modern style for AC_INIT, AC_OUTPUT.
2657 Sort file into sections. Remove dnl where appropriate. Fix
2658 other style issues.
2659 * configure: Regenerate.
2660
88386050
NN
2661 * configure.in: Replace old AC_PROG_CC hack with new one.
2662 Define toplevel_srcdir in terms of srcdir, not top_srcdir (there
2663 are no subdirectory output files, so this is fine). Change prereq
2664 to autoconf 2.59.
2665 * aclocal.m4: Include ../config/no-executables.m4.
2666 * configure: Regenerate with autoconf 2.59.
2667
b43e7294
NN
2668 * configure.in: Improve comments on gthread_cflags. Improve m4
2669 quotation, and replace 'if test' with 'case', for --enable-objc-gc.
2670 * configure: Regenerate.
2671
1fcfac98
NN
2672 * configure.in: Move PACKAGE and VERSION settings up top. Remove
2673 unused call to AC_PROG_LN_S. Default RANLIB to ':'. Remove
2674 redundant checks for values of RANLIB, AR, INSTALL.
2675 * configure: Regenerate.
2676
9c01f395
NN
2677 * configure.in: Clean up handling of
2678 --enable-version-specific-runtime-libs and related variables;
2679 replace 'if test' with 'case' where reasonable. Fix comments.
2680 Remove useless libstdcxx_interface.
2681 * configure: Regenerate.
2682
2683 * configure.in: Use _GCC_TOPLEV_NONCANONICAL_TARGET.
2684 Replace uses of target_alias with target_noncanonical.
2685 * aclocal.m4: Include ../config/acx.m4.
2686 * configure: Regenerate.
2687 * Makefile.in: Replace uses of target_alias with target_noncanonical.
2688 Fix copyright statement.
2689
2690 * configure.in: Hand-inline bulky, confusing macros from
2691 aclocal.m4. Replace references to "GNU Objective C" with "GCC".
2692 Update copyright notice. Remove stuff for automake, which isn't
2693 used in this directory. Remove emacs local variables.
2694 * aclocal.m4: Remove hand-inlined macros. Update copyright notice.
2695 * configure: Regenerate.
2696
1adc3fec
MH
26972004-03-16 Manfred Hollstein <mh@suse.com>
2698
2699 * Makefile.in, configure.in, configure: Update copyright years.
2700
68a1af87
MH
27012004-03-15 Manfred Hollstein <mh@suse.com>
2702
2703 * Makefile.in (LIBOBJC_VERSION, LIBOBJC_GC_VERSION): Use
2704 definition from configure.in.
2705 * configure.in (PACKAGE): Add definition.
2706 (VERSION): Add definition; substitute it in output files.
2707 * configure: Re-generate.
2708
d5e63fce
ZL
27092004-03-05 Ziemowit Laski <zlaski@apple.com>
2710
2711 * objc/hash.h (hash_string, compare_strings):
2712 Add type-casts to make Objective-C++ happy.
2713 * objc/typedstream.h (objc_get_stream_class_version):
2714 Rename parameter from 'class' to 'class_name' to make
2715 Objective-C++ happy.
2716
8f8cdf33
MM
27172004-03-01 Michael Matz <matz@suse.de>
2718
2719 * Makefile.in (ALL_CFLAGS): Add -fno-strict-aliasing.
2720
25fe8680
ZL
27212004-02-06 Ziemowit Laski <zlaski@apple.com>
2722
2723 * objc/objc-api.h (objc_super): The 'class' field shall
2724 be named 'super_class' #ifdef __cplusplus.
2725
95727fb8
AP
27262004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
2727
2728 PR target/10781
2729 * encoding.c (rs6000_special_round_type_align): Define.
2730
5af0e6ae
AF
27312004-01-14 Adam Fedor <fedor@gnu.org>
2732
2733 PR libobjc/12155
2734 * selector.c (__objc_register_instance_methods_to_class): Free
2735 new_list if not used.
2736
b39f1868
AR
27372004-01-09 Andrew Ruder <aeruder@ksu.edu>
2738
2739 PR libobjc/11904
2740 * sarray.c (sarray_free): Free array->is_copy_of latter.
2741
75d3baee
ZW
27422003-12-01 Zack Weinberg <zack@codesourcery.com>
2743
2744 PR 11433
2745 * Protocol.m (descriptionForInstanceMethod): Don't dereference
2746 instance_methods if it's NULL.
2747 (descriptionForClassMethod): Likewise for class_methods.
2748
7989e4dc
RO
27492003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2750
2751 * Makefile.in (runtime-info.h): Remove -Wp.
2752
54b98a47
RO
27532003-10-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2754
2755 * Makefile.in (CC1OBJ): Remove.
2756 (runtime-info.h): Invoke $(CC) so all MULTIFLAGS are handled
2757 correctly.
2758 Use .m extension for temporary file.
2759 Remove assembler temp file.
2760
beca20d2
JM
27612003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2762
2763 * objc/hash.h (hash_string): Don't use a cast as an lvalue.
2764
05dcec66
RO
27652003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2766
2767 * Makefile.in (runtime-info.h): Use MULTIFLAGS.
2768
e517f636
AM
27692003-09-09 Alan Modra <amodra@bigpond.net.au>
2770
2771 * configure: Regenerate.
2772
45dff86e
AM
27732003-08-27 Alexander Malmberg <alexander@malmberg.org>
2774
2775 * Makefile.in, aclocal.m4: Update to $(libdir)/gcc/ instead of
2776 (libdir)/gcc-lib/ when installing.
2777 * configure: Regenerate.
2778
c19f8e35
NP
2779Thu Jul 10 10:27:43 2003 Nicola Pero <n.pero@mi.flashnet.it>
2780
2781 libobjc/9969
2782 * sendmsg.c (get_imp): Fixed rare threading problem.
2783 (__objc_responds_to): Similar fixes.
2784 (objc_msg_lookup): Similar fixes.
2785 (__objc_init_install_dtable): Lock the runtime before checking if the
2786 table is installed.
75d3baee 2787
6c82ad25
NN
27882003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
2789
38709cad
NN
2790 * hash.c, init.c, libobjc.def, libobjc_entry.c, linking.m,
2791 makefile.dos, misc.c, nil_method.c, objects.c, sarray.c,
2792 selector.c, sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c,
2793 thr-mach.c, thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c,
75d3baee 2794 thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c,
38709cad 2795 thr-win32.c, thr.c: Replace "GNU CC" with "GCC".
6c82ad25
NN
2796 * Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
2797 class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
2798 objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h,
2799 objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h,
2800 objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".
2801
e083f3f9 2802Tue May 13 14:56:03 2003 Richard Frith-Macdonald <rfm@gnu.org>
75d3baee 2803 Nicola Pero <n.pero@mi.flashnet.it>
e083f3f9
RFM
2804
2805 libobjc/10742
2806 * init.c (class_superclass_of_class): New function.
2807 (create_tree_of_subclasses_inherited_from): Use it.
2808 (__objc_tree_insert_class): Likewise.
2809 (class_is_subclass_of_class): Likewise.
75d3baee 2810
0b87e18e
DC
28112003-04-11 David Chad <davidc@freebsd.org>
2812 Loren J. Rittle <ljrittle@acm.org>
2813
2814 libobjc/8562
2815 * objc/hash.h (hash_string): Constify correctly.
2816 (compare_ptrs): Use direct compare.
2817 * objc/objc-list.h (list_nth): Rename index to indx to avoid shadow.
2818 * objc/sarray.h: Global rename index to indx to avoid shadow.
2819
ff8b9ca8
AS
28202003-03-12 Andreas Schwab <schwab@suse.de>
2821
2822 * aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
2823 glibcpp_toolexeclibdir.
2824 * configure: Rebuilt.
2825
3343fdd2
AO
28262003-02-20 Alexandre Oliva <aoliva@redhat.com>
2827
2828 * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
2829 config.status.
2830 * configure: Rebuilt.
2831
c5e3e1ed
AO
28322003-01-27 Alexandre Oliva <aoliva@redhat.com>
2833
2834 * aclocal.m4 (glibcpp_toolexeclibdir): Instead of
2835 $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
2836 version_specific_libs is enabled.
2837 * configure: Rebuilt.
2838
90e5b39f
CC
28392003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
2840
2841 * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
2842 (install-libs, install-headers): Prepend $(DESTDIR) to
2843 destination paths in all (un)installation commands.
2844
4977bab6
ZW
28452002-12-02 Zack Weinberg <zack@codesourcery.com>
2846
2847 * thr-objc.c: Include coretypes.h and tm.h.
2848
28492002-12-01 Zack Weinberg <zack@codesourcery.com>
2850
2851 * encoding.c, sendmsg.c: Include coretypes.h and tm.h.
2852
28532002-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
2854
2855 * configure.in: Remove skip-this-dir support.
2856 * configure: Regenerate.
2857
6c5d742e
KG
28582002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2859
2860 * Makefile.in (all): Fix multilib parallel build.
2861
c2a68741
NP
2862Thu Sep 12 12:44:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
2863
2864 * sendmsg.c (nil_method): Declare not to take a variable number of
2865 args.
2866 (objc_msg_lookup): Cast nil_method to IMP before returning it.
2867 (objc_msg_lookup_super): The same.
2868
edf4d41e
JH
28692002-09-10 Jan Hubicka <jh@suse.cz>
2870
65a8189e
AJ
2871 * nil_method.c (nil_method): No longer defined with variable
2872 arguments.
edf4d41e 2873
40165636
RB
28742002-07-02 Rodney Brown <rbrown64@csc.com.au>
2875
2876 * objc/encoding.h: Fix formatting.
2877 * objc/hash.h: Likewise.
2878 * objc/objc-api.h: Likewise.
2879 * objc/runtime.h: Likewise.
2880 * objc/thr.h: Likewise.
2881 * archive.c: Likewise.
2882 * class.c: Likewise.
2883 * encoding.c: Likewise.
2884 * gc.c: Likewise.
2885 * hash.c: Likewise.
2886 * init.c: Likewise.
2887 * misc.c: Likewise.
2888 * nil_method.c: Likewise.
2889 * objects.c: Likewise.
2890 * sarray.c: Likewise.
2891 * selector.c: Likewise.
2892 * sendmsg.c: Likewise.
2893 * thr-mach.c: Likewise.
2894 * thr.c: Likewise.
2895
aebb8c22
DD
28962002-06-25 DJ Delorie <dj@redhat.com>
2897
2898 * aclocal.m4 (GLIBCPP_CONFIGURE): Split out
2899 GLIBCPP_TOPREL_CONFIGURE.
2900 * configure.in: Call it before AC_CANONICAL_SYSTEM.
2901 * configure: Regenerate.
2902
b62cc13a
KG
29032002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2904
2905 * Object.m (forward, read, write): Fix unused parameter warnings.
2906 * encoding.c: Include <stdlib.h>.
2907 (target_flags): Mark with attribute unused.
2908 (atoi): Delete.
2909 * runtime.h (__objc_selector_max_index): Change to unsigned int.
2910 (__objc_generate_gc_type_description): Prototype.
2911 * selector.c (__objc_selector_max_index): Change to unsigned int.
2912
10cb24df
NP
2913Mon Jun 17 18:37:42 2002 Nicola Pero <n.pero@mi.flashnet.it>
2914
2915 * sendmsg.c (__objc_get_forward_imp): Fix warning by making sure
2916 we always have a return value: if __objc_msg_forward does not
2917 supply a forwarding implementation, return the default
2918 __builtin_apply based one.
2919
8f8c44cb
KG
29202002-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2921
2922 * Object.m: Fix signed/unsigned warning.
2923 * Protocol.m: Likewise.
2924 * archive.c: Always include stdlib.h.
2925 (objc_read_short, objc_read_unsigned_short, objc_read_int,
2926 objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong):
2927 Fix signed/unsigned warning.
2928 (objc_write_type, objc_read_type, objc_write_types,
2929 objc_read_types): Ensure ctype 8-bit safety.
2930 (__objc_no_write, __objc_no_read): Mark unused parameters.
2931 * class.c (class_table_setup): Specify void arg.
2932 * encoding.c (atoi, objc_sizeof_type, objc_alignof_type,
2933 objc_skip_typespec, objc_skip_offset,
2934 objc_layout_structure_next_member): Ensure ctype 8-bit safety.
2935 (objc_layout_structure_next_member): Ensure variables are
2936 initialized.
2937 * gc.c (__objc_generate_gc_type_description,
2938 class_ivar_set_gcinvisible): Mark unused parameters.
2939 * init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark
2940 unused parameters.
2941 (__objc_init_protocols) Fix signed/unsigned warning.
2942 * nil_method.c (nil_method): Mark unused parameters.
2943 * thr.h (objc_thread_callback): Specify void arg.
2944 * sarray.c (sarray_new, sarray_realloc, sarray_free): Fix
2945 signed/unsigned warning.
2946 (sarray_free): Fix formatting.
2947 * selector.c (sel_types_match): Ensure ctype 8-bit safety.
2948 * sendmsg.c (__objc_init_install_dtable) Mark unused parameters.
2949
42bac116
AJ
29502002-06-09 Andreas Jaeger <aj@suse.de>
2951
2952 * encoding.c (objc_layout_structure_next_member): Remove unused
2953 variable.
2954
9aa338ec
KG
29552002-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2956
2957 * Makefile.in (SHELL): Set to @SHELL@.
2958 (WARN_CFLAGS): New.
2959 (ALL_CFLAGS): Add $(WARN_CFLAGS).
2960
1e6347d8
RO
29612002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2962
2963 * aclocal.m4: Allow for PWDCMD to override hardcoded pwd.
2964 * configure: Regenerate.
2965
6706f116
AO
29662002-05-08 Alexandre Oliva <aoliva@redhat.com>
2967
2968 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
2969 script entry, and set LD to it when configuring multilibs.
2970 * configure: Rebuilt.
2971
d0d091ae
DB
29722002-04-19 David O'Brien <obrien@FreeBSD.org>
2973
2974 * encoding.c (MAX, MIN, ROUNDING): #undef before defining.
2975
ed426a38 29762002-04-09 Hans-Peter Nilsson <hp@bitrange.com>
0bd9dd55
HPN
2977
2978 PR objc/6107
2979 * objc/objc-api.h (struct objc_protocol_list): Change type of
2980 member count from int to size_t.
2981
b150efee
FS
29822002-02-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2983
2984 PR libobjc/4039
2985 * aclocal.m4: Replace with version copied from libstdc++-v3.
2986 * configure.in: Update for changes to aclocal and Makefile.
2987 * configure: Regenerate.
2988 * Makefile.in: Correct install of multilibs and shared libs, use
2989 INSTALL_DATA for include files.
2990
e5e0f6f5
NP
2991Mon Dec 17 17:02:12 2001 Nicola Pero <nicola@brainstorm.co.uk>
2992
2993 * init.c (__objc_exec_class): Fixed bug in the loop on unclaimed
2994 categories - when an unclaimed category was found, the loop was
2995 doing two steps forward instead of one, so that in certain cases
2996 it was failing to properly load all the categories. (Reported
2997 with fix by Alexander Malmberg <alexander@malmberg.org>).
2998
d5114db1
AH
29992001-11-14 Aldy Hernandez <aldyh@redhat.com>
3000
4977bab6 3001 * encoding.c: Add target_flags.
d5114db1 3002
f4fdaeda
AH
30032001-11-07 Aldy Hernandez <aldyh@redhat.com>
3004
3005 * objc/objc-api.h (_C_VECTOR): New.
3006
3007 * encoding.c (VECTOR_TYPE): New.
3008
26e51caa
NP
3009Mon Oct 29 21:29:21 2001 Nicola Pero <n.pero@mi.flashnet.it>
3010
3011 * class.c: Rewritten the class table to use optimized, lock-free
4977bab6
ZW
3012 lookup. This more than doubles the speed of class method
3013 invocations. (class_table_setup), (class_table_insert),
3014 (class_table_replace), (class_table_get_safe),
3015 (class_table_next), (class_table_print),
3016 (class_table_print_histogram): New functions.
3017 (__objc_init_class_tables): Use class_table_setup.
3018 (__objc_add_class_to_hash): Use class_table_get_safe and
3019 class_table_insert. (objc_lookup_class), (objc_get_class): Do not
3020 assert the existence of the table; do not lock the runtime; use
3021 class_table_get_safe. (objc_next_class): Use class_table_next.
3022 (__objc_resolve_class_links): Use class_table_next.
3023 (class_pose_as): Use class_table_replace.
26e51caa 3024
71a18acf
OP
30252001-09-10 Ovidiu Predescu <ovidiu@cup.hp.com>
3026
3027 * gc.c: Removed the DEBUG declaration.
3028
5f1ecf82
NP
3029Wed Jul 18 12:48:56 2001 Nicola Pero <n.pero@mi.flashnet.it>
3030
3031 * thr.c (objc_mutex_lock): Invoke __objc_thread_id directly,
3032 rather than through objc_thread_id, to save a function call.
3033 (objc_mutex_trylock, objc_mutex_unlock, objc_condition_wait):
3034 Ditto.
3035
42d28de5
NP
3036Mon Jul 16 12:15:00 2001 Nicola Pero <n.pero@mi.flashnet.it>
3037
3038 * objc/objc-api.h (object_is_class): Fixed - buggy code was trying
3039 to cast an id to a Class, which can not be done. Make the check
3040 by using CLS_ISMETA on the class pointer instead.
3041 (object_is_meta_class): Similar fix.
3042
4173be7f
AO
30432001-06-09 Alexandre Oliva <aoliva@redhat.com>, Stephen L Moshier <moshier@mediaone.net>
3044
3045 * configure.in (AC_EXEEXT): Work around in case it expands to
3046 nothing, as in autoconf 2.50.
3047 * acinclude.m4: Likewise.
3048 * configure: Rebuilt.
3049
27132e64
NP
30502001-06-08 Nicola Pero <n.pero@mi.flashnet.it>
3051
3052 * THREADS: Explain that when we compile libobjc inside GCC, we
3053 always use thr-objc.c as a backend, which uses GCC's thread code.
3054
e6be21fe
RFM
30552001-06-06 Richard Frith-Macdonald <rrfm@gnu.org>
3056
3057 * init.c (__objc_send_message_in_list): When setting a new entry
3058 in __objc_load_methods use the method IMP as key, but check to see
3059 if the method is in the hashtable by looking at the IMP also.
3060 Also ... call the method after adding it to the hashtable rather
3061 than before ... thus preventing an obscure possibility of infinite
3062 recursion if a +load method itself loads a subclass.
3063
12e01066
OP
30642001-05-25 Ovidiu Predescu <ovidiu@cup.hp.com>
3065
3066 * init.c (__objc_send_message_in_list): When setting a new entry
3067 in __objc_load_methods use the method name as key, not the method
3068 IMP (reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>).
3069
10c179f3
JM
30702001-05-09 Joseph S. Myers <jsm28@cam.ac.uk>
3071
3072 * objc-features.texi: Move to ../gcc/objc.texi.
3073 * fdl.texi: Remove.
3074 * Makefile.in: Don't generate documentation from
3075 objc-features.texi.
3076
bcecb0b0
MM
30772001-05-01 Mark Mitchell <mark@codesourcery.com>
3078
3079 * fdl.texi: New file.
3080 * objc-features.texi: Simplify.
3081 * Makefile.in: Adjust accordingly.
3082
c3aac512
MM
30832001-04-30 Mark Mitchell <mark@codesourcery.com>
3084
3085 * objc-features.texi: Use the GFDL.
3086
49073def
JW
3087Wed Mar 21 04:44:58 EST 2001 John Wehle (john@feith.com)
3088
3089 * encoding.c (REAL_TYPE): Define.
3090
120d59bf
DE
30912001-03-19 David Edelsohn <edelsohn@gnu.org>
3092
3093 * encoding.c (TYPE_MODE): Define.
3094
b894530e
NP
30952001-03-14 Nicola Pero <n.pero@mi.flashnet.it>
3096
3097 * thr.c (objc_thread_add): New function.
3098 (objc_thread_remove): Ditto.
3099 * objc/thr.h: Declare them.
3100 * libobjc.def: Mention them.
3101
11014a3b
OP
31022001-02-28 Ovidiu Predescu <ovidiu@cup.hp.com>
3103
3104 * objc-features.texi: Document the @compatibility_alias compiler
3105 directive (description from Nicola Pero <n.pero@mi.flashnet.it>).
3106
a79ffa5a
RO
3107Fri Feb 23 18:12:00 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3108
3109 * sendmsg.c (__objc_forward): Delete strlen() declaration.
3110
7c6b0e92
GK
31112001-02-08 Geoffrey Keating <geoffk@redhat.com>
3112
3113 * configure.in: Don't run AC_PROG_CC_WORKS or AC_EXEEXT, because
3114 we're not interested in the result and they might fail.
3115 * configure: Regenerated.
3116
01d9cb8b
JM
31172001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
3118
3119 * objc-features.texi: Use @email.
3120
0fc39d8a
JM
31212001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
3122
3123 * sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside
3124 printf.
3125
919ee051
RE
31262000-01-11 Richard Earnshaw <rearnsha@arm.com>
3127
3128 * encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that
3129 determines the value dynamically.
3130
1104c18d
OP
3131Wed Jan 3 00:49:10 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
3132
3133 * sendmsg.c: Added __objc_msg_forward, a hook that allows external
3134 libraries to provide a function that returns the real forwarding
3135 function. This can alleviate problems __builtin_apply() and
3136 friends have on various platforms. (Solution suggested by Helge
3137 Hess.)
42bac116 3138
1104c18d
OP
3139 * objc/objc-api.h: Define __objc_msg_forward.
3140
3141 * sendmsg.c: Define gen_rtx_REG.
3142
68c9c61a
RC
31432000-12-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3144
42bac116 3145 * thr-rtems.c: New file. Stub to compile.
68c9c61a 3146
6d93bca4
AO
31472000-09-06 Alexandre Oliva <aoliva@redhat.com>
3148
3149 * configure: Rebuilt with new libtool.m4.
3150
9d10fcf9
OP
3151Tue Aug 15 00:38:56 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
3152
3153 * configure.in: Create a config.h file. Check for <sched.h>.
3154 * configure: Regenerate.
3155
3156 * config.h.in: Check for <sched.h>.
3157
57119aa9
ZW
31582000-08-14 Zack Weinberg <zack@wolery.cumb.org>
3159
3160 * configure: Regenerate after change to ../libtool.m4.
3161
b310e725
AS
31622000-08-14 Andreas Schwab <schwab@suse.de>
3163
3164 * objc-features.texi (Top): Move @menu at end of node.
3165
82fbe835
MH
31662000-08-11 Manfred Hollstein <manfredh@redhat.com>
3167
3168 * objc-features.texi: Move @node Top before @menu.
3169
b3dc253f
OP
3170Sun Aug 6 23:27:49 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
3171
3172 * objc-features.texi: Documented the new -fconstant-string-class
3173 option.
3174
9bc3876e
OP
3175Sun Aug 6 22:51:16 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
3176
3177 * thr-posix.c: Integrated Chris Ball's <cball@fmco.com> changes to
3178 improve the Posix thread support for Objective-C.
3179
8cab40f7
ZW
31802000-08-04 Zack Weinberg <zack@wolery.cumb.org>
3181
3182 * aclocal.m4: Replace copy of ../libtool.m4 with
3183 sinclude(../libtool.m4).
3184
c161c99b
NP
3185Fri Jul 28 08:58:02 2000 Nicola Pero <nicola@brainstorm.co.uk>
3186
42bac116 3187 * configure.in: Added libtool support; build shared libraries
c161c99b
NP
3188 if --enable-shared was passed on command line.
3189 * Makefile.in: Modified most compilation commands to use libtool.
3190 * aclocal.m4: New symbolic link to the ../libtool.m4, from the
3191 libtool distribution.
3192
9c14a607
OP
3193Sat Jul 29 00:10:21 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
3194
3195 * sarray.c, Object.m: Removed the explicit prototypes for strlen
3196 and memcpy on 64-bit platforms (Suggested by Rodney Brown
3197 <rdb@cup.hp.com>).
3198
15794a95
L
31992000-05-12 H.J. Lu (hjl@gnu.org)
3200
3201 * Makefile.in (GTHREAD_FLAGS): New.
3202 (ALL_CFLAGS): Add $(GTHREAD_FLAGS).
3203 (OBJC_THREAD_FILE): Changed to thr-objc.
3204
3205 * configure.in (GTHREAD_FLAGS): New, check and replace it for
3206 Makefile.
3207 (OBJC_THREAD_FILE): Removed.
3208
3209 * thr-objc.c: New.
3210
8dd8d754
KG
32112000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3212
3213 * objc/hash.h: Include string.h.
3214
39b48e02
DE
32152000-04-15 David Edelsohn <edelsohn@gnu.org>
3216
3217 * Object.m (strlen): 64-bit PowerPC is a 64bit platform as well.
3218
bcdb1106
JJ
32192000-04-12 Jakub Jelinek <jakub@redhat.com>
3220
3221 * Object.m (strlen): Provide prototype on all 64bit platforms,
3222 not only alpha.
3223 * sarray.c (memcpy): Likewise.
3224 * encoding.c (objc_layout_finish_structure): Don't use
3225 ROUND_TYPE_ALIGN on sparc.
3226
35f10998
JJ
3227 * encoding.c (objc_layout_structure_next_member): Do the whole
3228 procedure even for the first member, so that we get correct
3229 alignment.
3230
2e3120e8
ZW
32312000-03-29 Zack Weinberg <zack@wolery.cumb.org>
3232
3233 * objc/Protocol.h, objc/objc-list.h: Change #endif labels to
3234 comments.
3235
6fc605d8
ZW
32362000-02-23 Zack Weinberg <zack@wolery.cumb.org>
3237
3238 * Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS.
3239
224a6bca
CB
3240Thu Sep 23 07:19:12 1999 Chris Ball <cball@fmco.com>
3241
3242 * thr-posix.c (__objc_mutex_deallocate): made deallocate work.
3243
e36e6e02
JL
3244Tue Sep 21 07:47:10 1999 Jeffrey A Law (law@cygnus.com)
3245
3246 * Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to
3247 the compiler when building C code.
42bac116 3248
76632dd0
DJ
3249Fri Aug 6 23:32:29 1999 Daniel Jacobowitz <drow@drow.them.org>
3250
3251 * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
3252 libdir, libsubdir and tooldir.
3253
6000b42b
JDA
3254Mon Jun 21 05:40:15 1999 John David Anglin <dave@hiauly1>
3255
3256 * init.c (__objc_force_linking): Make global.
3257
6de94858
JL
3258Thu May 20 03:20:59 1999 Jeffrey A Law (law@cygnus.com)
3259
3260 * configure.in (AC_EXEEXT): Remove call.
3261 (compiler_name): Explicitly check with no extension and .exe
3262 extension.
3263 * configure: Regenerate.
3264
7af06410
MK
3265Sun Apr 25 01:15:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
3266
3267 * Makefile.in (CC1OBJ): Define in terms of CC.
3268 (runtime-info.h): Use.
3269
09608fa2
OP
3270Fri April 8 08:21:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3271
3272 * objc-features.texi: Updated the URL to Boehm's GC page.
3273
56d654e4
OP
3274Fri Mar 26 23:41:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3275
3276 * archive.c (__objc_code_char, __objc_write_char): Explicitly specify
3277 the char as being signed (patch from Daniel Jacobowitz
3278 <drow@false.org>).
3279
e33abc2d
MK
3280Wed Mar 24 22:41:28 1999 Mumit Khan <khan@xraylith.wisc.edu>
3281
3282 * configure.in (AC_PREREQ): Update to 2.13.
3283 (AC_EXEEXT): Call to find possible file extension.
3284 (compiler_name): Use.
3285 * configure: Regenerate.
3286
ab87f8c8
JL
3287Wed Jan 27 02:31:01 1999 Jeffrey A Law (law@cygnus.com)
3288
3289 * Makefile.in (ALL_CFLAGS): Add -DIN_GCC.
3290
79014e6f
JL
3291Tue Jan 5 01:38:53 1999 Jeffrey A Law (law@cygnus.com)
3292
3293 * configure.in (thread_file): Correct and simplify code to find
3294 the thread file.
3295 * configure: Rebuilt.
3296
71205e0b
MH
32971998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
3298
3299 * configure.in (compiler_name): Add check to detect if this
3300 language's compiler has been built.
3301 * configure: Regenerate.
3302
223a8848
KG
3303Mon Nov 23 16:50:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3304
3305 * configure.in: Use AC_PREREQ(2.12.1).
3306
74285159
JL
3307Thu Nov 19 20:33:37 1998 Jeffrey A Law (law@cygnus.com)
3308
3309 * Makefile.in (runtime-info.h): Avoid GNU make extensions.
3310
84beab38
KG
3311Sun Nov 8 17:46:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3312
3313 * Makefile.in (INCLUDES): Add -I$(srcdir)/$(MULTISRCTOP)../include.
3314
8a829fd9
KG
3315Thu Oct 22 14:34:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3316
3317 * configure.in: Use AC_CONFIG_AUX_DIR($topsrcdir).
3318
befb6d14
OP
3319Sat Oct 17 05:21:31 1998 Ovidiu Predescu <ovidiu@slip.net>
3320
3321 * objc-features.texi (Top): Changed the email address.
3322 * objc-features.texi (Garbage Collection): Use @uref instead of @url.
3323
3324Mon Oct 11 21:25:27 1998 Ovidiu Predescu <ovidiu@slip.net>
3325
3326 * encoding.c: Redefine get_inner_array_type to get the first entry
42bac116 3327 in the structure.
befb6d14 3328
1df287f8
RFM
3329Thu Oct 8 12:21:14 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
3330
3331 * encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
3332 (objc_get_type_qualifiers): Similarly.
3333 * objc/encoding.h (_C_BYREF): Define.
3334 (_F_BYREF): Define.
3335
07181a20
DM
33361998-10-07 David S. Miller <davem@pierdol.cobaltmicro.com>
3337
3338 * objc/sarray.h: Make boffset be an unsigned long when sparc so it
3339 works out on 64-bit systems.
3340
5e2f657b
AO
3341Tue Oct 6 20:32:06 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3342
ceff9b14 3343 * Makefile.in (INCLUDES): Make it multilib-friendly.
5e2f657b 3344
4afb3646
L
3345Fri Oct 2 07:12:14 1998 H.J. Lu (hjl@gnu.org)
3346
3347 * Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc.
3348
4102f627
RL
3349Thu Oct 1 22:33:03 1998 Robert Lipe <robertl@dgii.com>
3350 Jeffrey A Law (law@cygnus.com)
3351
3352 * Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
3353 (FLAGS_TO_PASS): Added.
3354 (runtime-info.h): Reference cc1ibj via $MULTIBUILDTOP.
3355
3356 * archive.c: Change config.h to tconfig.h.
3357
3358 * configure.in: Find gcc's object directory even for multilibs.
3359
3360Wed Sep 30 18:17:17 1998 Robert Lipe <robertl@dgii.com>
5ae4c799
RL
3361
3362 * configure.in: Escape ^ in grep string.
3363 * configure: Rebuilt.
3364
789eb4f5
JL
3365Wed Sep 30 09:14:52 1998 Jeffrey A Law (law@cygnus.com)
3366
3367 * All .h files pushed down into the objc/ subdirectory.
3368 * Makefile.in (copy_headers): Corresponding changes.
3369 * configure.in (AC_INIT): Corresponding changes.
3370 * configure: Rebuilt.
3371
bce1b489
BE
33721998-09-30 Ben Elliston <bje@cygnus.com>
3373 Jeff Law <law@cygnus.com>
3374
3375 * Makefile.in: Rewrite.
3376
3377 * configure.in: Likewise.
3378
3379 * configure: Regenerate.
3380
3381 * All .c files. Remove "objc" prefix when including objc header
3382 files. Include tconfig.h, not ../tconfig.h.
3383
2e5f02a3
OP
3384Mon Sep 21 23:27:10 1998 Ovidiu Predescu <ovidiu@slip.net>
3385
3386 * encoding.c (TREE_TYPE, ARRAY_TYPE): Define.
3387 (get_inner_array_type): Define.
3388
88e17b57
BE
33891998-09-21 Ben Elliston <bje@cygnus.com>
3390
3391 * New directory. Moved files from ../gcc/objc.