xref: /netbsd-src/external/gpl3/gcc/dist/libobjc/ChangeLog (revision 4724848cf0da353df257f730694b7882798e5daf)
12022-06-28  Release Manager
2
3	* GCC 10.4.0 released.
4
52021-04-08  Release Manager
6
7	* GCC 10.3.0 released.
8
92021-01-03  Iain Sandoe  <iain@sandoe.co.uk>
10	    Jakub Jelinek   <jakub@redhat.com>
11
12	PR target/97865
13	* configure: Regenerate.
14
152020-12-26  Iain Sandoe  <iain@sandoe.co.uk>
16
17	Backported from master:
18	2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
19
20	* encoding.c (_darwin_rs6000_special_round_type_align):
21	Use DFMode in the emulation of the special round type.
22
232020-07-23  Release Manager
24
25	* GCC 10.2.0 released.
26
272020-05-07  Release Manager
28
29	* GCC 10.1.0 released.
30
312020-02-12  Sandra Loosemore  <sandra@codesourcery.com>
32
33	PR libstdc++/79193
34	PR libstdc++/88999
35
36	* configure: Regenerated.
37
382020-01-24  Maciej W. Rozycki  <macro@wdc.com>
39
40	* Makefile.in (aclocal_deps): Add `toolexeclibdir.m4'.
41	* aclocal.m4: Include `toolexeclibdir.m4'.
42	* configure.ac: Handle `--with-toolexeclibdir='.
43	* configure: Regenerate.
44
452020-01-01  Andrew Pinski  <pinskia@gmail.com>
46
47	PR libobjc/93099
48	* objc/objc-decls.h (objc_EXPORT): Define it to
49	extern for DLL_EXPORT define case.
50
512020-01-01  Jakub Jelinek  <jakub@redhat.com>
52
53	Update copyright years.
54
552019-11-26  Tobias Burnus  <tobias@codesourcery.com>
56
57	* Makefile.in (aclocal_deps): Fix path to cet.m4.
58
592019-09-27  Maciej W. Rozycki  <macro@wdc.com>
60
61	* configure: Regenerate.
62
632019-04-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
64	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
65	    Jakub Jelinek  <jakub@redhat.com>
66
67	PR target/89093
68	* exception.c (PERSONALITY_FUNCTION): Add general-regs-only target
69	attribute for ARM.
70
712019-03-06  Uroš Bizjak  <ubizjak@gmail.com>
72
73	* encoding.c (DFmode): #undef before #define.
74
752019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
76
77	PR other/16615
78	* objc/runtime.h: Change "can not" to "cannot".
79
802019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
81
82	PR other/16615
83
84	* class.c: Mechanically replace "can not" with "cannot".
85	* objc/runtime.h: Likewise.
86	* sendmsg.c: Likewise.
87
882019-01-01  Jakub Jelinek  <jakub@redhat.com>
89
90	Update copyright years.
91
922018-10-31  Joseph Myers  <joseph@codesourcery.com>
93
94	PR bootstrap/82856
95	* configure.ac: Remove AC_PREREQ.
96	* aclocal.m4, config.h.in, configure: Regenerate.
97
982018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
99
100	* configure: Regenerated.
101
1022018-04-19  Jakub Jelinek  <jakub@redhat.com>
103
104	* configure: Regenerated.
105
1062018-04-18  David Malcolm  <dmalcolm@redhat.com>
107
108	PR jit/85384
109	* configure: Regenerate.
110
1112018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
112
113	PR target/84148
114	* configure: Regenerate.
115
1162018-01-03  Jakub Jelinek  <jakub@redhat.com>
117
118	Update copyright years.
119
1202017-11-23  Tom de Vries  <tom@codesourcery.com>
121
122	* class.c (CLASS_TABLE_HASH): Wrap in "do {} while (0)".
123
1242017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
125
126	* Makefile.in: Regenerate.
127	* aclocal.m4: Likeiwse.
128	* configure: Likewise.
129	* configure.ac: Set CET_FLAGS. Update XCFLAGS.
130
1312017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
132	    Alan Hayward  <alan.hayward@arm.com>
133	    David Sherwood  <david.sherwood@arm.com>
134
135	* encoding.c (_darwin_rs6000_special_round_type_align): Prefix mode
136	names with E_ in case statements.
137
1382017-02-07  Richard Biener  <rguenther@suse.de>
139
140	PR tree-optimization/79256
141	PR middle-end/79278
142	* encoding.c (objc_layout_structure_next_member): Adjust
143	ADJUST_FIELD_ALIGN usage.
144
1452017-01-18  Matthias Klose  <doko@ubuntu.com>
146
147	PR libobjc/78697
148	* configure.ac: Allow default for --with-target-bdw-gc-include.
149	* configure: Regenerate.
150
151	PR libobjc/78698
152	* configure.ac: Use the libgc.la file when available.
153	* configure: Regenerate.
154
1552017-01-17  Jakub Jelinek  <jakub@redhat.com>
156
157	PR other/79046
158	* configure: Regenerated.
159	* configure.ac: Add GCC_BASE_VER.
160	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
161	get version from BASE-VER file.
162	* configure: Regenerated.
163
1642017-01-01  Jakub Jelinek  <jakub@redhat.com>
165
166	Update copyright years.
167
1682016-12-01  Matthias Klose  <doko@ubuntu.com>
169
170	* configure.ac: Don't use pkg-config to check for bdw-gc.
171	* configure: Regenerate.
172
1732016-11-30  Matthias Klose  <doko@ubuntu.com>
174
175	* configure.ac: Set BDW_GC_CFLAGS and BDW_GC_LIBS after checking
176	for the existence of the pkg-config modules.
177	* Regenerate.
178
1792016-11-30  Jakub Jelinek  <jakub@redhat.com>
180
181	* configure.ac (--enable-objc-gc): If not given, default to
182	enable_objc_gc=no.
183	* configure: Regenerated.
184
1852016-11-30  Matthias Klose  <doko@ubuntu.com>
186
187	* configure.ac (--enable-objc-gc): Allow to configure with a
188	system provided boehm-gc.
189	* configure: Regenerate.
190	* Makefile.in (OBJC_BOEHM_GC_LIBS): Get value from configure.
191	* gc.c: Include system bdw-gc headers.
192	* memory.c: Likewise.
193	* objects.c: Likewise.
194
1952016-11-15  Matthias Klose  <doko@ubuntu.com>
196
197	* aclocal.m4: Regenerate.
198	* configure: Likewise.
199
2002016-01-04  Jakub Jelinek  <jakub@redhat.com>
201
202	Update copyright years.
203
2042015-11-07  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
205
206	PR libobjc/24775
207	* encoding.c (_darwin_rs6000_special_round_type_align): Use
208	__CHAR_BIT__ instead of BITS_PER_UNIT.
209	(objc_sizeof_type): Likewise.
210	(objc_layout_structure): Likewise.
211	(objc_layout_structure_next_member): Likewise.
212	(objc_layout_finish_structure): Likewise.
213	(objc_layout_structure_get_info): Likewise.
214
2152015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
216
217	PR libobjc/24775
218	* encoding.c (objc_layout_finish_structure): Remove usage of
219	ROUND_TYPE_SIZE.
220
2212015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
222
223	PR libobjc/24775
224	* sendmsg.c (tm.h): Remove include.
225
2262015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
227
228	PR libobjc/24775
229	* sendmsg.c (gen_rtx): Remove macro.
230	(gen_rtx_MEM): Likewise.
231	(gen_rtx_REG): Likewise.
232	(rtx): Likewise.
233
2342015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
235
236	PR libobjc/24775
237	* sendmsg.c: Remove check of STRUCT_VALUE macro.
238
2392015-05-13  Eric Botcazou  <ebotcazou@adacore.com>
240
241	* configure.ac: Remove manual SJLJ check.
242	* config.h.in: Regenerate.
243	* configure: Likewise.
244	* exception.c: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
245
2462015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
247
248	* aclocal.m4: Regenerated with automake-1.11.6.
249
2502015-05-04  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
251
252	* configure: Regenerate.
253
2542015-05-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
255
256	* acinclude.m4: Include bitfields.m4.
257	* config.h.in: Regenerate.
258	* configure: Likewise.
259	* configure.ac: Invoke gt_BITFIELD_TYPE_MATTERS.
260	* encoding.c: Check HAVE_BITFIELD_TYPE_MATTERS.
261
2622015-04-29  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
263
264	* encoding.c (objc_layout_structure_next_member): Check the value of
265	PCC_BITFIELD_TYPE_MATTERS not if it is defined.
266
2672015-02-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
268
269	PR libobjc/63765
270	* thr.c (_XOPEN_SOURCE): Remove.
271
2722015-01-27  Matthias Klose  <doko@ubuntu.com>
273
274	* sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.
275
2762015-01-09  Dimitris Papavasiliou  <dpapavas@gmail.com>
277
278	PR libobjc/51891
279	* ivars.c: Add a check for classes without instance
280	variables, which have a NULL ivar list pointer.
281
2822015-01-05  Jakub Jelinek  <jakub@redhat.com>
283
284	Update copyright years.
285
2862014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
287
288	PR bootstrap/63784
289	* configure: Regenerated.
290
2912014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
292
293	PR target/63610
294	* configure: Regenerate.
295
2962014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
297
298	* thr.c (_XOPEN_SOURCE): Define as 600.
299
3002014-07-27  Alan Modra  <amodra@gmail.com>
301	    Matthias Klose  <doko@ubuntu.com>
302
303	PR libobjc/61920
304
305	* encoding.c: Define rs6000_special_adjust_field_align_p.
306
3072014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
308
309	Update copyright years
310
3112013-09-20  Alan Modra  <amodra@gmail.com>
312
313	* configure: Regenerate.
314
3152013-07-21   Ondřej Bílka  <neleai@seznam.cz>
316
317	* class.c: Fix typos.
318	* encoding.c: Likewise.
319	* init.c: Likewise.
320	* objc-private/runtime.h: Likewise.
321	* objc/runtime.h: Likewise.
322	* objc-sync.c: Likewise.
323
3242013-07-04  Kai Tietz  <ktietz@redhat.com>
325
326	* exception.c: Add check for SjLj to SEH blocks.
327
3282013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
329
330	Update copyright years.
331
3322012-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
333
334	* encoding.c (TARGET_VSX): Provide definitions based on the
335	current compilation options, and not based off the target options
336	structure.
337	(TARGET_ALTIVEC): Likewise.
338	(TARGET_64BIT): Likewise.
339
3402012-09-14  David Edelsohn  <dje.gcc@gmail.com>
341
342	* configure: Regenerated.
343
3442012-07-19  Tristan Gingold  <gingold@adacore.com>
345	    Richard Henderson  <rth@redhat.com>
346
347	* exception.c (__gnu_objc_personality_seh0): New function.
348
3492012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
350
351	* configure: Regenerated.
352
3532012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
354
355	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
356	* configure: Regenerate.
357
358	* thr.c (_XOPEN_SOURCE): Define unconditionally.
359
3602011-11-21  Andreas Tobler  <andreast@fgznet.ch>
361
362	* configure: Regenerate.
363
3642011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
365
366	* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
367	* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
368	* configure: Regenerate.
369	* config.h.in: Regenerate.
370
3712011-10-17  Paul Brook  <paul@codesourcery.com>
372	    Matthias Klose  <doko@ubuntu.com>
373
374	* exception.c (parse_lsda_header): hardcode ttype_encoding for older
375	ARM EABI toolchains.
376	(get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
377
3782011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
379
380	PR libobjc/49883
381	* init.c (__objc_exec_class): Work around a bug in clang's code
382	generation.  Clang sets the class->info field to values different
383	from 0x1 or 0x2 (the only allowed values in the traditional GNU
384	Objective-C runtime ABI) to store some additional information, but
385	this breaks backwards compatibility.  Wipe out all the bits in the
386	fields other than the first two upon loading a class.
387
3882011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
389
390	* class.c (objc_lookup_class): Added back for compatibility with
391	clang which seems to emit calls to it.
392
3932011-10-08  Richard Frith-Macdonald <rfm@gnu.org>
394	    Nicola Pero  <nicola.pero@meta-innovation.com>
395
396	PR libobjc/50428
397	* sendmsg.c (__objc_send_initialize): If a class does not have an
398	+initialize method, search for an +initialize method in the
399	superclass and in the ancestor classes and execute the first one
400	that is found.  This makes the GNU runtime behave in the same way
401	as the Apple/NeXT runtime with respect to +initialize methods and
402	subclassing.
403
4042011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
405
406	PR libobjc/50002
407	* class.c (__objc_update_classes_with_methods): Iterate over meta
408	classes as well as normal classes when refreshing the method
409	implementations.  This fixes replacing class methods.
410
4112011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
412
413	* class.c (class_getSuperclass): Fixed to work with meta classes
414	still in construction too.
415
4162011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
417
418	* class.c (class_getSuperclass): Fixed typo in comment.
419
4202011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
421
422	PR libobjc/49882
423	* class.c (class_getSuperclass): Return the superclass if the
424	class is in construction.
425	* objc/runtime.h (class_getSuperclass): Updated documentation.
426
4272011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
428
429	* Makefile.in (INCLUDES): Search
430	$(srcdir)/$(MULTISRCTOP)../libgcc.
431
4322011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
433
434	* objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608.
435
4362011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
437
438	* configure.ac (VERSION): Bumped to 4:0:0.
439	* configure (VERSION): Likewise.
440
4412011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
442
443	* objc/README: Updated.
444	* objc-private/selector.h: Updated comments.
445
4462011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
447
448	* sendmsg.c (class_get_instance_method): Removed.
449	(class_get_class_method): Removed.
450	(objc_get_uninstalled_dtable): Removed.
451
4522011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
453
454	* objc-private/module-abi-8.h (class_get_instance_size): Removed.
455	* objects.c (class_create_instance): Removed.
456	* error.c (__USE_FIXED_PROTOTYPES__): Removed.
457	* gc.c (__objc_generate_gc_type_description): Use
458	class_getInstanceSize() instead of class_get_instance_size().
459	* selector.c (sel_types_match): Made static.
460	(sel_get_typed_uid): Removed.
461	(sel_get_any_typed_uid): Removed.
462	(sel_get_name): Removed.
463	(sel_get_type): Removed.
464	(sel_register_name): Removed.
465	(sel_register_typed_name): Removed.
466	(sel_get_uid): Removed.
467
4682011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
469
470	* encoding.c (method_get_number_of_arguments): Removed.
471	(method_get_sizeof_arguments): Removed.
472
4732011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
474
475	* class.c (objc_next_class): Removed.
476	(class_pose_as): Removed.
477	(CLASSOF): Removed.
478	(class_table_replace): Removed.
479	(objc_lookup_class): Removed.
480
4812011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
482
483	Removed the Traditional Objective-C runtime public API.
484	* Makefile.in (OBJC_DEPRECATED_H): Variable removed.
485	(install-headers): Do not create the objc/deprecated directory and
486	do not install the deprecated headers.
487	(OBJC_H): Removed encoding.h and objc-api.h.
488	* Object.m: Removed all methods with the exception of -class and
489	-isEqual:.  Updated includes.  ([-class]): Use Modern API.
490	* objc/Object.h: Do not include deprecated/Object.h.
491	* objc/deprecated/Object.h: Removed.
492	* linking.m (__objc_linking): Call [Object class] instead of
493	[Object name].
494	* Protocol.m: Removed all methods with the exception of -isEqual:.
495	Updated includes.
496	* objc/Protocol.h: Do not include deprecated/Protocol.h.
497	* objc/deprecated/Protocol.h: Removed.
498	* objc/deprecated/struct_objc_symtab.h: Removed.
499	* objc/deprecated/struct_objc_module.h: Removed.
500	* objc/deprecated/struct_objc_ivar.h: Removed.
501	* objc/deprecated/struct_objc_ivar_list.h: Removed.
502	* objc/deprecated/struct_objc_method.h: Removed.
503	* objc/deprecated/struct_objc_method_list.h: Removed.
504	* objc/deprecated/struct_objc_protocol_list.h: Removed.
505	* objc/deprecated/struct_objc_category.h: Removed.
506	* objc/deprecated/MetaClass.h: Removed.
507	* objc/deprecated/objc_msg_sendv.h: Removed.
508	* objc/deprecated/README: Removed.
509	* objc/deprecated/struct_objc_class.h: Removed.
510	* objc/deprecated/struct_objc_protocol.h: Removed.
511	* objc/deprecated/struct_objc_selector.h: Removed.
512	* objc/encoding.h: Removed.
513	* objc/message.h (struct objc_super): Removed the definition for
514	the Traditional Objective-C runtime API.
515	* objc/objc.h: Do not include objc/objc-decls.h.
516	deprecated/struct_objc_selector.h, deprecated/MetaClass.h,
517	deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h
518	and deprecated/objc_msg_sendv.h.  Uncommented new definition of
519	Protocol *.
520	* objc/objc-api.h: Removed.
521	* objc/runtime.h: Updated comments.  Removed check to detect
522	concurrent usage of Traditional and Modern APIs.
523	* objc-private/module-abi-8.h: Always define struct objc_class and
524	struct objc_protocol.  (struct objc_protocol_list): Changed type
525	of 'list' argument from 'Protocol *' to 'struct objc_protocol *'.
526	(class_get_instance_size): Added.
527	* objc-private/protocols.h (__objc_protocols_add_protocol): Take a
528	'struct objc_protocol *' as argument, not a 'Protocol *'.
529	* objc-private/runtime.h: Updated comments.
530	* objc-private/selector.h (struct objc_selector, sel_eq): Added.
531	* class.c: Include objc-private/selector.h.
532	(objc_get_meta_class): Return a Class instead of a MetaClass.
533	* encoding.c (method_get_next_argument): Removed.
534	(method_get_first_argument): Removed.
535	(method_get_nth_argument): Removed.
536	* gc.c: Include objc/runtime.h instead of objc/encoding.h.
537	Include objc-private/module-abi-8.h and ctype.h.
538	* protocols.c (__objc_protocols_add_protocol): Take a 'struct
539	objc_protocl *' as argument, not a 'Protocol *'.
540	(class_addProtocol): Added casts to 'struct objc_protocol *' and
541	'Protocol *'.
542	(class_copyProtocolList): Likewise.
543	(protocol_conformsToProtocol): Likewise.
544	(protocol_copyProtocolList): Likewise.
545	* sarray.c: Include objc-private/module-abi-8.h.
546	* sendmsg.c (method_get_next_argument): Removed.
547	(method_get_first_argument): Removed.
548	(method_get_nth_argument): Removed.
549	(objc_msg_sendv): Removed.
550	(arglist_t, retval_t): New.  (class_get_class_method): Take a
551	'Class', not 'MetaClass', argument.
552	* thr.c: Include module-abi-8.h.
553
5542011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
555
556	* Makefile.in (OBJC_DEPRECATED_H): Removed struct_objc_static_instances.h
557	and objc_get_uninstalled_dtable.h.
558	* objc/deprecated/struct_objc_static_instances.h: Removed.
559	* objc/deprecated/objc_get_uninstalled_dtable.h: Removed.
560	* objc/objc-api.h: Do not include deprecated/objc_static_instances.h
561	and deprecated/objc_get_uninstalled_dtable.h.
562
5632011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
564
565	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_object_alloc.h.
566	* objc/deprecated/objc_object_alloc.h: Removed.
567	* objc/objc-api.h: Do not include deprecated/objc_object_alloc.h.
568	* objects.c (_objc_object_alloc, _objc_object_dispose,
569	_objc_object_copy): Removed.
570	* libobjc.def (__objc_object_alloc, __objc_object_copy,
571	__objc_object_dispose): Removed.
572
5732011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
574
575	* Makefile.in (OBJC_DEPRECATED_H): Removed METHOD_NULL.h.
576	* objc/objc-api.h: Do not include deprecated/METHOD_NULL.h.
577	* objc/deprecated/METHOD_NULL.h: Removed.
578
5792011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
580
581	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h,
582	objc_malloc.h and objc_unexpected_exception.h.
583	(exception.lo): Do not use -Wno-deprecated-declarations.
584	(exception_gc.lo): Likewise.
585	* objc/objc-api.h: Do not include deprecated/objc_valloc.h,
586	deprecated/objc_malloc.h and
587	deprecated/objc_unexpected_exception.h.
588	* objc/deprecated/objc_valloc.h: Removed.
589	* objc/deprecated/objc_malloc.h: Removed.
590	* objc/deprecated/objc_unexpected_exception.h: Removed.
591	* exception.c (_objc_unexpected_exception): Removed.
592	(objc_exception_throw): Do not check for
593	_objc_unexpected_exception.
594	* memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc,
595	_objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed.
596	* libobjc.def (_objc_unexpected_exception, objc_valloc): Removed.
597
5982011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
599
600	* objc/objc.h: Do not include deprecated/STR.h.
601	* objc/deprecated/STR.h: Removed.
602	* Makefile.in (OBJC_DEPRECATED_H): removed STR.h.
603
6042011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
605
606	* Makefile.in (OBJC_H): Removed hash.h and sarray.h.
607	(OBJC_DEPRECATED_H): Likewise.
608	* libobjc.def (objc_hash_new, objc_hash_delete, objc_hash_add,
609	objc_hash_remove, objc_hash_next, objc_hash_value_for_key,
610	objc_hash_is_key_in_hash, hash_add, hash_delete, hash_new,
611	hash_next, hash_remove, hash_value_for_key, hash_is_key_in_hash,
612	sarray_at_put, sarray_at_put_safe, sarray_free, sarray_lazy_copy,
613	sarray_new, sarray_realloc, sarray_remove_garbage): Removed.
614	* objc/sarray.h: Removed.
615	* objc/hash.h: Removed.
616	* objc/deprecated/sarray.h: Removed.
617	* objc/deprecated/hash.h: Removed.
618	* objc/Object.h: Do not include objc/deprecated/hash.h
619	* Object.m: Include string.h.
620	* objc/objc-api.h: Do not include objc/deprecated/hash.h.
621	* objc-private/common.h (GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF):
622	Removed.
623
6242011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
625
626	* Object.m ([-forward::]): Removed.
627	* objc/deprecated/Object.h ([-forward::]): Removed.
628	* sendmsg.c (__objc_forward): Updated comments.
629
6302011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
631
632	* Makefile.in (OBJC_H): Removed objc-list.h.
633	(OBJC_DEPRECATED_H): Removed objc-list.h.
634	* objc/objc-list.h: File removed.
635	* objc/deprecated/objc-list.h: File removed.
636
6372011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
638
639	* Makefile.in (OBJC_H): Removed typedstream.h.
640	(OBJC_DEPRECATED_H): Removed typedstream.h.
641	(C_SOURCE_FILES): Removed archive.c.
642	(Object.lo): Rule removed.
643	(Object_gc.lo): Likewise.
644	(archive.lo): Likewise.
645	(archive_gc.lo): Likewise.
646	* objc/deprecated/Object.h ([+streamVersion:], [-read], [-write],
647	[-awake]): Removed.
648	Do not include deprecated/typedstream.h.
649	* Object.m: Removed the same methods.
650	* archive.c: File removed.
651	* objc/typedstream.h: File removed.
652	* objc/deprecated/typedstream.h: File removed.
653	* libobjc.def (__objc_read_nbyte_uint, __objc_read_nbyte_ulong,
654	__objc_write_class, __objc_write_object, __objc_write_selector,
655	objc_close_typed_stream, objc_end_of_typed_stream,
656	objc_flush_typed_stream, objc_get_stream_class_version,
657	objc_open_typed_stream, objc_open_typed_stream_for_file,
658	objc_read_array, objc_read_char, objc_read_int, objc_read_long,
659	objc_read_object, objc_read_selector, objc_read_short,
660	objc_read_string, objc_read_type, objc_read_types,
661	objc_read_unsigned_char, objc_read_unsigned_int,
662	objc_read_unsigned_long, objc_read_unsigned_short,
663	objc_write_array, objc_write_char, objc_write_int,
664	objc_write_long, objc_write_object, objc_write_object_reference,
665	objc_write_root_object, objc_write_selector, objc_write_short,
666	objc_write_string, objc_write_string_atomic, objc_write_type,
667	objc_write_types, objc_write_unsigned_char,
668	objc_write_unsigned_int, objc_write_unsigned_long,
669	objc_write_unsigned_short): Removed.
670
6712011-06-02  Nicola Pero  <nicola.pero@meta-innovation.com>
672
673	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h.
674	* objc/deprecated/objc_error.h: Removed.
675	* objc/objc-api.h: Do not include deprecated/objc_error.h.
676	* libobjc.def (objc_error, objc_verror): Removed.
677	* error.c (_objc_error_handler, objc_error, objc_verror,
678	objc_set_error_handler): Removed.
679	* Object.m ([-error:], [-perform:], [-perform:with:],
680	[-perform:with:with], [-subclassResponsibility:],
681	[-notImplemented:], [-shouldNotImplement:], [-doesNotRecognize:]):
682	Removed.
683	* objc/deprecated/Object.h: Removed the same methods.
684	* sendmsg.c (__objc_forward): Do not try to invoke the "error:"
685	method after trying to invoke the "doesNotRecognize:" method.
686
6872011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
688
689	* sendmsg.c: Reindented part of the file.  No non-trivial changes
690	in code.
691
6922011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
693
694	* sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
695	not objc_lookup_class.
696
6972011-05-25  Richard Frith-Macdonald <rfm@gnu.org>
698	    David Ayers  <ayers@fsfe.org>
699
700	PR libobjc/38307
701	* sendmsg.c: Include objc/hash.h.
702	(get_implementation): New function, mostly with code from get_imp
703	updated to support the new +initialize dispatch table logic.
704	(get_imp): Use get_implementation.
705	(__objc_responds_to): Updated to support the new +initialize
706	dispatch table logic.
707	(class_respondsToSelector): Likewise.
708	(objc_msg_lookup): Use get_implementation.
709	(__objc_init_install_dtable): Removed.
710	(__objc_install_methods_in_dtable): Updated arguments.
711	(__objc_install_dispatch_table_for_class): Renamed to
712	__objc_install_dtable_for_class and updated to support the new
713	+initialize dispatch table logic.
714	(__objc_update_dispatch_table_for_class): Updated to support the
715	new +initialize dispatch table logic.
716	(__objc_forward): Call get_implementation instead of get_imp.
717	(prepared_dtable_table): New.
718	(__objc_prepare_dtable_for_class): New.
719	(__objc_prepared_dtable_for_class): New.
720	(__objc_get_prepared_imp): New.
721	(__objc_install_prepared_dtable_for_class): New.
722
7232011-05-24  Nicola Pero  <nicola.pero@meta-innovation.com>
724
725	PR libobjc/48177
726	* selector.c (__sel_register_typed_name): Use sel_types_match()
727	instead of strcmp() to compare selector types (Suggestion by
728	Richard Frith-Macdonald <rfm@gnu.org>).
729
7302011-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
731
732	PR libobjc/32037
733	* Makefile.in (OBJC_GCFLAGS): Move ...
734	* configure.ac (enable_objc_gc): ... here.
735	Add $(libsuffix) to OBJC_BOEHM_GC.
736	* configure: Regenerate.
737
7382011-02-28  Nicola Pero  <nicola.pero@meta-innovation.com>
739
740	* selector.c (sel_getTypedSelector): Return NULL if there are
741	multiple selectors with conflicting types.
742	* objc/runtime.h (sel_getTypedSelector): Updated documentation.
743
7442011-02-28  Richard Frith-Macdonald <rfm@gnu.org>
745
746	PR libobjc/47922
747	* gc.c (class_ivar_set_gcinvisible): Use _C_GCINVISIBLE instead of
748	a hardcoded "!".
749
7502011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
751
752	* configure: Regenerate.
753
7542010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>
755
756	* init.c (create_tree_of_subclasses_inherited_from): Use
757	class_superclass_of_class instead of assuming a class is
758	unresolved when it could be resolved.  Tidied up assignment and
759	check.
760	(__objc_tree_insert_class): Enhanced DEBUG_PRINTF.
761	(objc_tree_insert_class): Tidied up loop; return immediately upon
762	inserting a class.
763	(__objc_exec_class): Do not set __objc_class_tree_list.
764
7652010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
766
767	* selector.c (sel_getTypedSelector): Return NULL if given a NULL
768	argument.
769	(sel_registerTypedName): Same.
770	(sel_registerName): Same.
771	* objc/runtime.h: Updated documentation.
772
7732010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
774
775	* objc/runtime.h (class_addIvar): Updated documentation.  The
776	alignment is actually the log_2 of the alignment in bytes.
777	* ivars.c (class_addIvar): Corresponding change to the
778	implementation.
779
7802010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
781
782	* objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to
783	be consistent with method_getTypeEncoding and
784	ivar_getTypeEncoding.
785	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
786	* selector.c (sel_getType): Renamed to sel_getTypeEncoding.
787	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
788	(sel_get_type): Updated call to sel_getType.
789
7902010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
791
792	* objc/runtime.h (class_conformsToProtocol,
793	class_copyProtocolList): Updated documentation.
794
7952010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
796
797	* init.c (create_tree_of_subclasses_inherited_from): Updated
798	DEBUG_PRINTF messages.
799	(__objc_tree_insert_class): Same.
800	(__objc_send_load_using_method_list): Same.
801	(__objc_send_load): Same.
802	(__objc_exec_class): Same.  In particular, do not print the module
803	name since it is no longer used.
804	* sendmsg.c (__objc_send_initialize): Added DEBUG_PRINTFs for
805	tracking +initialize calls.
806	(__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for
807	tracking updates of dispatch tables.
808	(__objc_install_dispatch_table_for_class): Same.
809
8102010-12-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
811
812	* Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc.
813	(libobjc_gc$(libsuffix).la): Likewise.
814
8152010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
816
817	* sendmsg.c (class_addMethod): Return NO if the method already
818	exists in the class.
819
8202010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
821
822	* init.c (duplicate_classes): New.
823	(__objc_exec_class): Initialize duplicate_classes.
824	(__objc_create_classes_tree): Ignore classes in the
825	duplicate_classes table.
826	(__objc_call_load_callback): Same.
827	(__objc_init_class): If a duplicate class is found, add it to
828	duplicate_classes instead of aborting.  Return YES if the class is
829	not a duplicate, and NO if it is.
830	* objc-private/runtime.h (__objc_init_class): Updated prototype.
831
8322010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
833
834	* objc-private/objc-list.h: Reindented file.  No code changes.
835	* objc-private/sarray.h: Same change.
836
8372010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
838
839	* objc-private/accessors.h: Removed 'extern "C"' guards.  This
840	file is never compiled with C++.
841	* objc-private/hash.h: Same change.
842	* objc-private/objc-list.h: Same change.
843	* objc-private/objc-sync.h: Same change.
844	* objc-private/protocols.h: Same change.
845	* objc-private/runtime.h: Same change.
846	* objc-private/sarray.h: Same change.
847	* objc-private/selector.h: Same change.
848
8492010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
850
851	PR libobjc/18764
852	* class.c (__objc_add_class_to_hash): Return YES if the class was
853	added, and NO if it already existed.
854	* init.c (__objc_init_class): If __objc_add_class_to_hash returns
855	NO, then abort the program with an error message.
856	* objc-private/runtime.h (__objc_add_class_to_hash): Updated
857	declaration.
858
8592010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
860
861	* init.c (_objc_load_callback): Initialize with 0.
862	(__objc_call_callback): Renamed to __objc_call_load_callback.
863	Check _objc_load_callback only once, and if it is not set, return
864	immediately.
865	(objc_send_load): Updated call to __objc_call_callback.
866
8672010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
868
869	PR libobjc/16110
870	* init.c (__objc_send_message_in_list): Renamed to
871	__objc_send_load_using_method_list.  Do not take an 'op' argument.
872	Register the 'load' selector if needed.
873	(__objc_send_load): Do not register the 'load' selector.  Updated
874	call to __objc_send_message_in_list.
875	(__objc_create_classes_tree): Add the class of any claimed
876	category that was loaded in the module to the list of classes for
877	which we try to execute +load.
878
8792010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
880
881	* objc-private/common.h: When DEBUG is defined, include <stdio.h>.
882	Updated comments.
883	* init.c (__objc_tree_insert_class): Use %p, not %x, when printing
884	a pointer using DEBUG_PRINTF.
885
8862010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
887
888	PR libobjc/45953
889	* selector.c (__sel_register_typed_name): When registering a new
890	selector with the same name as an existing one, reuse the existing
891	name string.  Also updated types, casts and comments in the whole
892	function.
893
8942010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
895
896	* objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs'
897	to be 'struct objc_selector *' and not 'SEL'.
898	* init.c (__objc_exec_class): Call
899	__objc_register_selectors_from_module instead of iterating over
900	each selector and calling __sel_register_typed_name for each.
901	* objc-private/selector.h: Declare
902	__objc_register_selectors_from_module instead of
903	__sel_register_typed_name.
904	* selector.c (__objc_register_selectors_from_module): New.
905	(__sel_register_typed_name): Made static.
906
9072010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
908
909	* linking.m: Do not include objc/NXConstStr.h.
910
9112010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
912
913	* objc-private/runtime.h (DEBUG_PRINTF): Moved from here ...
914	* objc-private/common.h (DEBUG_PRINTF): To here.
915	* hash.c: Do not include objc-private/runtime.h and objc/thr.h.
916
9172010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
918
919	* hash.c: Tidied up comments and indentation.  No code changes.
920
9212010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
922
923	PR libobjc/47012
924	* accessors.m (objc_getProperty): If not atomic, do not
925	retain/autorelease the returned value.
926
9272010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
928
929	* objc-private/runtime.h (__objc_selector_max_index,
930	__objc_init_selector_tables, __objc_register_selectors_from_class,
931	__objc_register_selectors_from_list,
932	__objc_register_selectors_from_description_list): Moved to ...
933	* objc-private/selector.h: ... here.
934
9352010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
936
937	* objc-private/runtime.h (__objc_class_links_resolved): Removed.
938	(__objc_print_dtable_stats): Removed.
939	(__sel_register_typed_name): Removed.
940	* sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument.
941
9422010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
943
944	* init.c (__objc_exec_class): Call __objc_resolve_class_links (),
945	if appropriate, after loading the module.
946
9472010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
948
949	* sendmsg.c (method_setImplementation): Do not declare.
950
9512010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
952
953	* objc/message.h: Updated comments.
954	* objc/runtime.h: Updated comments.
955
9562010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
957
958	* class.c (objc_lookupClass): Renamed to objc_lookUpClass.
959	* protocols.c: Updated all calls to objc_lookupClass to call
960	objc_lookUpClass instead.
961	* sendmsg.c (objc_lookupClass): Do not declare.
962	(get_imp): Update call to objc_lookupClass to call
963	objc_lookUpClass instead.
964	* objc/runtime.h (objc_lookupClass): Renamed to objc_lookUpClass.
965
9662010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
967
968	* objc/runtime.h (class_ivar_set_gcinvisible): Declare.
969	* sendmsg.c (_CLS_IN_CONSTRUCTION, CLS_IS_IN_CONSTRUCTION): Do not
970	define.  Updated comments.
971
9722010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
973
974	* objc/encoding.h: Updated comments.
975	* objc/runtime.h: Updated comments.
976	(objc_setGetUnknownClassHandler): Mark with objc_EXPORT.
977	(objc_sizeof_type): Same.
978	(objc_alignof_type): Same.
979	(objc_aligned_size): Same.
980	(objc_promoted_size): Same.
981	(objc_skip_type_qualifiers): Same.
982	(objc_skip_typespec): Same.
983	(objc_skip_offset): Same.
984	(objc_skip_argspec): Same.
985	(objc_get_type_qualifiers): Same.
986	(objc_layout_structure): Same.
987	(objc_layout_structure_next_member): Same.
988	(objc_layout_finish_structure): Same.
989	(objc_layout_structure_get_info): Same.
990
9912010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
992
993	* init.c: Updated comments.
994	* objc/objc-api.h: Updated comments.
995	* objc/runtime.h (_objc_load_callback): Declare.
996
9972010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
998
999	* objc/Object.h: Include deprecated/typedstream.h and
1000	deprecated/hash.h instead of typedstream.h.  Updated comments.
1001
10022010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1003
1004	* Makefile.in (OBJC_DEPRECATED_H): Added objc_msg_sendv.h.
1005	* objc/deprecated/objc_msg_sendv.h: New.
1006	* objc/message.h: Do not define retval_t, apply_t, arglist,
1007	arglist_t, objc_msg_sendv, now in
1008	objc/deprecated/objc_msg_sendv.h.
1009	* objc/objc.h: Do not include message.h; include
1010	objc/deprecated/objc_msg_sendv.h instead.  Tidied up comments.
1011	* sendmsg.c: Include objc/message.h.
1012	* thr.c: Include objc/message.h.
1013
10142010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1015
1016	* objc/objc-exception.h: Include objc-decls.h.  Mark all
1017	functions with objc_EXPORT.
1018	* objc/objc-sync.h: Same change.
1019
10202010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1021
1022	* Protocol.m: Moved all methods, with the exception of -isEqual:,
1023	into the 'Deprecated' category.
1024	* objc/Protocol.h: Removed all methods, moved to
1025	objc/deprecated/Protocol.h.  Include objc/deprecated/Protocol.h.
1026	* objc/deprecated/Protocol.h: New.
1027	* Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h.
1028
10292010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1030
1031	* init.c: Include objc-private/selector.h.  Do not declare
1032	__sel_register_typed_name.
1033	* objc-private/selector.h (__sel_register_typed_name): Declare.
1034	* selector.c: Include objc-private/selector.h.
1035
10362010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1037
1038	* class.c: Tidied up comments and indentation.  No code changes.
1039	* error.c: Same.
1040	* exception.c: Same.
1041	* init.c: Same.
1042	* ivars.c: Same.
1043	* memory.c: Same.
1044	* objc-foreach.c: Same.
1045	* objc-sync.c: Same.
1046	* objects.c: Same.
1047	* protocols.c: Same.
1048	* sarray.c: Same.
1049	* thr.c: Same.
1050
10512010-12-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1052
1053	* init.c: Include objc/runtime.h and objc-private/module-abi-8.h
1054	instead of objc/objc-api.h.
1055	(init_check_module_version): Take a 'struct objc_module *'
1056	argument instead of 'Module_t'.  Use 'struct objc_module *'
1057	instead of 'Module_t'.
1058	(__objc_created_classes_tree): Take a 'struct objc_module *'
1059	argument instead of 'Module_t'; use 'struct objc_symtab *' instead
1060	of 'Symtab_t'.
1061	(__objc_call_callback): Take a 'struct objc_module *' argument
1062	instead of 'Module_t'; use 'struct objc_symtab *' instead of
1063	'Symtab_t' and 'struct objc_category *' instead of 'Category_t'.
1064	(_objc_load_callback): Take a 'struct objc_category *' argument
1065	instead of 'Category *'.
1066	(class_superclass_of_class): Use objc_getClass() instead of
1067	objc_lookup_class().
1068	(create_tree_of_subclasses_inherited_from): Same change (also, use
1069	an explicit 'if' instead of '?').
1070	(objc_init_statics): Same change.
1071	(objc_send_load): Same change.
1072	(__objc_init_protocol): same change.
1073	(__objc_send_message_in_list): Take a 'struct objc_method_list *'
1074	argument instead of 'MethodList_t'.  Use 'struct objc_method *'
1075	instead of 'Method_t'.
1076	(__objc_send_load): Use 'struct objc_method_list *' instead of
1077	'MethodList_t'.  Use sel_registerName() instead of
1078	sel_register_name().
1079	(__objc_exec_class): Take a 'struct objc_module *' argument
1080	instead of 'Module_t'.  Use 'struct objc_symtab *' instead of
1081	'Symtab_t'.  Use objc_getClass() instead of objc_lookup_class().
1082	Use 'struct objc_category *' instead of 'Category_t'.
1083
10842010-12-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1085
1086	* sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h.
1087	Include objc-private/module-abi-8.h and objc-private/selector.h
1088	instead of objc/encoding.h.
1089	(objc_msg_lookup_super): Use super->super_class instead of
1090	super->class.
1091	(method_get_first_argument, method_get_next_argument): Declare
1092	locally.
1093	(class_get_instance_method): Declare before using.
1094	(objc_msg_sendv): Use 'struct objc_method' instead of 'Method'.
1095	(__objc_init_dispatch_tables, __objc_send_initialize): Use
1096	sel_registerName() instead of sel_register_name().
1097	(__objc_forward): Use sel_getName() instead of sel_get_name().
1098	(objc_get_uninstalled_dtable): Use 'void' as argument.
1099	* objc-private/selector.h: New.
1100
11012010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1102
1103	* objc/message.h (objc_super): When using the modern API, do not
1104	define Super and Super_t, and always use 'super_class' for the
1105	super class field.
1106	(objc_msg_lookup_super): Updated prototype to use 'struct
1107	objc_super *' instead of 'Super_t'.
1108	* sendmsg.c (objc_msg_lookup_super): Updated prototype to use
1109	'struct objc_super *' instead of 'Super_t'.
1110
11112010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1112
1113	* objc/message.h: Update comments, reindented code and moved
1114	deprecated types and functions at the end of the file.  No code
1115	changes.
1116
11172010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1118
1119	* ivars.c (class_addIvar): Use the 'size' argument instead of
1120	trying to calculate it using objc_sizeof_type().
1121	* objc/runtime.h (class_addIvar): Updated comments.
1122
11232010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1124
1125	* sendmsg.c: Reindented some code and tidied up comments.  No
1126	actual code changes.
1127
11282010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1129
1130	* objc/Object.h: Moved all the methods, with the exception of
1131	-class and -isEqual:, into ...
1132	* objc/deprecated/Object.h: here.
1133	* Object.m: Moved all the methods, with the exception of -class
1134	and -isEqual: into the 'Deprecated' category.
1135
11362010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1137
1138	* objects.c (object_copy): Do not #undef as we are no longer
1139	including objc/objc-api.h.
1140	* selector.c: Include objc/runtime.h and
1141	objc-private/module-abi-8.h.  Do not include objc/objc-api.h and
1142	objc/encoding.h.  Updated
1143	(__objc_register_selectors_from_class): Use struct
1144	objc_method_list * instead of MethodList_t.
1145	(__objc_register_selectors_from_list): Use Method instead of
1146	Method_t.
1147	(struct objc_method_description_list): Do not define here.
1148	(__objc_register_instance_methods_to_class): Use struct
1149	objc_method_list * instead of MethodList_t and Method instead of
1150	Method_t.
1151
11522010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1153
1154	* selector.c: Reindented some code and tidied up comments.  No
1155	actual code changes.
1156
11572010-12-13  Iain Sandoe  <iains@gcc.gnu.org>
1158
1159	* encoding.c (_darwin_rs6000_special_round_type_align): New.
1160	(darwin_rs6000_special_round_type_align): Adjust to use new routine.
1161
11622010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1163
1164	* sendmsg.c (selector_resolveClassMethod): New.
1165	(selector_resolveInstanceMethod): New.
1166	(__objc_resolve_class_method): New.
1167	(__objc_resolve_instance_method): New.
1168	(get_imp): Call __objc_resolve_class_method or
1169	__objc_resolve_instance_method at the appropriate time.
1170	(objc_msg_lookup): Same.
1171	(class_getClassMethod): Same.
1172	(class_getInstanceMethod): Same.
1173	(__objc_init_dispatch_tables): Initialize
1174	selector_resolveClassMethod and selector_resolveInstanceMethod.
1175	* objc/runtime.h: Updated documentation of class_getClassMethod,
1176	class_getInstanceMethod and class_getMethodImplementation.
1177
11782010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1179
1180	* objc-private/module-abi-8.h (struct objc_symtab): Updated
1181	description of sel_ref_cnt and refs.
1182	* objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change.
1183
11842010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
1185
1186	PR target/40125
1187	PR lto/46695
1188	* configure.ac (extra_ldflags_libobjc): Invoke ACX_LT_HOST_FLAGS.
1189	* Makefile.in (lt_host_flags): Import AC_SUBST'd value.
1190	* aclocal.m4: Regenerate.
1191	* configure: Regenerate.
1192
11932010-12-03  Matthias Klose  <doko@ubuntu.com>
1194
1195	* configure.ac (VERSION): Bump the version to 3:0:0.
1196	* configure: Regenerate.
1197
11982010-11-23  Richard Frith-Macdonald <rfm@gnu.org>
1199
1200	* sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to
1201	pass nil as the receiver since we don't know the receiver at this
1202	point.
1203
12042010-11-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1205
1206	* ivars.c: Include stdlib.h.
1207	* protocols.c: Same change.
1208
12092010-10-24  Nicola Pero  <nicola.pero@meta-innovation.com>
1210
1211	* Makefile.in (OBJC_SOURCE_FILES): Added accessors.m.
1212	* accessors.m: New.
1213	* init.c: Include objc-private/accessors.h.
1214	(__objc_exec_class): Call __objc_accessors_init.
1215	* objc-private/accessors.h: New.
1216
12172010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1218
1219	* objc/message.h: Moved initial includes outside of extern "C".
1220	* objc/runtime.h: Add extern "C" for Objective-C++.
1221
12222010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1223
1224	* init.c (objc_send_load): Do not wait for NXConstantString to be
1225	registered before executing +load.  There is no point if
1226	-fconstant-string-class=xxx is used when compiling all modules,
1227	as is the case for almost all users.
1228	* linking.m (__objc_linking): Do not try to forcefully link in
1229	NXConstantString.
1230
12312010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1232
1233	* objc/runtime.h: Updated comments.
1234	(class_addMethod): New.
1235	(class_addIvar): New.
1236	(class_replaceMethod): New.
1237	(objc_allocateClassPair): New.
1238	(objc_registerClassPair): New.
1239	(objc_disposeClassPair): New.
1240	* class.c (objc_allocateClassPair): New.
1241	(objc_registerClassPair): New.
1242	(objc_disposeClassPair): New.
1243	(class_getSuperclass): Return Nil if a class is in construction.
1244	* init.c (__objc_exec_class): Call __objc_init_class.
1245	(__objc_init_class): New.
1246	* ivars.c (class_copyIvarList): Return NULL if class is in
1247	construction.  Do not lock the runtime mutex.
1248	(class_getInstanceVariable): Return NULL if class is in
1249	construction.  Do not lock the runtime mutex.
1250	(class_addIvar): New.
1251	* sendmsg.c (class_addMethod): New.
1252	(class_replaceMethod): New.
1253	* objc-private/module-abi-8.h (__CLS_SETNOTINFO): New.
1254	(_CLS_IN_CONSTRUCTION): New.
1255	(CLS_IS_IN_CONSTRUCTION): New.
1256	(CLS_SET_IN_CONSTRUCTION): New.
1257	(CLS_SET_NOT_IN_CONSTRUCTION): New.
1258	* objc-private/runtime.h (__objc_init_class): New.
1259
12602010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1261
1262	* class.c (class_getSuperclass): Call __objc_resolve_class_links
1263	if the class is not resolved yet.
1264	* ivars.c (class_getInstanceVariable): Use class_getSuperclass.
1265
12662010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1267
1268	* objc/runtime.h (class_getIvarLayout): New.
1269	(class_getWeakIvarLayout): New.
1270	(class_setIvarLayout): New.
1271	(class_setWeakIvarLayout): New.
1272	* ivars.c (class_getIvarLayout): New.
1273	(class_getWeakIvarLayout): New.
1274	(class_setIvarLayout): New.
1275	(class_setWeakIvarLayout): New.
1276
12772010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1278
1279	* objc/runtime.h (class_copyPropertyList): New.
1280	(class_getProperty): New.
1281	(property_getAttributes): New.
1282	(property_getName): New.
1283	* ivars.c (class_copyPropertyList): New.
1284	(class_getProperty): New.
1285	(property_getAttributes): New.
1286	(property_getName): New.
1287
12882010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1289
1290	* objc-private/runtime.h (__objc_update_classes_with_methods): New.
1291	* class.c (__objc_update_classes_with_methods): New.
1292	(objc_getClassList): Do not lock the class lock.
1293	* methods.c (method_exchangeImplementations): New.
1294	(method_setImplementation): New.
1295	* objc/runtime.h (method_setImplementation): New.
1296	(method_exchangeImplementations): New.
1297
12982010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1299
1300	* Protocol.m: Include objc/runtime.h and
1301	objc-private/module-abi-8.h instead of objc/objc-api.h.  Do not
1302	repeat Protocol's instance variables.
1303	(struct objc_method_description_list): Do not define here.
1304	([-conformsTo:]): Reimplemented on top of protocol_conformsTo().
1305	([descriptionForInstanceMethod:]): Use sel_isEqual() to compare
1306	selectors directly instead of getting names and then using strcmp.
1307	([descriptionForClassMethod:]): Same change.
1308	([-isEqual:]): Reimplemented on top of protocol_isEqual().
1309	* protocols.c (protocol_getMethodDescription): Use sel_isEqual()
1310	to compare selectors directly instead of getting names and then
1311	using strcmp.
1312	* objc/Protocol.h: Updated comments.
1313
13142010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1315
1316	* init.c (__objc_init_protocol): New function which fixes up a
1317	protocol's class pointer, registers it with the runtime, register
1318	all protocol selectors and registers associated protocols too.
1319	(objc_init_statics): Detect if we are initializing protocols, and
1320	if so, use __objc_init_protocol instead of only fixing up the
1321	class pointer.
1322	(__objc_init_protocls): Use __objc_init_protocol.
1323	* objc-private/module-abi-8.h: Updated comments.
1324	* objc-private/runtime.h
1325	(__objc_register_selectors_from_description_list): New.
1326	* selector.c (__objc_register_selectors_from_description_list):
1327	New.  (struct objc_method_description_list): Declare.
1328	* Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name
1329	when accessing the name of a method, which is now correctly a SEL.
1330	([-descriptionForClassMethod:]): Same change.
1331	* protocols.c (protocol_getMethodDescription): Same change.
1332	* objc/runtime.h: Updated comments.
1333	(sel_registerTypedName): Fixed typo in function name.
1334
13352010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1336
1337	PR libobjc/23214
1338	* init.c (objc_init_statics): Do not skip the initialization of a
1339	statics list if the first object has already been initialized; in
1340	the case of Protocols, while the first one may have been
1341	initialized, some others may not have been initialized yet.
1342
13432010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1344
1345	* Makefile.in (OBJC_DEPRECATED_H): Added
1346	objc_get_uninstalled_dtable, objc_object_alloc.h and
1347	struct_objc_static_instances.h.
1348
13492010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1350
1351	* encoding.c (method_copyReturnType): New.
1352	(method_copyArgumentType): New.
1353	(method_getReturnType): New.
1354	(method_getArgumentType): New.
1355	* methods.c (method_getDescription): New.
1356	* objc/runtime.h (method_copyReturnType): New.
1357	(method_copyArgumentType): New.
1358	(method_getReturnType): New.
1359	(method_getArgumentType): New.
1360	(method_getDescription): New.
1361
13622010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1363
1364	* encoding.c: Tidied up comments.
1365	(objc_skip_variable_name): New static inline function.
1366	(objc_sizeof_type): Use objc_skip_variable_name instead of copying
1367	the same code over and over.
1368	(objc_alignof_type): Same.
1369	(objc_aligned_size): Same.
1370	(objc_promoted_size): Same.
1371	(objc_skip_typespec): Same.
1372	(objc_layout_structure_next_member): Same.
1373	(objc_skip_offset): Skip a '-' before the digits (if any).  Fixed
1374	historical bug where objc_skip_offset would skip one byte even if
1375	there is no offset: check that the first offset digit is actually
1376	a digit before skipping it.
1377	(objc_skip_type_qualifiers): Mark as inline.
1378	(objc_skip_typespec): Mark as inline.
1379
13802010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1381
1382	* Makefile.in (C_SOURCE_FILES): Added methods.c.
1383	* encoding.c (method_getNumberOfArguments): New.
1384	(method_get_number_of_arguments): Call
1385	method_getNumberOfArguments.
1386	* ivars.c (ivar_getName): Check for NULL variable argument.
1387	(ivar_getOffset): Check for NULL variable argument.
1388	(ivar_getTypeEncoding): Check for NULL variable argument.
1389	(class_copyIvarList): New.
1390	* methods.c: New.
1391	* protocols.c (class_copyProtocolList): Check for Nil class_
1392	argument.
1393	* sendmsg.c: Use 'struct objc_method *' instead of Method_t, and
1394	'struct objc_method_list *' instead of MethodList_t.
1395	(class_getMethodImplementation): New.
1396	(class_respondsToSelector): New.
1397	(class_getInstanceMethod): New.
1398	(class_getClassMethod): New.
1399	* objc/runtime.h: Updated comments.
1400	(class_copyIvarList): New.
1401	(class_getInstanceMethod): New.
1402	(class_getClassMethod): New.
1403	(class_getMethodImplementation): New.
1404	(class_respondsToSelector): New.
1405	(method_getName): New.
1406	(method_getImplementation): New.
1407	(method_getTypeEncoding): New.
1408	(class_copyMethodList): New.
1409	(method_getNumberOfArguments): New.
1410
14112010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1412
1413	* class.c: Include objc/runtime.h and objc-private/module-abi-8.h
1414	instead of objc/objc-api.h.
1415	(objc_get_unknown_class_handler): Do not define.
1416	(class_isMetaClass): New.
1417	(class_getSuperclass): New.
1418	(class_getVersion): New.
1419	(class_setVersion): New.
1420	(class_getInstanceSize): New.
1421	* exceptions.c: Include objc/runtime.h instead of objc/objc-api.h.
1422	(is_kind_of_exception_matcher): Use objc_getSuperclass instead of
1423	objc_get_super_class.
1424	(get_ttype_entry): Use objc_getRequiredClass instead of
1425	objc_get_class.
1426	* ivars.c (class_getClassVariable): New.
1427	* objects.c: Include objc/runtime.h, objc/thr.h and
1428	objc-private/module-abi-8.h instead of objc/objc-api.h
1429	* objc/runtime.h (class_getClassVariable): New.
1430	(class_isMetaClass): New.
1431	(class_getSuperclass): New.
1432	(class_getVersion): New.
1433	(class_setVersion): New.
1434	(class_getInstanceSize): New.
1435	* objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from
1436	objc/objc-api.h)
1437	(__CLS_INFO): Same.
1438	(__CLS_ISINFO): Same.
1439	(__CLS_SETINFO): Same.
1440	(CLS_ISMETA): Same.
1441	(CLS_ISCLASS): Same.
1442	(CLS_ISRESOLV): Same.
1443	(CLS_SETRESOLV): Same.
1444	(CLS_ISINITIALIZED): Same.
1445	(CLS_SETINITIALIZED): Same.
1446	(CLS_GETNUMBER): Same.
1447	(CLS_SETNUMBER): Same.
1448
14492010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1450
1451	* archive.c: Do not include objc/objc.h.
1452	* class.c: Do not include objc/objc.h.
1453	* encoding.c: Include objc/runtime.h, ctype.h and
1454	objc-private/module-abi-8.h instead of objc/objc-api.h and
1455	objc/encoding.h.
1456	* error.c: Do not include objc/objc.h.
1457	* gc.c: Include tconfig.h and objc/encoding.h only if
1458	OBJC_WITH_GC.
1459	* hash.c: Include objc/runtime.h and objc/thr.h instead of
1460	objc/objc-api.h.  Do not include objc/objc.h.
1461	* init.c: Do not include objc/objc.h.
1462	* ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and
1463	objc/thr.h instead of objc/objc-api.h.  Do not include
1464	objc/objc.h.
1465	* linking.m: Tidied comment.
1466	* memory.c: Include objc/runtime.h instead of objc/objc-api.h.
1467	Do not include objc/objc.h.
1468	* objects.c: Do not include objc/objc.h.
1469	* objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h.
1470	* protocols.c: Do not include objc/objc.h.
1471	* sarray.c: Include objc/runtime.h instead of objc/objc-api.h.  Do
1472	not include objc/objc.h.
1473	* selector.c: Do not include objc/objc.h.
1474	* sendmsg.c: Do not include objc/objc.h.
1475	* thr.c: Include objc/runtime.h instead of objc/objc-api.h.
1476	Do not include objc/objc.h.
1477	* objc/objc-decls.h: Reindented code.
1478	* objc/runtime.h Include objc-decls.h.  Updated comments.
1479	(objc_malloc): New.
1480	(objc_atomic_malloc): New.
1481	(objc_calloc): New.
1482	(objc_realloc): New.
1483	(objc_free): New.
1484	* objc-private/runtime.h: Updated comments.
1485
14862010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1487
1488	* Makefile.in (C_SOURCE_FILES): Added protocols.c.
1489	* objc-private/protocols.h: New.
1490	* protocols.c: New.
1491	* init.c: Include objc-private/protocols.h.
1492	(__objc_exec_class): Call __objc_protocols_init on startup.
1493	(__objc_init_protocols): Call __objc_protocols_add_protocol.
1494	* objc-private/runtime.h: Use (struct objc_method_list *) instead
1495	of MethodList_t, and (struct objc_method *) instead of Method_t.
1496	* objc/deprecated/struct_objc_class.h: Define
1497	__objc_STRUCT_OBJC_CLASS_defined.
1498	* objc-private/module-abi-8.h (struct
1499	objc_method_description_list): New.
1500	(struct objc_class): Only define if
1501	__objc_STRUCT_OBJC_CLASS_defined is undefined.
1502	* objc/runtime.h (class_getName): New.
1503	(objc_getProtocol): New.
1504	(objc_copyProtocolList): New.
1505	(class_addProtocol): New.
1506	(class_conformsToProtocol): New.
1507	(class_copyProtocolList): New.
1508	(protocol_conformsToProtocol): New.
1509	(protocol_isEqual): New.
1510	(protocol_getName): New.
1511	(protocol_getMethodDescription): New.
1512	(protocol_copyMethodDescriptionList): New.
1513	(protocol_getProperty): New.
1514	(protocol_copyPropertyList): New.
1515	(protocol_copyProtocolList): New.
1516	* class.c (class_getName): New.
1517	* selector.c (sel_isEqual): New.
1518
15192010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1520
1521	* selector.c (sel_getName): Return "<null selector>" for a NULL
1522	argument.
1523	(sel_get_name): Return 0 for a NULL argument.
1524	* objc/runtime.h (sel_getName): Updated documentation.
1525
1526	* objc-private/hash.h (class_hash_table): Unused declaration
1527	removed.
1528	(module_hash_table): Same.
1529	* objc/deprecated/hash.h: Same changes.
1530
15312010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1532
1533	* class.c (objc_getClassList): New.
1534	(objc_getRequiredClass): New.
1535	(objc_getMetaClass): New.
1536	(objc_lookupClass): New.
1537	(objc_getClass): New.
1538	(__objc_get_unknown_class_handler): New.
1539	(objc_setGetUnknownClassHandler): New.
1540	(objc_get_class): Use __objc_get_unknown_class_handler.
1541	(objc_lookup_class): Call objc_getClass.
1542	* objc/objc-api.h: Updated comment and copyright notice.
1543	* objc/runtime.h: Updated comments.
1544	(objc_getClass): New.
1545	(objc_lookupClass): New.
1546	(objc_getMetaClass): New.
1547	(objc_getRequiredClass): New.
1548	(objc_getClassList): New.
1549	(objc_setGetUnknownClassHandler): New.
1550	(objc_get_unknown_class_handler): New.
1551	* objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU
1552	instead of __objc_runtime_INCLUDE_GNU as include guard.
1553	* objc-private/error.h (_objc_abort): Mark as noreturn.
1554
15552010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1556
1557	* Makefile.in (C_SOURCE_FILES): Added ivars.c.
1558	* ivars.c: New.
1559	* objc/objc.h: Updated comments.
1560	* objc/runtime.h (object_getClass): New.
1561	(object_getClassName): New.
1562	(object_setClass): New.
1563	(class_getInstanceVariable): New.
1564	(object_getIndexedIvars): New.
1565	(object_getInstanceVariable): New.
1566	(object_setInstanceVariable): New.
1567	(object_getIvar): New.
1568	(object_setIvar): New.
1569	(ivar_getName): New.
1570	(ivar_getOffset): New.
1571	(ivar_getTypeEncoding): New.
1572	* objc-private/module-abi-8.h (struct objc_class): Added.
1573	* objects.c (object_getClassName): New.
1574	(object_setClass): New.
1575
15762010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1577
1578	* objc/objc.h: Updated comments.
1579	* objc/objc-api.h: (object_copy): Added one argument; use a
1580	#define to maintain backwards-compatibility.  Moved
1581	_objc_object_alloc, _objc_object_copy, _objc_object_dispose and
1582	objc_get_uninstalled_dtable into
1583	objc/deprecated/objc_get_uninstalled_dtable.h and
1584	objc/deprecated/objc_object_alloc.h.  Include these files.
1585	* objc/deprecated/objc_get_uninstalled_dtable.h: New.
1586	* objc/deprecated/objc_object_alloc.h: New.
1587	* objc/runtime.h (set_getName): New.
1588	(sel_getType): New.
1589	(sel_getUid): New.
1590	(sel_registerName): New.
1591	(sel_registerTypedName): New.
1592	(sel_isEqual): New.
1593	(class_createInstance): New.
1594	(object_copy): New.
1595	(object_dispose): New.
1596	* objects.c: Do not include tconfig.h.  Include gc_typed.h if
1597	building the garbage collection version.
1598	(__objc_object_alloc): Removed.
1599	(__objc_object_copy): Removed.
1600	(__objc_object_dispose): Removed.
1601	(class_createInstance): New from code in class_create_instance.
1602	Cast second argument of GC_malloc_explicitly_typed.  Use
1603	objc_calloc.  Do not call _objc_object_alloc.
1604	(class_create_instance): Call class_createInstance.
1605	(object_copy): Added extraBytes argument.  Do not call
1606	_objc_object_copy.
1607	(object_dispose): Do not call _objc_object_dispose.
1608	* memory.c (objc_free): When using garbage collection, mark the
1609	argument as unused.
1610	* selector.c (sel_getName): New.
1611	(sel_get_name): Call sel_getName.
1612	(sel_getType): New.
1613	(sel_get_type): Call sel_getType.
1614	(sel_registerName): New.
1615	(sel_register_name): Call sel_registerName.
1616	(sel_registerTypedName): New.
1617	(sel_register_typed_name): Call sel_registerTypedName.
1618	(sel_getUid): New.
1619	(sel_get_uid): Call sel_getUid.
1620
16212010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1622
1623	* objc/objc-api.h: Define Method, Method_t, Category and
1624	Category_t.  Prevent including this file at the same time as
1625	objc/runtime.h.  Updated comments.
1626	* objc/deprecated/struct_objc_method.h: Do not define Method,
1627	Method_t.
1628	* objc/deprecated/struct_objc_category.h: Do not define Category,
1629	Category_t.
1630	* objc-private/module-abi-8.h: New file containing a copy of all
1631	the structure definitions.  Not used yet.
1632	* objc/encoding.h (objc_aligned_size): Removed duplicate
1633	declaration.  Updated comments.
1634	* objc/runtime.h: Added Ivar, objc_property_t, Property, Method,
1635	Category, struct objc_method_description, _C_ID and similar,
1636	_C_CONST and similar and _F_CONST and similar.  Added
1637	objc_sizeof_type, objc_alignof_type, objc_aligned_size,
1638	objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec,
1639	objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers,
1640	struct objc_struct_layout, objc_layout_structure,
1641	objc_layout_structure_next_member, objc_layout_finish_structure,
1642	objc_layout_structure_get_info.  Prevent including this file at
1643	the same time as objc/objc-api.h.
1644
16452010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1646
1647	* Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h,
1648	struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h,
1649	struct_objc_method_list.h, struct_objc_module.h,
1650	struct_objc_protocol_list.h, struct_objc_symtab.h.
1651	* objc/deprecated/struct_objc_category.h: New.
1652	* objc/deprecated/struct_objc_ivar.h: New.
1653	* objc/deprecated/struct_objc_ivar_list.h: New.
1654	* objc/deprecated/struct_objc_method.h: New.
1655	* objc/deprecated/struct_objc_method_list.h: New.
1656	* objc/deprecated/struct_objc_module.h: New.
1657	* objc/deprecated/struct_objc_protocol_list.h: New.
1658	* objc/deprecated/struct_objc_symtab.h: New.
1659	* objc/deprecated/struct_objc_static_instances.h: New.
1660	* objc/objc-api.h: Definitions of deprecated structures moved into
1661	the above header fragment files in objc/deprecated/.  Include the
1662	files instead of definition the structures here.  Updated
1663	comments.
1664	* objc/runtime.h: Updated comments.  Do not include objc-api.h.
1665	(objc_set_enumeration_mutation_handler): Renamed to
1666	objc_setEnumerationMutationHandler.
1667	* objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed
1668	to objc_setEnumerationMutationHandler.
1669	* objc/objc-exception.h (objc_set_exception_matcher): Renamed to
1670	objc_setExceptionMatcher.
1671	(objc_set_uncaught_exception_handler): Renamed to
1672	objc_setUncaughtExceptionHandler.
1673	* exception.c: Same changes.
1674
16752010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1676
1677	* objc-sync.c: Include objc-private/common.h.
1678
16792010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1680
1681	* objc-foreach.c: Include objc-private/common.h.
1682	* objc/deprecated/METHOD_NULL.h: New file.
1683	* objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of
1684	defining METHOD_NULL here.
1685	* Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h.
1686	* Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of
1687	METHOD_NULL.
1688	([-respondsTo:]): Same change.
1689	* objc/objc-api.h (method_get_imp): Converted it into a normal
1690	function so that we can hide the internals of struct objc_method.
1691	* sendmsg.c (method_get_imp): Implemented.
1692
16932010-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
1694
1695	* objc/objc-api.h (struct objc_super, Super, Super_t,
1696	objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward,
1697	objc_msg_forward2): Declarations moved to objc/message.h.  Include
1698	message.h here.
1699	* objc/message.h: Added such declarations; updated comments.
1700
17012010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1702
1703	Implemented fast enumeration for Objective-C.
1704	* Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
1705	(OBJC_H): Added runtime.h
1706	* objc-foreach.c: New file.
1707	* objc/runtime.h: New file.
1708
17092010-09-30  Kai Tietz  <kai.tietz@onevision.com>
1710
1711	* objc/deprecated/struct_objc_class.h: Add padding
1712	to avoid warning with -Wpadded.
1713
17142010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1715
1716	* encoding.c (objc_sizeof_type): Added support for vector type and
1717	for double long types.
1718	(objc_alignof_type): Same change.
1719	(objc_skip_typespec): Same change.
1720	* objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE
1721	instead of '!' since '!' is already used for _C_VECTOR.
1722	* objc/objc-api.h (_C_LNG_DBL): Added.
1723
17242010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1725
1726	* libobjc_entry.c: File removed.
1727
17282010-09-26  Kai Tietz  <kai.tietz@onevision.com>
1729
1730	* sendmsg.c (objc_msg_lookup): Remove inline.
1731	(objc_get_uninstalled_dtable): Likewise.
1732	* encoding.c (objc_skip_type_qualifiers): Likewise.
1733	(objc_skip_offset): Likewise.
1734	* archive.c (__objc_write_object): Likewise
1735	(__objc_write_class):
1736	(__objc_write_selector):
1737	(objc_read_char):
1738	(objc_read_unsigned_char):
1739	(objc_read_short):
1740	(objc_read_unsigned_short):
1741	(objc_read_int):
1742	(objc_read_long):
1743	(__objc_read_nbyte_uint):
1744	(objc_read_unsigned_int):
1745	(objc_read_unsigned_long):
1746	* objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
1747	(objc_EXPORT): Likewise.
1748	* objc/message.h (objc-decls.h): Add include.
1749	* objc/objc-api.h: Mark API by objc_EXPORT.
1750	* libobjc.def (__objc_responds_to): Removed.
1751
17522010-09-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1753
1754	* hash.c: Include objc-private/hash.h instead of objc/hash.h.
1755
1756	* objc/sarray.h: Moved into objc/deprecated/sarray.h;
1757	objc/sarray.h replaced with a placeholder including the file from
1758	the deprecated/ directory.
1759	* objc-private/sarray.h: New file (private copy of sarray.h).
1760	* hash.c: Include <assert.h> instead of "assert.h"
1761	* sarray.c: Include <assert.h> instead of "assert.h".  Include
1762	objc-private/sarray.h instead of objc/sarray.h.
1763	* selector.c: Include objc-private/sarray.h instead of
1764	objc/sarray.h.
1765	* sendmsg.c: Include <assert.h>.  Include objc-private/sarray.h
1766	instead of objc/sarray.h.
1767	* Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.
1768
17692010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1770
1771	* objc-private/objc-list.h (list_remove_elem): Unused function
1772	removed.  (list_nth): Unused function removed.  (list_find):
1773	Unused function removed.  (list_lenght): Unused function removed.
1774
17752010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1776
1777	* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
1778	replaced with a placeholder including the file from the
1779	deprecated/ directory.
1780	* objc/objc-api.h: Updated includes.
1781	* objc/typedstream.h: Updated includes.
1782	* objc-private/hash.h: New file (private copy of hash.h).
1783	* objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
1784	objc/objc-list.h replaced with a placeholder including the file
1785	from the deprecated/ directory.
1786	* objc-private/objc-list.h: New file (private copy of objc-list.h).
1787	* init.c: Include objc-private/hash.h and objc-private/objc-list.h
1788	instead of objc/hash.h and objc/objc-list.h.
1789	* selector.c: Same change.
1790	* class.c: Added include <string.h>, which used to be implicitly included
1791	when hash.h was included.
1792	* exception.c: Same change.
1793	* objects.c: Same change.
1794	* sarray.c: Same change.
1795	* sendmsg.c: Same change.
1796	* Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
1797
17982010-09-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1799
1800	Implemented objc_sync_enter() and objc_sync_exit(), which are
1801	required by @synchronized() to work.
1802	* objc-sync.c: New file.
1803	* objc/objc-sync.h: New file.
1804	* objc-private/objc-sync.h: New file.
1805	* init.c (__objc_exec_class): Call __objc_sync_init() during the
1806	Objective-C runtime startup.
1807	* Makefile.in: Added objc-sync.c and objc-sync.h.
1808	* configure.ac: Added GCC_CHECK_TLS.
1809	* acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4.
1810	* configure: Regenerated.
1811	* config.h.in: Regenerated.
1812
18132010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1814
1815	* Makefile.in (%_gc.lo): New pattern rules to build the
1816	garbage-collected version of the library.  Removed rules for
1817	specific files that are no longer needed.  Standardized all rules.
1818	(C_SOURCE_FILES, OBJC_SOURCE_FILES): New variables.
1819	(OBJS, OBJS_GC): Compute these from C_SOURCE_FILES and
1820	OBJC_SOURCE_FILES.
1821	(INCLUDES): Removed the unused include -I$(srcdir)/objc.
1822
18232010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1824
1825	* memory.c (objc_calloc): Fixed call to GC_malloc when building
1826	with Garbage Colletion.
1827
18282010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1829
1830	* memory.c: Do not include objc-private/runtime.h.
1831
18322010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1833
1834	* objc/deprecated/objc_malloc.h: New file.
1835	* objc/deprecated/objc_valloc.h: New file.
1836	* objc/objc-api.h: Include the files instead of defining
1837	objc_valloc, _objc_malloc() and similar.
1838	* Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and
1839	objc_malloc.h.
1840	* memory.c: Removed the extra layer of indirection of _objc_malloc
1841	and similar.
1842	(objc_calloc): Use GC_malloc in the garbage-collected
1843	implementation as GC_malloc returns memory that is already freed.
1844	(objc_valloc): Deprecated.
1845
18462010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1847
1848	* objc/deprecated/objc_error.h: New file.
1849	* objc/objc-api.h: Include deprecated/objc_error.h instead of
1850	defining objc_error and related.
1851	* error.c: New file.  Added _objc_abort function which replaces
1852	objc_error.  No change in functionality as they both print an
1853	error and abort.
1854	* misc.c: File removed.  Code moved into memory.c and error.c.
1855	* memory.c: New file.
1856	* objc-private/error.h: New file.
1857	* archive.c: Include objc-private/error.h and use _objc_abort
1858	instead of objc_error everywhere.
1859	* class.c: Same change.
1860	* encoding.c: Same change.
1861	* init.c: Same change, and simplified init_check_module_version.
1862	* memory.c: Same change.
1863	* sendmsg.c:  Same change.
1864	* thr.c: Same change.
1865	* Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h.
1866	(OBJ_H): Reordered list.
1867	(OBJS): Removed misc.lo, added memory.lo and error.lo.
1868	(OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo.
1869	(misc_gc.lo): Rule removed.
1870	(error_gc.lo): Rule added.
1871	(memory_gc.lo): Rule added.
1872
18732010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1874
1875	* objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way
1876	to check the API version.  Added some comments.
1877
1878	* objc-private/common.h: New file.
1879	* NXConstStr.m: Include objc-private/common.h.
1880	* Object.m: Same change.
1881	* Protocol.m: Same change.
1882	* archive.c: Same change.
1883	* class.c: Same change.
1884	* encoding.c: Same change.
1885	* exception.c: Same change.
1886	* gc.c: Same change.
1887	* hash.c: Same change.
1888	* init.c: Same change.
1889	* libobjc_entry.c: Same change.
1890	* linking.m: Same change.
1891	* misc.c: Same change (and added a comment).
1892	* nil_method.c: Same change.
1893	* objects.c: Same change.
1894	* sarray.c: Same change.
1895	* selector.c: Same change.
1896	* sendmsg.c: Same change.
1897	* thr.c: Same change.
1898
18992010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1900
1901	* objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP.
1902
19032010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1904
1905	* archive.c: Removed not needed includes.
1906	* class.c: Same change.
1907	* hash.c: Same change.
1908	* misc.c: Same change.
1909	* nil_method.c: Same change.
1910	* objects.c: Same change.
1911	* sarray.c: Same change.
1912	* sendmsg.c: Same change.
1913	* thr.c: Same change.
1914
19152010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1916
1917	* objc/runtime.h: Moved to objc-private/runtime.h.  Do not include
1918	all the objc/*.h files.
1919	* objc-private/runtime.h: New file.
1920	* archive.c: Include objc-private/runtime.h (and required objc/*.h
1921	files) instead of objc/runtime.h.
1922	* class.c: Same change.
1923	* hash.c: Same change.
1924	* init.c: Same change.
1925	* misc.c: Same change.
1926	* nil_method.c: Same change.
1927	* objects.c: Same change.
1928	* sarray.c: Same change.
1929	* selector.c: Same change.
1930	* sendmsg.c: Same change.
1931	* thr.c: Same change.
1932
19332010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1934
1935	* objc/deprecated/struct_objc_selector.h: New file.  Definition of
1936	'struct objc_selector' and 'sel_eq' moved here.
1937	* objc/deprecated/struct_objc_protocol.h: New file.  Definition of
1938	'struct objc_procotol' moved here.
1939	* objc/deprecated/struct_objc_class.h: New file.  Definition of
1940	'struct objc_class' moved here.
1941	* objc/deprecated/MetaClass.h: New file.  Definition of MetClass
1942	moved here.
1943	* objc/deprecated/STR.h: New file.  Definition of STR moved here.
1944	* objc/message.h: New file.  Definitions for relval_t, apply_t,
1945	arglist, arglist_t and objc_msg_lookup were moved here.
1946	* objc/objc.h: Include the above files instead of defining the
1947	corresponding structs, types and functions here.  Added new opaque
1948	definitions for SEL and Class.  Use Class and not 'struct
1949	objc_class *' in the definition of 'struct objc_object'.
1950	Commented all types defined in the file.  Removed special
1951	definition of BOOL as 'int' on __vxworks; use 'unsigned char'
1952	there as well.
1953	* objc/deprecated/objc-unexpected-exception.h: Renamed to
1954	objc_unexpected_exception.h.
1955	* objc/objc-api.h: Updated include of
1956	objc-unexpetected-exception.h
1957	* objc/objc-exception.h: Updated comments.
1958	* Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header
1959	files.  Reindented list of files.
1960
19612010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1962
1963	* objc/objc-api.h (objc_trace): Unused variable removed.
1964
19652010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1966
1967	* objc/deprecated: New directory.
1968	* objc/deprecated/README: New file.
1969	* objc/README: New file.
1970	* objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
1971	objc/typedstream.h replaced with a placeholder including the file
1972	from the deprecated/ directory.
1973	* objc/deprecated/objc-unexpected-exception.h: New file with the
1974	definition of _objc_unexpected_exception.
1975	* objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
1976	instead of defining _objc_unexpected_exception.
1977	* objc/deprecated/Object.h: New file with the deprecated Object
1978	methods in a 'Deprecated' category.
1979	* objc/Object.h Include deprecated/Object.h instead of defining
1980	the deprecated methods.
1981	* Object.m: Moved deprecated methods into 'Deprecated' category.
1982	* objc-private: New directory.
1983	* objc-private/README: New file.
1984	* Makefile.in (OBJC_DEPRECATED_H): New variable.
1985	(install-headers): Create installation directory for
1986	OBJC_DEPRECATED_H headers, and install them.
1987
19882010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1989
1990	* objc/objc-exception.h: Fixed include of objc.h.
1991
19922010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1993
1994	* objc/objc-exception.h: New file.
1995	* exception.c (objc_set_uncaught_exception_handler): Implemented.
1996	(objc_set_exception_matcher): Implemented.
1997	(objc_exception_throw): Use the uncaught exception handler if set.
1998	(PERSONALITY_FUNCTION): Use the exception matcher instead of the
1999	hardcoded isKindOf.
2000	(isKindOf): Renamed to is_kind_of_exception_matcher.  Tidied code
2001	up.  Removed segmentation fault when value is 'nil'.
2002	* objc/objc-api.h (_objc_unexpected_exception): Mark as
2003	deprecated.
2004	* Makefile.in (exception.lo, exception_gc.lo): Use
2005	-Wno-deprecated-declarations when compiling.
2006	(OBJC_H): Added objc-exception.h
2007
20082010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
2009
2010	* objc/typedstream.h: Deprecate all functions in the file.  This
2011	file is obsolete.
2012	* objc/Object.h ([+streamVersion:], [-read:], [-write:],
2013	[-awake]): Documented that these methods are deprecated.  Added a
2014	brief description of the Object class and its relationship to the
2015	NSObject class.
2016	* Makefile.in: Compile archive.c and Object.m with
2017	-Wno-deprecated-declarations.
2018
20192010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
2020
2021	Removed obsolete intermediate threading layer.
2022	* thr.c: Use __gthread_objc_xxx functions directly instead of
2023	__objc_thread_xxx ones.
2024	* objc/thr.h: Removed prototypes of no longer existing
2025	__objc_thread_xxx functions.
2026	* Makefile.in: Removed thr-objc.lo.
2027	* thr-dce.c: File removed.
2028	* thr-decosf1.c: File removed.
2029	* thr-irix.c: File removed.
2030	* thr-mach.c: File removed.
2031	* thr-objc.c: File removed.
2032	* thr-os2.c: File removed.
2033	* thr-posix.c: File removed.
2034	* thr-pthreads.c: File removed.
2035	* thr-rtems.c: File removed.
2036	* thr-single.c: File removed.
2037	* thr-solaris.c: File removed.
2038	* thr-vxworks.c: File removed.
2039	* thr-win32.c: File removed.
2040	* README.threads: File removed.
2041	* THREADS.MACH: File removed.
2042	* THREADS: Updated.
2043
20442010-09-07  Nicola Pero  <nicola.pero@meta-innovation.com>
2045
2046	* Object.m (MAX_CLASS_NAME_LEN): Unused define removed.
2047
20482010-09-06  Iain Sandoe  <iains@gcc.gnu.org>
2049
2050	* encoding.c: Add TARGET_ALIGN_NATURAL definition for m64 powerpc darwin.
2051	Add a comment as to why, update FIXME comments.
2052
20532010-09-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2054
2055	* makefile.dos: Obsolete file removed.
2056
20572010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2058
2059	* aclocal.m4: Regenerate.
2060
20612010-03-23  Dave Korn  <dave.korn.cygwin@gmail.com>
2062
2063	PR libobjc/30445
2064	* configure.ac (extra_ldflags_libobjc): Define appropriately for
2065	Cygwin and MinGW hosts.
2066	* Makefile.am (libobjc_s.a): Remove dead pre-libtool target.
2067	(libobjc.dll): Likewise.
2068	* configure: Regenerate.
2069
20702009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2071
2072	* configure: Regenerate.
2073
20742009-11-28  Jakub Jelinek  <jakub@redhat.com>
2075
2076	* sarray.c (sarray_free): Use old_buckets variable.
2077	* encoding.c (objc_layout_structure_next_member): Remove unused
2078	bfld_type_size variable.
2079
20802009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2081
2082	* configure.ac (AC_PREREQ): Bump to 2.64.
2083
20842009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2085
2086	* aclocal.m4: Regenerate.
2087	* configure: Regenerate.
2088	* config.h.in: Regenerate.
2089
20902009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2091
2092	* Makefile.in (LIBTOOL): Add $(LIBTOOLFLAGS).
2093
20942009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2095
2096	* Makefile.in (AUTOCONF, ACLOCAL, ACLOCAL_AMFLAGS, aclocal_deps):
2097	New variables.
2098	($(srcdir)/configure, $(srcdir)/aclocal.m4): New rules.
2099
21002009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2101
2102	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
2103
21042009-04-09  Nick Clifton  <nickc@redhat.com>
2105
2106	* sendmsg.c: Change copyright header to refer to version 3 of
2107	the GNU General Public License with version 3.1 of the GCC
2108	Runtime Library Exception and to point readers at the COPYING3
2109	and COPYING3.RUNTIME files and the FSF's license web page.
2110	* NXConstStr.m: Likewise.
2111	* Object.m: Likewise.
2112	* Protocol.m: Likewise.
2113	* archive.c: Likewise.
2114	* class.c: Likewise.
2115	* encoding.c: Likewise.
2116	* exception.c: Likewise.
2117	* gc.c: Likewise.
2118	* hash.c: Likewise.
2119	* init.c: Likewise.
2120	* libobjc_entry.c: Likewise.
2121	* linking.m: Likewise.
2122	* misc.c: Likewise.
2123	* nil_method.c: Likewise.
2124	* objc/NXConstStr.h: Likewise.
2125	* objc/Object.h: Likewise.
2126	* objc/Protocol.h: Likewise.
2127	* objc/encoding.h: Likewise.
2128	* objc/hash.h: Likewise.
2129	* objc/objc-api.h: Likewise.
2130	* objc/objc-decls.h: Likewise.
2131	* objc/objc-list.h: Likewise.
2132	* objc/objc.h: Likewise.
2133	* objc/runtime.h: Likewise.
2134	* objc/sarray.h: Likewise.
2135	* objc/thr.h: Likewise.
2136	* objc/typedstream.h: Likewise.
2137	* objects.c: Likewise.
2138	* sarray.c: Likewise.
2139	* selector.c: Likewise.
2140	* thr-dce.c: Likewise.
2141	* thr-decosf1.c: Likewise.
2142	* thr-irix.c: Likewise.
2143	* thr-mach.c: Likewise.
2144	* thr-objc.c: Likewise.
2145	* thr-os2.c: Likewise.
2146	* thr-posix.c: Likewise.
2147	* thr-pthreads.c: Likewise.
2148	* thr-rtems.c: Likewise.
2149	* thr-single.c: Likewise.
2150	* thr-solaris.c: Likewise.
2151	* thr-vxworks.c: Likewise.
2152	* thr-win32.c: Likewise.
2153	* thr.c: Likewise.
2154	* libobjc.def: Change copyright header to refer to version 3 of
2155	the GNU General Public License and to point readers at the COPYING3
2156	file and the FSF's license web page.
2157	* makefile.dos: Likewise.
2158
21592009-04-09  Jakub Jelinek  <jakub@redhat.com>
2160
2161	* Makefile.in: Change copyright header to refer to version
2162	3 of the GNU General Public License and to point readers at the
2163	COPYING3 file and the FSF's license web page.
2164	* configure.ac: Likewise.
2165
21662009-03-12  Richard Frith-Macdonald  <rfm@gnu.org>
2167	    David Ayers  <ayers@fsfe.org>
2168
2169	PR libobjc/27466
2170	* objc/objc-api.h (_objc_unexpected_exception): Declare
2171	new hook.  Update copyright dates.
2172	* exception.c (objc_exception_throw): Use hook.  Update
2173	copyright dates.
2174	* libobjc.def (_objc_unexpected_exception): Export hook.
2175	Update copyright dates.
2176
21772009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2178
2179	* configure: Regenerate.
2180
21812008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2182
2183	* configure: Regenerate.
2184
21852008-11-21  Kai Tietz  <kai.tietz@onevision.com>
2186
2187	*  Object.m (errno): Replaced by errno.h include.
2188	(compare): Cast self to id to prevent warning on comparison.
2189	* objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is
2190	already there.
2191	* sendmsg.c (__objc_print_dtable_stats): Remove type warnings.
2192	* thr-win32.c (__objc_thread_detach): Remove type warning.
2193	(__objc_thread_id): Likewise.
2194	* thr.c (__objc_thread_detach_functiont): Add __builtin_trap ()
2195	for noreturn.
2196
21972008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
2198	    Steve Ellcey  <sje@cup.hp.com>
2199
2200	* configure: Regenerate for new libtool.
2201	* config.h.in: Regenerate for new libtool.
2202
22032008-07-18  Matthias Klose  <doko@ubuntu.com>
2204
2205	* Makefile.in: Ignore missing ../boehm-gc/threads.mk.
2206
22072008-07-18  Matthias Klose  <doko@ubuntu.com>
2208
2209	* Makefile.in: Include ../boehm-gc/threads.mk.
2210	(OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it.
2211
22122008-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2213
2214	* Makefile.in (install-info): New stub target.
2215
22162008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2217
2218	* configure: Regenerate.
2219
22202008-06-14  Kai Tietz  <kai.tietz@onevision.com>
2221
2222	* exception.c (PERSONALITY_FUNCTION): Remove extra decrement
2223	if HAVE_GETIPINFO is not defined.
2224
22252008-06-10  Kai Tietz  <kai.tietz@onevision.com>
2226
2227	* Object.m (compare): Add type id.
2228	* objc/Object.h: Likewise.
2229	* archive.c (objc_read_class): Use size_t to extend version to be
2230	size of pointer scalar width.
2231	* sendmsg.c (rtx): Undefine it before redefinition.
2232	(__objc_print_dtable_stats): Cast arguments to long as intended.
2233
22342008-05-30  Julian Brown  <julian@codesourcery.com>
2235
2236	* exception.c (__objc_exception_class): Initialise as constant
2237	array for ARM EABI. Change macro to static const for non-ARM EABI.
2238	(ObjcException): Add note about structure layout. Remove landingPad
2239	and handlerSwitchValue for ARM EABI.
2240	(get_ttype_entry): Add __ARM_EABI_UNWINDER__ version
2241	of function.
2242	(CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases.
2243	(PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add
2244	ARM EABI unwinding support.
2245	(objc_exception_throw): Use memcpy to initialise exception class.
2246
22472008-05-25  Alan Modra  <amodra@bigpond.net.au>
2248
2249	* encoding.c (strip_array_types): Rename from get_inner_array_type.
2250	(rs6000_special_round_type_align): Update.
2251
22522008-05-09  Julian Brown  <julian@codesourcery.com>
2253
2254	* Makefile.in (LTLDFLAGS): New.
2255	(libobjc$(libsuffix).la, libobjc_gc$(libsuffix).la): Use above.
2256
22572008-04-18  Paolo Bonzini  <bonzini@gnu.org>
2258
2259	PR bootstrap/35457
2260	* aclocal.m4: Regenerate.
2261	* configure: Regenerate.
2262
22632008-01-24  David Edelsohn  <edelsohn@gnu.org>
2264
2265	* configure: Regenerate.
2266
22672007-10-14  H.J. Lu  <hongjiu.lu@intel.com>
2268
2269	* configure.ac: Don't run config-ml.in directly.
2270	(multilib_arg): New.
2271	* configure: Regenerated.
2272
22732007-08-06  Andrew Pinski  <pinskia@gmail.com>
2274
2275	PR libobjc/30731
2276	* exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead
2277	of _Unwind_Word for variables which are used in
2278	read_uleb128/read_sleb128.
2279	(PERSONALITY_FUNCTION): Likewise.
2280
22812007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
2282
2283	* aclocal.m4: Regenerated.
2284
22852007-06-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2286
2287	* configure.ac: Fix a typo in *-*-darwin clause.
2288	* configure: Regenerated.
2289
22902007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
2291
2292	* configure.ac: Fix a typo.
2293	* configure: Regenerated.
2294
22952007-06-02  Paolo Bonzini  <bonzini@gnu.org>
2296
2297	* configure: Regenerate.
2298
22992007-06-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2300
2301	* Makefile.in: Replace all uses of libext with libsuffix.
2302	* configure.ac: Likewise.
2303	* configure: Regenerate.
2304
2305	Revert:
2306	* Makefile.in: Remove all uses of $(libext).
2307
23082007-05-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2309
2310	* Makefile.in: Remove all uses of $(libext).
2311
23122007-05-23  Steve Ellcey  <sje@cup.hp.com>
2313
2314	* configure: Regenerate.
2315	* aclocal.m4: Regenerate.
2316
23172007-04-21  Andrew Ruder  <andy@aeruder.net>
2318
2319	* sendmsg.c (__objc_get_forward_imp): Call
2320	__objc_msg_forward2 for real.
2321
23222007-04-09  Andrew Ruder  <andy@aeruder.net>
2323
2324	* sendmsg.c: Added __objc_msg_forward2, a hook that allows
2325	external libraries to provide a function that returns the real
2326	forwarding function based on both the selector and the receiver.
2327	* objc/objc-api.h: Define __objc_msg_forward2.
2328
23292007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
2330
2331	* Makefile.in: Add dummy install-pdf target.
2332
23332007-02-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2334
2335	* objc/objc-list.h (list_free): Add keyword 'inline' to avoid
2336	unused warning.
2337
23382006-10-31  Geoffrey Keating  <geoffk@apple.com>
2339
2340	* encoding.c (darwin_rs6000_special_round_type_align): New.
2341
23422006-10-14  Geoffrey Keating  <geoffk@apple.com>
2343
2344	* Makefile.in: Use multi_basedir instead of toplevel_srcdir.
2345	* configure.ac: Use multi.m4 from aclocal rather than custom
2346	code.  Use multi_basedir instead of toplevel_srcdir.
2347	* aclocal.m4: Regenerate.
2348	* configure: Regenerate.
2349
23502006-10-10  Brooks Moses  <bmoses@stanford.edu>
2351
2352	* Makefile.in: Added empty "pdf" target.
2353
23542006-07-18  Paolo Bonzini  <bonzini@gnu.org>
2355
2356	* configure: Regenerate.
2357
23582006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
2359
2360	* Makefile.in: Add install-html target. Add install-html to .PHONY
2361
23622006-02-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2363
2364	PR libobjc/26309
2365	* thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
2366
23672006-01-24  David Ayers  <d.ayers@inode.at>
2368
2369	PR libobjc/9751
2370	* gc.c (class_ivar_set_gcinvisible): Replace strncpy with memcpy
2371	and insure the new strings are '\0' termintated.
2372
23732006-01-24  David Ayers  <d.ayers@inode.at>
2374
2375	PR libobjc/13946
2376	* configure.ac: Add include directives for --enable-objc-gc.
2377	* Makefile.in: Ditto.
2378	* configure: Regenerate.
2379
2380	* gc.c (__objc_class_structure_encoding): Increment the used bytes
2381	instead of the local pointer to them.
2382
23832005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>
2384
2385	PR objc/25360
2386	* objc/objc-api.c (_C_COMPLEX): New define.
2387	* encoding.c (objc_sizeof_type): Handle _C_Complex.
2388	(objc_alignof_type): Likewise.
2389	(objc_skip_typespec): Likewise.
2390
23912005-12-15  David Ayers  <d.ayers@inode.at>
2392
2393	PR libobjc/14382
2394	* README (+load,+initialize): Fix documentation to reflect
2395	intended and implemented semantics for +load and +initialize.
2396
23972005-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
2398
2399	* encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and
2400	the name.
2401	(get_inner_array_type): Fix to skip over _C_ARY_B and size.
2402	(rs6000_special_round_type_align): Update for the ABI fix.
2403	(objc_layout_finish_structure): Correct the encoding which is passed to
2404	ROUND_TYPE_ALIGN.
2405
24062005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
2407
2408	PR libobjc/25347
2409	* encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special
2410	but use the struct layout functions.
2411	(objc_alignof_type): Likewise.
2412	(objc_layout_structure): Handle _C_UNION_B also.
2413	(objc_layout_structure_next_member): Likewise.
2414	(objc_layout_finish_structure): Likewise.
2415
24162005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
2417
2418	PR libobjc/25346
2419	* objc/objc-api.h (_C_BOOL): New define.
2420	* encoding.c (objc_sizeof_type): Handle _C_BOOL.
2421	(objc_alignof_type): Likewise.
2422	(objc_skip_typespec): Likewise.
2423
24242005-11-20  David Ayers  <d.ayers@inode.at>
2425
2426	PR libobjc/19024
2427	* objc/hash.h: Remove deprecated hash API.
2428	* hash_compat.c: Remove.
2429	* Makefile.in: Remove reference to hash_compat.c.
2430
2431	* configure.ac (VERSION): Bump library version to 2:0:0.
2432	* configure: Regenerate.
2433
24342005-11-09  Alexandre Oliva  <aoliva@redhat.com>
2435
2436	PR other/4372
2437	* thr-objc.c (_XOPEN_SOURCE): Define.
2438
24392005-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
2440
2441	PR libobjc/23612
2442	* objc/objc-api.h (struct objc_ivar): Move definition to
2443	global scope.
2444
24452005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
2446	    Rasmus Hahn  <rassahah@neofonie.de>
2447
2448	PR libobjc/23108
2449	* archive.c (objc_write_type): Correct the element offset.
2450	(objc_read_type): Likewise.
2451
24522005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
2453
2454	* All files: Update FSF address.
2455
24562005-08-13  Marcin Koziej  <creep@desk.pl>
2457	    Andrew Pinski  <pinskia@physics.uc.edu>
2458
2459	PR libobjc/22492
2460	* exception.c (PERSONALITY_FUNCTION): Fix the PC with finally.
2461
24622005-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2463
2464	* Makefile.in (extra_ldflags_libobjc): New.
2465	(libobjc$(libext).la): Add extra_ldflags_libobjc to the link line.
2466	(libobjc_gc$(libext).la): Likewise.
2467	* configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
2468	"-Wl,-single_module".
2469	* configure: Regenerate.
2470	* linking.m (_objcInit): Remove.
2471
24722005-07-26  Andrew Pinski  <pinskia@physics.uc.edu>
2473
2474	PR libobjc/22606
2475	* Makefile.in (ALL_CFLAGS): Add -fexceptions.
2476
24772005-06-08  David Ayers  <d.ayers@inode.at>
2478
2479	* objc/NXConstStr.h, objc/Object.h, objc/Protocol.h,
2480	objc/encoding.h, objc/hash.h, objc/objc-api.h,
2481	objc/runtime.h, objc/sarray.h, objc/thr.h,
2482	objc/typedstream.h: Do not include Objective-C headers as
2483	system headers.
2484
24852005-06-07  David Ayers  <d.ayers@inode.at>
2486
2487	* archive.c, init.c, selector.c: Include hash.h.
2488	* archive.c, class.c, encoding.c, gc.c, hash.c, hash_compat.c,
2489	init.c, misc.c, nil_method.c, objects.c, sarray.c, selector.c,
2490	sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, thr-mach.c,
2491	thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, thr-rtems.c,
2492	thr-single.c, thr-solaris.c, thr-vxworks.c, thr-win32.c, thr.c:
2493	Include Objective-C headers with quotes and objc/ directory
2494	prefix.
2495
24962005-05-19  Richard Henderson  <rth@redhat.com>
2497
2498	* exception.c: Revert last change.
2499
25002005-05-19  David Ayers  <d.ayers@inode.at>
2501
2502	* exception.c: Include tsystem.h for unwind.h.
2503
25042005-05-09  Mike Stump  <mrs@apple.com>
2505
2506	* configure: Regenerate.
2507
25082005-04-12  Mike Stump  <mrs@apple.com>
2509
2510	* configure: Regenerate.
2511
25122005-03-21  Zack Weinberg  <zack@codesourcery.com>
2513
2514	* Makefile.in: Set gcc_version here.
2515	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Adjust quoting
2516	in definition of toolexeclibdir so that $(gcc_version) is expanded
2517	by the Makefile.
2518	* aclocal.m4, configure: Regenerate.
2519
25202005-03-03  David Ayers  <d.ayers@inode.at>
2521
2522	* objc/hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated
2523	version reference.  Correct typo.
2524
25252005-03-02  David Ayers  <d.ayers@inode.at>
2526
2527	PR libobjc/19024
2528	* Makefile.in (OBJS): Add hash_compat.lo.
2529	(OBJS_GC): Add hash_compat_gc.lo.
2530	(hash_compat_gc.lo): New target and rule.
2531	* objc/hash.h (hash_new, hash_delete, hash_add, hash_remove)
2532	(hash_next, hash_value_for_key, hash_is_key_in_hash)
2533	(hash_ptr, hash_string, compare_ptrs, compare_strings): Prefix
2534	with objc_.  Add deprecated non prefixed inlined versions.
2535	(OBJC_IGNORE_DEPRECATED_API): New macro to hide deprecated
2536	declarations.
2537	* hash.c (hash_new, hash_delete, hash_add, hash_remove, hash_next)
2538	(hash_value_for_key, hash_is_key_in_hash): Prefix with objc_ and
2539	update callers.
2540	* hash_compat.c: New file.
2541	* archive.c: Update callers.
2542	* init.c: Likewise.
2543	* selector.c: Likewise.
2544	* libobjc.def: Add objc_ versions of hash functions.
2545
25462005-02-28  Andrew Pinski <pinskia@physics.uc.edu>
2547
2548	PR libobjc/20252
2549	* Makefile.in (GTHREAD_FLAGS): Remove.
2550	(ALL_CFLAGS): Remove usage of GTHREAD_FLAGS.
2551	* thr-objc.c: Include config.h.
2552	* configure.ac: Instead of looking at GCC's makefile, figure out if
2553	GTHREAD_FLAGS should be defined by looking at the `thread model'
2554	of the current gcc.
2555	* configure: Regenerate.
2556	* config.h.in: Regenerate.
2557
25582005-02-28  Paolo Bonzini  <bonzini@gnu.org>
2559
2560	PR bootstrap/17383
2561	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
2562	(Determine CFLAGS for gthread): Use $host_subdir.
2563	* configure: Regenerate.
2564	* Makefile.in (host_subdir): New.
2565	(INCLUDES): Use it.
2566
25672004-12-20  Andrew Pinski  <pinskia@physics.uc.edu>
2568
2569	PR libobjc/12035
2570	* gc.c: Remove definition of LOGWL, modWORDSZ, and divWORDSZ since
2571	they are not used.
2572	Include limits.h and stdlib.h.
2573	Define BITS_PER_WORD.
2574
25752004-12-12  Alexander Malmberg  <alexander@malmberg.org>
2576
2577	* selector.c (__objc_init_selector_tables): Add missing void to
2578	definition.
2579
25802004-12-02  Richard Sandiford  <rsandifo@redhat.com>
2581
2582	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
2583	* configure, aclocal.m4: Regenerate.
2584
25852004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
2586
2587	* configure: Regenerate for libtool change.
2588
25892004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
2590
2591	* configure: Regenerate for libtool reversion.
2592
25932004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2594
2595	* configure: Regenerate for libtool change.
2596
25972004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2598
2599	* aclocal.m4, config.h.in: Regenerate.
2600
26012004-10-08  Mike Stump  <mrs@apple.com>
2602	    Andrew Pinski  <pinskia@physics.uc.edu>
2603
2604	* aclocal.m4: Rename to ...
2605	* acinclude.m4: here and also use m4_include instead of sinclude.
2606	* aclocal.m4: Regenerate.
2607	* configure: Regenerate.
2608	* configure.ac: Add AM_MAINTAINER_MODE and AM_PROG_CC_C_O.
2609	* Makefile.in (configure): Add @MAINT@ infront of configure.ac
2610
26112004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2612
2613	* archive.c: Fix all the warnings about passing unsigned char*
2614	to char* and the other way too.
2615
26162004-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
2617
2618	PR libobjc/16448
2619	* exception.c: Include config.h
2620	(objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to
2621	SJLJ_EXCEPTIONS.
2622	* configure.ac: Find out what exception handling code we use.
2623	* configure: Regenerate.
2624	* config.h.in: New file, regenerate.
2625
26262004-09-16  Andrew Pinski  <apinski@apple.com>
2627
2628	* encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.
2629
26302004-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2631
2632	* configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to
2633	ACX_NONCANONICAL_TARGET.
2634	* configure: Regenerate.
2635
26362004-08-13  Ziemowit Laski  <zlaski@apple.com>
2637
2638	* objc/sarray.h: Hoist include of assert.h near the top of file,
2639	and mark the remainder of the file 'extern "C"'.
2640
26412004-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2642
2643	* objc/Object.h: Move includes out of extern "C" blocks.
2644	* objc/encoding.h: Likewise.
2645	* objc/hash.h: Likewise.
2646	* objc/objc-api.h: Likewise.
2647	* objc/runtime.h: Likewise.
2648	* objc/sarray.h: Likewise.
2649	* objc/typedstream.h: Likewise.
2650
26512004-08-12  Ziemowit Laski  <zlaski@apple.com>
2652
2653	* objc/NXConstStr.h: Update copyright date; bracket with
2654	'extern "C"' for C++ use; make include syntax consistent
2655	by using <...> instead of "..."; hoist <objc/...> includes
2656	above the 'extern "C"' block.
2657	* objc/Object.h: Likewise.
2658	* objc/Protocol.h: Likewise.
2659	* objc/encoding.h: Likewise.
2660	* objc/hash.h: Likewise.
2661	* objc/runtime.h: Likewise.
2662	* objc/sarray.h: Likewise.
2663	* objc/thr.h: Likewise.
2664	* objc/typedstream.h: Likewise.
2665	* objc/objc-api.h: Add 'extern "C"' block for C++ use.
2666	(objc_static_instances): For C++ case, do away with
2667	zero-sized array.
2668	(objc_method): Hoist definition to file scope.
2669	(_objc_load_callback, _objc_object_alloc, class_get_class_method,
2670	class_get_instance_method, class_create_instance,
2671	class_get_class_name, class_get_instance_size,
2672	class_get_meta_class, class_get_super_class, class_get_version,
2673	class_is_class, class_is_meta_class, class_set_version,
2674	class_get_gc_object_type, class_ivar_set_gcinvisible,
2675	get_imp): Rename 'class' parameter to '_class'.
2676	* objc/objc-list.h: Add 'extern "C"' block for C++ use.
2677	* objc/objc.h: Update copyright date.
2678	(arglist_t): Provide a union tag.
2679
26802004-07-22  Andrew Pinski  <pinskia@physics.uc.edu>
2681
2682	* thr.c (__objc_thread_detach_function): Do not mark as volatile
2683	but instead use the attribute noreturn.
2684
26852004-06-28  Zack Weinberg  <zack@codesourcery.com>
2686
2687	* encoding.c: Rename target_flags with a #define to avoid
2688	conflict with a prior declaration.
2689
26902004-06-24  Andrew Pinski  <apinski@apple.com>
2691
2692	* objc/encoding.h: Wrap the functions with extern "C" for C++
2693	mode.
2694	* objc/hash.h: Likewise.
2695	* objc/objc-api.h: Likewise.
2696	* objc/objc-list.h: Likewise.
2697	* objc/runtime.h: Likewise.
2698	* objc/sarray.h: Likewise.
2699	* objc/thr.h: Likewise.
2700	* objc/typedstream.h: Likewise.
2701
2702
27032004-06-21  Nick Clifton  <nickc@redhat.com>
2704
2705	* encoding.c (BITS_PER_UNIT): Define if a definition is not
2706	provided.
2707
27082004-06-20  Alexander Malmberg  <alexander@malmberg.org>
2709
2710	* Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS).
2711	(exception_gc.lo): New.
2712	(OBJS_GC): Add exception_gc.lo.
2713
27142004-06-17  Richard Henderson  <rth@redhat.com>
2715
2716	* exception.c: New file.
2717	* Makefile.in (exception.lo): New.
2718	(OBJS): Add it.
2719
27202004-06-14  Andrew Pinski  <pinskia@physics.uc.edu>
2721
2722	* linking.m (_objcInit): New empty function
2723	for Darwin only.
2724
27252004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
2726
2727	* configure.ac: Support --enable-shared=libobjc.
2728	* configure: Regenerate.
2729
2730	PR libobjc/15901
2731	* configure.ac: Do not disable shared by default.
2732	* configure: Regenerate.
2733
27342004-06-03  Nicola Pero  <n.pero@mi.flashnet.it>
2735
2736	* Protocol.m ([-isEqual:]): Small optimizations returning
2737	immediately if the argument is equal to self, and accessing
2738	the argument's name directly if it's a protocol.
2739
27402004-06-03  David Ayers  <d.ayers@inode.at>
2741
2742	* Protocol.m ([-isEqual:]): Test the class of the argument.
2743
27442004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2745
2746	* configure.ac (includedir): Rename to ...
2747	(includedirname).
2748	* Makefile.in: s/includedir/includedirname/.
2749
2750	PR target/11572
2751	* configure.ac (includedir): Set to "include"
2752	except for Darwin.
2753	(libext) Set to empty except for Darwin.
2754	* configure: Regenerate
2755	* Makefile.in: s/libobjc.la/libobjc$(libext).la/g.
2756	s/include/$(includedir)/g.
2757
27582004-05-25  Daniel Jacobowitz  <drow@false.org>
2759
2760	* Makefile.in: Add .NOEXPORT.
2761
27622004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2763
2764	Merge from the libobjc-branch
2765	2004-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
2766
2767		* Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.
2768
2769	2004-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
2770
2771		* Makefile.in (OBJC_H): Add objc-deps.h.
2772
2773	2004-01-27  Nicola Pero  <n.pero@mi.flashnet.it>
2774
2775		* Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
2776		([-hash], [-isEqual:]): New methods.
2777
2778	2004-01-27  Richard Frith-Macdonald <rfm@gnu.org>
2779
2780		* sarray.c (sarray_free): Add a better comment.
2781
2782	2004-01-27  Adam Fedor  <fedor@gnu.org>
2783
2784		* hash.c (hash_add): Cast cachep to int.
2785		* selector.c (__sel_register_typed_name): Cast
2786		soffset_decode to int.
2787
2788	2004-01-27  Alexander Malmberg  <alexander@malmberg.org>
2789
2790		* selector.c: Rename register_selectors_from_list to
2791		__objc_register_selectors_from_list. Update caller.
2792		(__objc_register_selectors_from_list): Lock __objc_runtime_mutex
2793		while registering selectors. Use __sel_register_typed_name instead
2794		of sel_register_typed_name. Check for NULL method_name:s.
2795		(pool_alloc_selector): New function.
2796		(__sel_register_typed_name): Use pool_alloc_selector to allocate
2797		selector structures.
2798		* sendmsg.c (class_add_method_list): Use
2799		__objc_register_selectors_from_list.
2800		* objc/runtime.h: Add __objc_register_selectors_from_list.
2801
2802	2004-01-25  Adam Fedor  <fedor@gnu.org>
2803		    Nicola Pero  <n.pero@mi.flashnet.it>
2804		    Andrew Pinski  <pinskia@physics.uc.edu>
2805
2806		* objc/objc-decls.h: New file.
2807		* objc/objc-api.h (_objc_lookup_class): Mark as export.
2808		(_objc_load_callback): Likewise.
2809		(_objc_object_alloc): Likewise.
2810		(_objc_object_copy): Likewise.
2811		(_objc_object_dispose): Likewise.
2812
2813	2004-01-25  Andrew Pinski  <pinskia@physics.uc.edu>
2814
2815		* archive.c: s/__inline__/inline
2816		* sendmsg.c: Likewise.
2817
2818		* encoding.c: Remove FIXME about the warning
2819		about unused variable.
2820		* sendmsg.c: Add a FIXME comment saying that
2821		this should be using libffi.
2822
2823		* Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.
2824
2825
28262004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
2827
2828	* archive.c (objc_read_class): Initialize class_name.
2829	(objc_read_selector): Initialize selector_name.
2830
28312004-05-09  Richard Sandiford  <rsandifo@redhat.com>
2832
2833	* Makefile.in (toolexecdir): Remove trailing space.
2834
28352004-04-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2836
2837	PR libobjc/14948
2838	* configure.ac: De-precious CC so multilibs work.
2839	* configure: Regenerate.
2840
28412004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2842
2843	* configure.ac: Restore toolexecdir.
2844	* Makefile.in: Restore toolexecdir.
2845	* configure: Regenerate.
2846
28472004-04-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2848
2849	* configure.ac: Remove (unused) glibcpp_prefixdir.
2850	* configure: Regenerate.
2851
2852	* configure.in: Rename to configure.ac.
2853	* Makefile.in: Update to match.
2854
2855	* Makefile.in: Remove toolexecdir, glibcpp_toolexecdir (unused).
2856	Replace glibcpp_toolexeclibdir with toolexeclibdir.
2857	* configure.in: Remove glibcpp_toolexecdir (unused).
2858	Replace glibcpp_toolexeclibdir with toolexeclibdir.  Don't generate
2859	config.h or stamp-h (unused).  Move one comment to the right place.
2860	* configure: Regenerate.
2861	* config.h.in: Remove (unused).
2862
2863	* config.h.in: Regenerate with autoheader.
2864
2865	* Makefile.in: Remove (unused) gcc_version_trigger.
2866	* configure.in: Remove (unused) glibcpp_builddir.  Don't AC_SUBST
2867	gcc_version_trigger.
2868	* configure: Regenerate.
2869
2870	* configure.in: Switch to modern style for AC_INIT, AC_OUTPUT.
2871	Sort file into sections.  Remove dnl where appropriate.  Fix
2872	other style issues.
2873	* configure: Regenerate.
2874
2875	* configure.in: Replace old AC_PROG_CC hack with new one.
2876	Define toplevel_srcdir in terms of srcdir, not top_srcdir (there
2877	are no subdirectory output files, so this is fine).  Change prereq
2878	to autoconf 2.59.
2879	* aclocal.m4: Include ../config/no-executables.m4.
2880	* configure: Regenerate with autoconf 2.59.
2881
2882	* configure.in: Improve comments on gthread_cflags.  Improve m4
2883	quotation, and replace 'if test' with 'case', for --enable-objc-gc.
2884	* configure: Regenerate.
2885
2886	* configure.in: Move PACKAGE and VERSION settings up top.  Remove
2887	unused call to AC_PROG_LN_S.  Default RANLIB to ':'.  Remove
2888	redundant checks for values of RANLIB, AR, INSTALL.
2889	* configure: Regenerate.
2890
2891	* configure.in: Clean up handling of
2892	--enable-version-specific-runtime-libs and related variables;
2893	replace 'if test' with 'case' where reasonable.  Fix comments.
2894	Remove useless libstdcxx_interface.
2895	* configure: Regenerate.
2896
2897	* configure.in: Use _GCC_TOPLEV_NONCANONICAL_TARGET.
2898	Replace uses of target_alias with target_noncanonical.
2899	* aclocal.m4: Include ../config/acx.m4.
2900	* configure: Regenerate.
2901	* Makefile.in: Replace uses of target_alias with target_noncanonical.
2902	Fix copyright statement.
2903
2904	* configure.in: Hand-inline bulky, confusing macros from
2905	aclocal.m4.  Replace references to "GNU Objective C" with "GCC".
2906	Update copyright notice.  Remove stuff for automake, which isn't
2907	used in this directory.  Remove emacs local variables.
2908	* aclocal.m4: Remove hand-inlined macros.  Update copyright notice.
2909	* configure: Regenerate.
2910
29112004-03-16  Manfred Hollstein  <mh@suse.com>
2912
2913	* Makefile.in, configure.in, configure: Update copyright years.
2914
29152004-03-15  Manfred Hollstein  <mh@suse.com>
2916
2917	* Makefile.in (LIBOBJC_VERSION, LIBOBJC_GC_VERSION): Use
2918	definition from configure.in.
2919	* configure.in (PACKAGE): Add definition.
2920	(VERSION): Add definition; substitute it in output files.
2921	* configure: Re-generate.
2922
29232004-03-05  Ziemowit Laski  <zlaski@apple.com>
2924
2925	* objc/hash.h (hash_string, compare_strings):
2926	Add type-casts to make Objective-C++ happy.
2927	* objc/typedstream.h (objc_get_stream_class_version):
2928	Rename parameter from 'class' to 'class_name' to make
2929	Objective-C++ happy.
2930
29312004-03-01  Michael Matz  <matz@suse.de>
2932
2933	* Makefile.in (ALL_CFLAGS): Add -fno-strict-aliasing.
2934
29352004-02-06  Ziemowit Laski  <zlaski@apple.com>
2936
2937	* objc/objc-api.h (objc_super): The 'class' field shall
2938	be named 'super_class' #ifdef __cplusplus.
2939
29402004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
2941
2942	PR target/10781
2943	* encoding.c (rs6000_special_round_type_align): Define.
2944
29452004-01-14  Adam Fedor  <fedor@gnu.org>
2946
2947	PR libobjc/12155
2948	* selector.c (__objc_register_instance_methods_to_class): Free
2949	new_list if not used.
2950
29512004-01-09  Andrew Ruder  <aeruder@ksu.edu>
2952
2953	PR libobjc/11904
2954	* sarray.c (sarray_free): Free array->is_copy_of latter.
2955
29562003-12-01  Zack Weinberg  <zack@codesourcery.com>
2957
2958	PR 11433
2959	* Protocol.m (descriptionForInstanceMethod): Don't dereference
2960	instance_methods if it's NULL.
2961	(descriptionForClassMethod): Likewise for class_methods.
2962
29632003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2964
2965	* Makefile.in (runtime-info.h): Remove -Wp.
2966
29672003-10-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2968
2969	* Makefile.in (CC1OBJ): Remove.
2970	(runtime-info.h): Invoke $(CC) so all MULTIFLAGS are handled
2971	correctly.
2972	Use .m extension for temporary file.
2973	Remove assembler temp file.
2974
29752003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2976
2977	* objc/hash.h (hash_string): Don't use a cast as an lvalue.
2978
29792003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2980
2981	* Makefile.in (runtime-info.h): Use MULTIFLAGS.
2982
29832003-09-09  Alan Modra  <amodra@bigpond.net.au>
2984
2985	* configure: Regenerate.
2986
29872003-08-27  Alexander Malmberg  <alexander@malmberg.org>
2988
2989	* Makefile.in, aclocal.m4: Update to $(libdir)/gcc/ instead of
2990	(libdir)/gcc-lib/ when installing.
2991	* configure: Regenerate.
2992
2993Thu Jul 10 10:27:43 2003  Nicola Pero  <n.pero@mi.flashnet.it>
2994
2995	libobjc/9969
2996	* sendmsg.c (get_imp): Fixed rare threading problem.
2997	(__objc_responds_to): Similar fixes.
2998	(objc_msg_lookup): Similar fixes.
2999	(__objc_init_install_dtable): Lock the runtime before checking if the
3000	table is installed.
3001
30022003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
3003
3004	* hash.c, init.c, libobjc.def, libobjc_entry.c, linking.m,
3005	makefile.dos, misc.c, nil_method.c, objects.c, sarray.c,
3006	selector.c, sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c,
3007	thr-mach.c, thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c,
3008	thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c,
3009	thr-win32.c, thr.c: Replace "GNU CC" with "GCC".
3010	* Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
3011	class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
3012	objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h,
3013	objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h,
3014	objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".
3015
3016Tue May 13 14:56:03 2003  Richard Frith-Macdonald <rfm@gnu.org>
3017			  Nicola Pero  <n.pero@mi.flashnet.it>
3018
3019	libobjc/10742
3020	* init.c (class_superclass_of_class): New function.
3021	(create_tree_of_subclasses_inherited_from): Use it.
3022	(__objc_tree_insert_class): Likewise.
3023	(class_is_subclass_of_class): Likewise.
3024
30252003-04-11  David Chad  <davidc@freebsd.org>
3026	    Loren J. Rittle  <ljrittle@acm.org>
3027
3028	libobjc/8562
3029	* objc/hash.h (hash_string): Constify correctly.
3030	(compare_ptrs): Use direct compare.
3031	* objc/objc-list.h (list_nth): Rename index to indx to avoid shadow.
3032	* objc/sarray.h: Global rename index to indx to avoid shadow.
3033
30342003-03-12  Andreas Schwab  <schwab@suse.de>
3035
3036	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
3037	glibcpp_toolexeclibdir.
3038	* configure: Rebuilt.
3039
30402003-02-20  Alexandre Oliva  <aoliva@redhat.com>
3041
3042	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
3043	config.status.
3044	* configure: Rebuilt.
3045
30462003-01-27  Alexandre Oliva  <aoliva@redhat.com>
3047
3048	* aclocal.m4 (glibcpp_toolexeclibdir): Instead of
3049	$(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
3050	version_specific_libs is enabled.
3051	* configure: Rebuilt.
3052
30532003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
3054
3055	* Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
3056	(install-libs, install-headers): Prepend $(DESTDIR) to
3057	destination paths in all (un)installation commands.
3058
30592002-12-02  Zack Weinberg  <zack@codesourcery.com>
3060
3061	* thr-objc.c: Include coretypes.h and tm.h.
3062
30632002-12-01  Zack Weinberg  <zack@codesourcery.com>
3064
3065	* encoding.c, sendmsg.c: Include coretypes.h and tm.h.
3066
30672002-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
3068
3069	* configure.in: Remove skip-this-dir support.
3070	* configure: Regenerate.
3071
30722002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3073
3074	* Makefile.in (all): Fix multilib parallel build.
3075
3076Thu Sep 12 12:44:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3077
3078	* sendmsg.c (nil_method): Declare not to take a variable number of
3079	args.
3080	(objc_msg_lookup): Cast nil_method to IMP before returning it.
3081	(objc_msg_lookup_super): The same.
3082
30832002-09-10  Jan Hubicka  <jh@suse.cz>
3084
3085	* nil_method.c (nil_method): No longer defined with variable
3086	arguments.
3087
30882002-07-02  Rodney Brown  <rbrown64@csc.com.au>
3089
3090	* objc/encoding.h: Fix formatting.
3091	* objc/hash.h: Likewise.
3092	* objc/objc-api.h: Likewise.
3093	* objc/runtime.h: Likewise.
3094	* objc/thr.h: Likewise.
3095	* archive.c: Likewise.
3096	* class.c: Likewise.
3097	* encoding.c: Likewise.
3098	* gc.c: Likewise.
3099	* hash.c: Likewise.
3100	* init.c: Likewise.
3101	* misc.c: Likewise.
3102	* nil_method.c: Likewise.
3103	* objects.c: Likewise.
3104	* sarray.c: Likewise.
3105	* selector.c: Likewise.
3106	* sendmsg.c: Likewise.
3107	* thr-mach.c: Likewise.
3108	* thr.c: Likewise.
3109
31102002-06-25  DJ Delorie  <dj@redhat.com>
3111
3112	* aclocal.m4 (GLIBCPP_CONFIGURE): Split out
3113	GLIBCPP_TOPREL_CONFIGURE.
3114	* configure.in: Call it before AC_CANONICAL_SYSTEM.
3115	* configure: Regenerate.
3116
31172002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3118
3119	* Object.m (forward, read, write): Fix unused parameter warnings.
3120	* encoding.c: Include <stdlib.h>.
3121	(target_flags): Mark with attribute unused.
3122	(atoi): Delete.
3123	* runtime.h (__objc_selector_max_index): Change to unsigned int.
3124	(__objc_generate_gc_type_description): Prototype.
3125	* selector.c (__objc_selector_max_index): Change to unsigned int.
3126
3127Mon Jun 17 18:37:42 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3128
3129	* sendmsg.c (__objc_get_forward_imp): Fix warning by making sure
3130	we always have a return value: if __objc_msg_forward does not
3131	supply a forwarding implementation, return the default
3132	__builtin_apply based one.
3133
31342002-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3135
3136	* Object.m: Fix signed/unsigned warning.
3137	* Protocol.m: Likewise.
3138	* archive.c: Always include stdlib.h.
3139	(objc_read_short, objc_read_unsigned_short, objc_read_int,
3140	objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong):
3141	Fix signed/unsigned warning.
3142	(objc_write_type, objc_read_type, objc_write_types,
3143	objc_read_types): Ensure ctype 8-bit safety.
3144	(__objc_no_write, __objc_no_read): Mark unused parameters.
3145	* class.c (class_table_setup): Specify void arg.
3146	* encoding.c (atoi, objc_sizeof_type, objc_alignof_type,
3147	objc_skip_typespec, objc_skip_offset,
3148	objc_layout_structure_next_member): Ensure ctype 8-bit safety.
3149	(objc_layout_structure_next_member): Ensure variables are
3150	initialized.
3151	* gc.c (__objc_generate_gc_type_description,
3152	class_ivar_set_gcinvisible): Mark unused parameters.
3153	* init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark
3154	unused parameters.
3155	(__objc_init_protocols) Fix signed/unsigned warning.
3156	* nil_method.c (nil_method): Mark unused parameters.
3157	* thr.h (objc_thread_callback): Specify void arg.
3158	* sarray.c (sarray_new, sarray_realloc, sarray_free): Fix
3159	signed/unsigned warning.
3160	(sarray_free): Fix formatting.
3161	* selector.c (sel_types_match): Ensure ctype 8-bit safety.
3162	* sendmsg.c (__objc_init_install_dtable) Mark unused parameters.
3163
31642002-06-09  Andreas Jaeger  <aj@suse.de>
3165
3166	* encoding.c (objc_layout_structure_next_member): Remove unused
3167	variable.
3168
31692002-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3170
3171	* Makefile.in (SHELL): Set to @SHELL@.
3172	(WARN_CFLAGS): New.
3173	(ALL_CFLAGS): Add $(WARN_CFLAGS).
3174
31752002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3176
3177	* aclocal.m4: Allow for PWDCMD to override hardcoded pwd.
3178	* configure: Regenerate.
3179
31802002-05-08  Alexandre Oliva  <aoliva@redhat.com>
3181
3182	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
3183	script entry, and set LD to it when configuring multilibs.
3184	* configure: Rebuilt.
3185
31862002-04-19  David O'Brien  <obrien@FreeBSD.org>
3187
3188	* encoding.c (MAX, MIN, ROUNDING): #undef before defining.
3189
31902002-04-09  Hans-Peter Nilsson  <hp@bitrange.com>
3191
3192	PR objc/6107
3193	* objc/objc-api.h (struct objc_protocol_list): Change type of
3194	member count from int to size_t.
3195
31962002-02-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3197
3198	PR libobjc/4039
3199	* aclocal.m4: Replace with version copied from libstdc++-v3.
3200	* configure.in: Update for changes to aclocal and Makefile.
3201	* configure: Regenerate.
3202	* Makefile.in: Correct install of multilibs and shared libs, use
3203	INSTALL_DATA for include files.
3204
3205Mon Dec 17 17:02:12 2001  Nicola Pero  <nicola@brainstorm.co.uk>
3206
3207	* init.c (__objc_exec_class): Fixed bug in the loop on unclaimed
3208	categories - when an unclaimed category was found, the loop was
3209	doing two steps forward instead of one, so that in certain cases
3210	it was failing to properly load all the categories.  (Reported
3211	with fix by Alexander Malmberg <alexander@malmberg.org>).
3212
32132001-11-14  Aldy Hernandez  <aldyh@redhat.com>
3214
3215	* encoding.c: Add target_flags.
3216
32172001-11-07  Aldy Hernandez  <aldyh@redhat.com>
3218
3219	 * objc/objc-api.h (_C_VECTOR): New.
3220
3221	 * encoding.c (VECTOR_TYPE): New.
3222
3223Mon Oct 29 21:29:21 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3224
3225	* class.c: Rewritten the class table to use optimized, lock-free
3226	lookup.  This more than doubles the speed of class method
3227	invocations.  (class_table_setup), (class_table_insert),
3228	(class_table_replace), (class_table_get_safe),
3229	(class_table_next), (class_table_print),
3230	(class_table_print_histogram): New functions.
3231	(__objc_init_class_tables): Use class_table_setup.
3232	(__objc_add_class_to_hash): Use class_table_get_safe and
3233	class_table_insert.  (objc_lookup_class), (objc_get_class): Do not
3234	assert the existence of the table; do not lock the runtime; use
3235	class_table_get_safe.  (objc_next_class): Use class_table_next.
3236	(__objc_resolve_class_links): Use class_table_next.
3237	(class_pose_as): Use class_table_replace.
3238
32392001-09-10  Ovidiu Predescu  <ovidiu@cup.hp.com>
3240
3241	* gc.c: Removed the DEBUG declaration.
3242
3243Wed Jul 18 12:48:56 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3244
3245	* thr.c (objc_mutex_lock): Invoke __objc_thread_id directly,
3246	rather than through objc_thread_id, to save a function call.
3247	(objc_mutex_trylock, objc_mutex_unlock, objc_condition_wait):
3248	Ditto.
3249
3250Mon Jul 16 12:15:00 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3251
3252	* objc/objc-api.h (object_is_class): Fixed - buggy code was trying
3253	to cast an id to a Class, which can not be done.  Make the check
3254	by using CLS_ISMETA on the class pointer instead.
3255	(object_is_meta_class): Similar fix.
3256
32572001-06-09  Alexandre Oliva  <aoliva@redhat.com>, Stephen L Moshier  <moshier@mediaone.net>
3258
3259	* configure.in (AC_EXEEXT): Work around in case it expands to
3260	nothing, as in autoconf 2.50.
3261	* acinclude.m4: Likewise.
3262	* configure: Rebuilt.
3263
32642001-06-08  Nicola Pero  <n.pero@mi.flashnet.it>
3265
3266	* THREADS: Explain that when we compile libobjc inside GCC, we
3267	always use thr-objc.c as a backend, which uses GCC's thread code.
3268
32692001-06-06  Richard Frith-Macdonald  <rrfm@gnu.org>
3270
3271	* init.c (__objc_send_message_in_list): When setting a new entry
3272	in __objc_load_methods use the method IMP as key, but check to see
3273	if the method is in the hashtable by looking at the IMP also.
3274	Also ... call the method after adding it to the hashtable rather
3275	than before ... thus preventing an obscure possibility of infinite
3276	recursion if a +load method itself loads a subclass.
3277
32782001-05-25  Ovidiu Predescu  <ovidiu@cup.hp.com>
3279
3280	* init.c (__objc_send_message_in_list): When setting a new entry
3281	in __objc_load_methods use the method name as key, not the method
3282	IMP (reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>).
3283
32842001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3285
3286	* objc-features.texi: Move to ../gcc/objc.texi.
3287	* fdl.texi: Remove.
3288	* Makefile.in: Don't generate documentation from
3289	objc-features.texi.
3290
32912001-05-01  Mark Mitchell  <mark@codesourcery.com>
3292
3293	* fdl.texi: New file.
3294	* objc-features.texi: Simplify.
3295	* Makefile.in: Adjust accordingly.
3296
32972001-04-30  Mark Mitchell  <mark@codesourcery.com>
3298
3299	* objc-features.texi: Use the GFDL.
3300
3301Wed Mar 21 04:44:58 EST 2001  John Wehle  (john@feith.com)
3302
3303	* encoding.c (REAL_TYPE): Define.
3304
33052001-03-19  David Edelsohn  <edelsohn@gnu.org>
3306
3307	* encoding.c (TYPE_MODE): Define.
3308
33092001-03-14  Nicola Pero  <n.pero@mi.flashnet.it>
3310
3311	* thr.c (objc_thread_add): New function.
3312	(objc_thread_remove): Ditto.
3313	* objc/thr.h: Declare them.
3314	* libobjc.def: Mention them.
3315
33162001-02-28  Ovidiu Predescu  <ovidiu@cup.hp.com>
3317
3318	* objc-features.texi: Document the @compatibility_alias compiler
3319	directive (description from Nicola Pero <n.pero@mi.flashnet.it>).
3320
3321Fri Feb 23 18:12:00 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3322
3323	* sendmsg.c (__objc_forward): Delete strlen() declaration.
3324
33252001-02-08  Geoffrey Keating  <geoffk@redhat.com>
3326
3327	* configure.in: Don't run AC_PROG_CC_WORKS or AC_EXEEXT, because
3328	we're not interested in the result and they might fail.
3329	* configure: Regenerated.
3330
33312001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3332
3333	* objc-features.texi: Use @email.
3334
33352001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3336
3337	* sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside
3338	printf.
3339
33402000-01-11  Richard Earnshaw  <rearnsha@arm.com>
3341
3342	* encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that
3343	determines the value dynamically.
3344
3345Wed Jan  3 00:49:10 2001  Ovidiu Predescu  <ovidiu@cup.hp.com>
3346
3347	* sendmsg.c: Added __objc_msg_forward, a hook that allows external
3348	libraries to provide a function that returns the real forwarding
3349	function. This can alleviate problems __builtin_apply() and
3350	friends have on various platforms. (Solution suggested by Helge
3351	Hess.)
3352
3353	* objc/objc-api.h: Define __objc_msg_forward.
3354
3355	* sendmsg.c: Define gen_rtx_REG.
3356
33572000-12-06      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3358
3359	* thr-rtems.c: New file. Stub to compile.
3360
33612000-09-06  Alexandre Oliva  <aoliva@redhat.com>
3362
3363	* configure: Rebuilt with new libtool.m4.
3364
3365Tue Aug 15 00:38:56 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3366
3367	* configure.in: Create a config.h file. Check for <sched.h>.
3368	* configure: Regenerate.
3369
3370	* config.h.in: Check for <sched.h>.
3371
33722000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
3373
3374	* configure: Regenerate after change to ../libtool.m4.
3375
33762000-08-14  Andreas Schwab  <schwab@suse.de>
3377
3378	* objc-features.texi (Top): Move @menu at end of node.
3379
33802000-08-11  Manfred Hollstein  <manfredh@redhat.com>
3381
3382	* objc-features.texi: Move @node Top before @menu.
3383
3384Sun Aug  6 23:27:49 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3385
3386	* objc-features.texi: Documented the new -fconstant-string-class
3387	option.
3388
3389Sun Aug  6 22:51:16 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3390
3391	* thr-posix.c: Integrated Chris Ball's <cball@fmco.com> changes to
3392	improve the Posix thread support for Objective-C.
3393
33942000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
3395
3396	* aclocal.m4: Replace copy of ../libtool.m4 with
3397	sinclude(../libtool.m4).
3398
3399Fri Jul 28 08:58:02 2000  Nicola Pero  <nicola@brainstorm.co.uk>
3400
3401	* configure.in: Added libtool support; build shared libraries
3402	if --enable-shared was passed on command line.
3403	* Makefile.in: Modified most compilation commands to use libtool.
3404	* aclocal.m4: New symbolic link to the ../libtool.m4, from the
3405	libtool distribution.
3406
3407Sat Jul 29 00:10:21 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3408
3409	* sarray.c, Object.m: Removed the explicit prototypes for strlen
3410	and memcpy on 64-bit platforms (Suggested by Rodney Brown
3411	<rdb@cup.hp.com>).
3412
34132000-05-12  H.J. Lu  (hjl@gnu.org)
3414
3415	* Makefile.in (GTHREAD_FLAGS): New.
3416	(ALL_CFLAGS): Add $(GTHREAD_FLAGS).
3417	(OBJC_THREAD_FILE): Changed to thr-objc.
3418
3419	* configure.in (GTHREAD_FLAGS): New, check and replace it for
3420	Makefile.
3421	(OBJC_THREAD_FILE): Removed.
3422
3423	* thr-objc.c: New.
3424
34252000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3426
3427	* objc/hash.h: Include string.h.
3428
34292000-04-15  David Edelsohn  <edelsohn@gnu.org>
3430
3431	* Object.m (strlen): 64-bit PowerPC is a 64bit platform as well.
3432
34332000-04-12  Jakub Jelinek  <jakub@redhat.com>
3434
3435	* Object.m (strlen): Provide prototype on all 64bit platforms,
3436	not only alpha.
3437	* sarray.c (memcpy): Likewise.
3438	* encoding.c (objc_layout_finish_structure): Don't use
3439	ROUND_TYPE_ALIGN on sparc.
3440
3441	* encoding.c (objc_layout_structure_next_member): Do the whole
3442	procedure even for the first member, so that we get correct
3443	alignment.
3444
34452000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
3446
3447	* objc/Protocol.h, objc/objc-list.h: Change #endif labels to
3448	comments.
3449
34502000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
3451
3452	* Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS.
3453
3454Thu Sep 23 07:19:12 1999   Chris Ball <cball@fmco.com>
3455
3456	* thr-posix.c (__objc_mutex_deallocate): made deallocate work.
3457
3458Tue Sep 21 07:47:10 1999  Jeffrey A Law  (law@cygnus.com)
3459
3460	* Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to
3461	the compiler when building C code.
3462
3463Fri Aug  6 23:32:29 1999  Daniel Jacobowitz <drow@drow.them.org>
3464
3465	* Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
3466	libdir, libsubdir and tooldir.
3467
3468Mon Jun 21 05:40:15 1999  John David Anglin <dave@hiauly1>
3469
3470	* init.c (__objc_force_linking): Make global.
3471
3472Thu May 20 03:20:59 1999  Jeffrey A Law  (law@cygnus.com)
3473
3474	* configure.in (AC_EXEEXT): Remove call.
3475	(compiler_name): Explicitly check with no extension and .exe
3476	extension.
3477	* configure: Regenerate.
3478
3479Sun Apr 25 01:15:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3480
3481	* Makefile.in (CC1OBJ): Define in terms of CC.
3482	(runtime-info.h): Use.
3483
3484Fri April 8 08:21:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3485
3486	* objc-features.texi: Updated the URL to Boehm's GC page.
3487
3488Fri Mar 26 23:41:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3489
3490	* archive.c (__objc_code_char, __objc_write_char): Explicitly specify
3491	the char as being signed (patch from Daniel Jacobowitz
3492	<drow@false.org>).
3493
3494Wed Mar 24 22:41:28 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3495
3496	* configure.in (AC_PREREQ): Update to 2.13.
3497	(AC_EXEEXT): Call to find possible file extension.
3498	(compiler_name): Use.
3499	* configure: Regenerate.
3500
3501Wed Jan 27 02:31:01 1999  Jeffrey A Law  (law@cygnus.com)
3502
3503	* Makefile.in (ALL_CFLAGS): Add -DIN_GCC.
3504
3505Tue Jan  5 01:38:53 1999  Jeffrey A Law  (law@cygnus.com)
3506
3507	* configure.in (thread_file): Correct and simplify code to find
3508	the thread file.
3509	* configure: Rebuilt.
3510
35111998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
3512
3513	* configure.in (compiler_name): Add check to detect if this
3514	language's compiler has been built.
3515	* configure: Regenerate.
3516
3517Mon Nov 23 16:50:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3518
3519	*  configure.in: Use AC_PREREQ(2.12.1).
3520
3521Thu Nov 19 20:33:37 1998  Jeffrey A Law  (law@cygnus.com)
3522
3523	* Makefile.in (runtime-info.h): Avoid GNU make extensions.
3524
3525Sun Nov  8 17:46:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3526
3527	* Makefile.in (INCLUDES): Add -I$(srcdir)/$(MULTISRCTOP)../include.
3528
3529Thu Oct 22 14:34:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3530
3531	* configure.in: Use AC_CONFIG_AUX_DIR($topsrcdir).
3532
3533Sat Oct 17 05:21:31 1998  Ovidiu Predescu  <ovidiu@slip.net>
3534
3535	* objc-features.texi (Top): Changed the email address.
3536	* objc-features.texi (Garbage Collection): Use @uref instead of @url.
3537
3538Mon Oct 11 21:25:27 1998  Ovidiu Predescu  <ovidiu@slip.net>
3539
3540	* encoding.c: Redefine get_inner_array_type to get the first entry
3541	in the structure.
3542
3543Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald <richard@brainstorm.co.uk>
3544
3545	* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
3546	(objc_get_type_qualifiers): Similarly.
3547	* objc/encoding.h (_C_BYREF): Define.
3548	(_F_BYREF): Define.
3549
35501998-10-07  David S. Miller  <davem@pierdol.cobaltmicro.com>
3551
3552	* objc/sarray.h: Make boffset be an unsigned long when sparc so it
3553	works out on 64-bit systems.
3554
3555Tue Oct  6 20:32:06 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
3556
3557	* Makefile.in (INCLUDES): Make it multilib-friendly.
3558
3559Fri Oct  2 07:12:14 1998  H.J. Lu  (hjl@gnu.org)
3560
3561	* Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc.
3562
3563Thu Oct  1 22:33:03 1998 Robert Lipe  <robertl@dgii.com>
3564			 Jeffrey A Law  (law@cygnus.com)
3565
3566	* Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
3567	(FLAGS_TO_PASS): Added.
3568	(runtime-info.h): Reference cc1ibj via $MULTIBUILDTOP.
3569
3570	* archive.c: Change config.h to tconfig.h.
3571
3572	* configure.in: Find gcc's object directory even for multilibs.
3573
3574Wed Sep 30 18:17:17 1998  Robert Lipe  <robertl@dgii.com>
3575
3576	* configure.in: Escape ^ in grep string.
3577	* configure: Rebuilt.
3578
3579Wed Sep 30 09:14:52 1998  Jeffrey A Law  (law@cygnus.com)
3580
3581	* All .h files pushed down into the objc/ subdirectory.
3582	* Makefile.in (copy_headers): Corresponding changes.
3583	* configure.in (AC_INIT): Corresponding changes.
3584	* configure: Rebuilt.
3585
35861998-09-30  Ben Elliston  <bje@cygnus.com>
3587	    Jeff Law	  <law@cygnus.com>
3588
3589	* Makefile.in: Rewrite.
3590
3591	* configure.in: Likewise.
3592
3593	* configure: Regenerate.
3594
3595	* All .c files.  Remove "objc" prefix when including objc header
3596	files.  Include tconfig.h, not ../tconfig.h.
3597
3598Mon Sep 21 23:27:10 1998  Ovidiu Predescu <ovidiu@slip.net>
3599
3600	* encoding.c (TREE_TYPE, ARRAY_TYPE): Define.
3601	(get_inner_array_type): Define.
3602
36031998-09-21  Ben Elliston  <bje@cygnus.com>
3604
3605	* New directory.  Moved files from ../gcc/objc.
3606
3607Copyright (C) 1998-2020 Free Software Foundation, Inc.
3608
3609Copying and distribution of this file, with or without modification,
3610are permitted in any medium without royalty provided the copyright
3611notice and this notice are preserved.
3612