12024-06-20  Release Manager
2
3	* GCC 12.4.0 released.
4
52023-05-08  Release Manager
6
7	* GCC 12.3.0 released.
8
92022-08-19  Release Manager
10
11	* GCC 12.2.0 released.
12
132022-05-06  Release Manager
14
15	* GCC 12.1.0 released.
16
172021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
18
19	* configure: Re-generate.
20
212020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
22
23	PR target/97865
24	* configure: Regenerate.
25
262020-11-29  John David Anglin  <danglin@gcc.gnu.org>
27
28	* configure: Regenerate.
29
302020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
31
32	* encoding.c (_darwin_rs6000_special_round_type_align):
33	Use DFMode in the emulation of the special round type.
34
352020-05-29  H.J. Lu  <hjl.tools@gmail.com>
36
37	PR bootstrap/95413
38	* configure: Regenerated.
39
402020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
41
42	PR bootstrap/95147
43	* configure: Regenerated.
44
452020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
46
47	* configure: Regenerated.
48
492020-02-12  Sandra Loosemore  <sandra@codesourcery.com>
50
51	PR libstdc++/79193
52	PR libstdc++/88999
53
54	* configure: Regenerated.
55
562020-01-24  Maciej W. Rozycki  <macro@wdc.com>
57
58	* Makefile.in (aclocal_deps): Add `toolexeclibdir.m4'.
59	* aclocal.m4: Include `toolexeclibdir.m4'.
60	* configure.ac: Handle `--with-toolexeclibdir='.
61	* configure: Regenerate.
62
632020-01-01  Andrew Pinski  <pinskia@gmail.com>
64
65	PR libobjc/93099
66	* objc/objc-decls.h (objc_EXPORT): Define it to
67	extern for DLL_EXPORT define case.
68
692020-01-01  Jakub Jelinek  <jakub@redhat.com>
70
71	Update copyright years.
72
732019-11-26  Tobias Burnus  <tobias@codesourcery.com>
74
75	* Makefile.in (aclocal_deps): Fix path to cet.m4.
76
772019-09-27  Maciej W. Rozycki  <macro@wdc.com>
78
79	* configure: Regenerate.
80
812019-04-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
82	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
83	    Jakub Jelinek  <jakub@redhat.com>
84
85	PR target/89093
86	* exception.c (PERSONALITY_FUNCTION): Add general-regs-only target
87	attribute for ARM.
88
892019-03-06  Uro�� Bizjak  <ubizjak@gmail.com>
90
91	* encoding.c (DFmode): #undef before #define.
92
932019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
94
95	PR other/16615
96	* objc/runtime.h: Change "can not" to "cannot".
97
982019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
99
100	PR other/16615
101
102	* class.c: Mechanically replace "can not" with "cannot".
103	* objc/runtime.h: Likewise.
104	* sendmsg.c: Likewise.
105
1062019-01-01  Jakub Jelinek  <jakub@redhat.com>
107
108	Update copyright years.
109
1102018-10-31  Joseph Myers  <joseph@codesourcery.com>
111
112	PR bootstrap/82856
113	* configure.ac: Remove AC_PREREQ.
114	* aclocal.m4, config.h.in, configure: Regenerate.
115
1162018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
117
118	* configure: Regenerated.
119
1202018-04-19  Jakub Jelinek  <jakub@redhat.com>
121
122	* configure: Regenerated.
123
1242018-04-18  David Malcolm  <dmalcolm@redhat.com>
125
126	PR jit/85384
127	* configure: Regenerate.
128
1292018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
130
131	PR target/84148
132	* configure: Regenerate.
133
1342018-01-03  Jakub Jelinek  <jakub@redhat.com>
135
136	Update copyright years.
137
1382017-11-23  Tom de Vries  <tom@codesourcery.com>
139
140	* class.c (CLASS_TABLE_HASH): Wrap in "do {} while (0)".
141
1422017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
143
144	* Makefile.in: Regenerate.
145	* aclocal.m4: Likeiwse.
146	* configure: Likewise.
147	* configure.ac: Set CET_FLAGS. Update XCFLAGS.
148
1492017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
150	    Alan Hayward  <alan.hayward@arm.com>
151	    David Sherwood  <david.sherwood@arm.com>
152
153	* encoding.c (_darwin_rs6000_special_round_type_align): Prefix mode
154	names with E_ in case statements.
155
1562017-02-07  Richard Biener  <rguenther@suse.de>
157
158	PR tree-optimization/79256
159	PR middle-end/79278
160	* encoding.c (objc_layout_structure_next_member): Adjust
161	ADJUST_FIELD_ALIGN usage.
162
1632017-01-18  Matthias Klose  <doko@ubuntu.com>
164
165	PR libobjc/78697
166	* configure.ac: Allow default for --with-target-bdw-gc-include.
167	* configure: Regenerate.
168
169	PR libobjc/78698
170	* configure.ac: Use the libgc.la file when available.
171	* configure: Regenerate.
172
1732017-01-17  Jakub Jelinek  <jakub@redhat.com>
174
175	PR other/79046
176	* configure: Regenerated.
177	* configure.ac: Add GCC_BASE_VER.
178	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
179	get version from BASE-VER file.
180	* configure: Regenerated.
181
1822017-01-01  Jakub Jelinek  <jakub@redhat.com>
183
184	Update copyright years.
185
1862016-12-01  Matthias Klose  <doko@ubuntu.com>
187
188	* configure.ac: Don't use pkg-config to check for bdw-gc.
189	* configure: Regenerate.
190
1912016-11-30  Matthias Klose  <doko@ubuntu.com>
192
193	* configure.ac: Set BDW_GC_CFLAGS and BDW_GC_LIBS after checking
194	for the existence of the pkg-config modules.
195	* Regenerate.
196
1972016-11-30  Jakub Jelinek  <jakub@redhat.com>
198
199	* configure.ac (--enable-objc-gc): If not given, default to
200	enable_objc_gc=no.
201	* configure: Regenerated.
202
2032016-11-30  Matthias Klose  <doko@ubuntu.com>
204
205	* configure.ac (--enable-objc-gc): Allow to configure with a
206	system provided boehm-gc.
207	* configure: Regenerate.
208	* Makefile.in (OBJC_BOEHM_GC_LIBS): Get value from configure.
209	* gc.c: Include system bdw-gc headers.
210	* memory.c: Likewise.
211	* objects.c: Likewise.
212
2132016-11-15  Matthias Klose  <doko@ubuntu.com>
214
215	* aclocal.m4: Regenerate.
216	* configure: Likewise.
217
2182016-01-04  Jakub Jelinek  <jakub@redhat.com>
219
220	Update copyright years.
221
2222015-11-07  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
223
224	PR libobjc/24775
225	* encoding.c (_darwin_rs6000_special_round_type_align): Use
226	__CHAR_BIT__ instead of BITS_PER_UNIT.
227	(objc_sizeof_type): Likewise.
228	(objc_layout_structure): Likewise.
229	(objc_layout_structure_next_member): Likewise.
230	(objc_layout_finish_structure): Likewise.
231	(objc_layout_structure_get_info): Likewise.
232
2332015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
234
235	PR libobjc/24775
236	* encoding.c (objc_layout_finish_structure): Remove usage of
237	ROUND_TYPE_SIZE.
238
2392015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
240
241	PR libobjc/24775
242	* sendmsg.c (tm.h): Remove include.
243
2442015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
245
246	PR libobjc/24775
247	* sendmsg.c (gen_rtx): Remove macro.
248	(gen_rtx_MEM): Likewise.
249	(gen_rtx_REG): Likewise.
250	(rtx): Likewise.
251
2522015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
253
254	PR libobjc/24775
255	* sendmsg.c: Remove check of STRUCT_VALUE macro.
256
2572015-05-13  Eric Botcazou  <ebotcazou@adacore.com>
258
259	* configure.ac: Remove manual SJLJ check.
260	* config.h.in: Regenerate.
261	* configure: Likewise.
262	* exception.c: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
263
2642015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
265
266	* aclocal.m4: Regenerated with automake-1.11.6.
267
2682015-05-04  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
269
270	* configure: Regenerate.
271
2722015-05-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
273
274	* acinclude.m4: Include bitfields.m4.
275	* config.h.in: Regenerate.
276	* configure: Likewise.
277	* configure.ac: Invoke gt_BITFIELD_TYPE_MATTERS.
278	* encoding.c: Check HAVE_BITFIELD_TYPE_MATTERS.
279
2802015-04-29  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
281
282	* encoding.c (objc_layout_structure_next_member): Check the value of
283	PCC_BITFIELD_TYPE_MATTERS not if it is defined.
284
2852015-02-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
286
287	PR libobjc/63765
288	* thr.c (_XOPEN_SOURCE): Remove.
289
2902015-01-27  Matthias Klose  <doko@ubuntu.com>
291
292	* sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.
293
2942015-01-09  Dimitris Papavasiliou  <dpapavas@gmail.com>
295
296	PR libobjc/51891
297	* ivars.c: Add a check for classes without instance
298	variables, which have a NULL ivar list pointer.
299
3002015-01-05  Jakub Jelinek  <jakub@redhat.com>
301
302	Update copyright years.
303
3042014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
305
306	PR bootstrap/63784
307	* configure: Regenerated.
308
3092014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
310
311	PR target/63610
312	* configure: Regenerate.
313
3142014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
315
316	* thr.c (_XOPEN_SOURCE): Define as 600.
317
3182014-07-27  Alan Modra  <amodra@gmail.com>
319	    Matthias Klose  <doko@ubuntu.com>
320
321	PR libobjc/61920
322
323	* encoding.c: Define rs6000_special_adjust_field_align_p.
324
3252014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
326
327	Update copyright years
328
3292013-09-20  Alan Modra  <amodra@gmail.com>
330
331	* configure: Regenerate.
332
3332013-07-21   Ond����ej B����lka  <neleai@seznam.cz>
334
335	* class.c: Fix typos.
336	* encoding.c: Likewise.
337	* init.c: Likewise.
338	* objc-private/runtime.h: Likewise.
339	* objc/runtime.h: Likewise.
340	* objc-sync.c: Likewise.
341
3422013-07-04  Kai Tietz  <ktietz@redhat.com>
343
344	* exception.c: Add check for SjLj to SEH blocks.
345
3462013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
347
348	Update copyright years.
349
3502012-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
351
352	* encoding.c (TARGET_VSX): Provide definitions based on the
353	current compilation options, and not based off the target options
354	structure.
355	(TARGET_ALTIVEC): Likewise.
356	(TARGET_64BIT): Likewise.
357
3582012-09-14  David Edelsohn  <dje.gcc@gmail.com>
359
360	* configure: Regenerated.
361
3622012-07-19  Tristan Gingold  <gingold@adacore.com>
363	    Richard Henderson  <rth@redhat.com>
364
365	* exception.c (__gnu_objc_personality_seh0): New function.
366
3672012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
368
369	* configure: Regenerated.
370
3712012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
372
373	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
374	* configure: Regenerate.
375
376	* thr.c (_XOPEN_SOURCE): Define unconditionally.
377
3782011-11-21  Andreas Tobler  <andreast@fgznet.ch>
379
380	* configure: Regenerate.
381
3822011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
383
384	* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
385	* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
386	* configure: Regenerate.
387	* config.h.in: Regenerate.
388
3892011-10-17  Paul Brook  <paul@codesourcery.com>
390	    Matthias Klose  <doko@ubuntu.com>
391
392	* exception.c (parse_lsda_header): hardcode ttype_encoding for older
393	ARM EABI toolchains.
394	(get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
395
3962011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
397
398	PR libobjc/49883
399	* init.c (__objc_exec_class): Work around a bug in clang's code
400	generation.  Clang sets the class->info field to values different
401	from 0x1 or 0x2 (the only allowed values in the traditional GNU
402	Objective-C runtime ABI) to store some additional information, but
403	this breaks backwards compatibility.  Wipe out all the bits in the
404	fields other than the first two upon loading a class.
405
4062011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
407
408	* class.c (objc_lookup_class): Added back for compatibility with
409	clang which seems to emit calls to it.
410
4112011-10-08  Richard Frith-Macdonald <rfm@gnu.org>
412	    Nicola Pero  <nicola.pero@meta-innovation.com>
413
414	PR libobjc/50428
415	* sendmsg.c (__objc_send_initialize): If a class does not have an
416	+initialize method, search for an +initialize method in the
417	superclass and in the ancestor classes and execute the first one
418	that is found.  This makes the GNU runtime behave in the same way
419	as the Apple/NeXT runtime with respect to +initialize methods and
420	subclassing.
421
4222011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
423
424	PR libobjc/50002
425	* class.c (__objc_update_classes_with_methods): Iterate over meta
426	classes as well as normal classes when refreshing the method
427	implementations.  This fixes replacing class methods.
428
4292011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
430
431	* class.c (class_getSuperclass): Fixed to work with meta classes
432	still in construction too.
433
4342011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
435
436	* class.c (class_getSuperclass): Fixed typo in comment.
437
4382011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
439
440	PR libobjc/49882
441	* class.c (class_getSuperclass): Return the superclass if the
442	class is in construction.
443	* objc/runtime.h (class_getSuperclass): Updated documentation.
444
4452011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
446
447	* Makefile.in (INCLUDES): Search
448	$(srcdir)/$(MULTISRCTOP)../libgcc.
449
4502011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
451
452	* objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608.
453
4542011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
455
456	* configure.ac (VERSION): Bumped to 4:0:0.
457	* configure (VERSION): Likewise.
458
4592011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
460
461	* objc/README: Updated.
462	* objc-private/selector.h: Updated comments.
463
4642011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
465
466	* sendmsg.c (class_get_instance_method): Removed.
467	(class_get_class_method): Removed.
468	(objc_get_uninstalled_dtable): Removed.
469
4702011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
471
472	* objc-private/module-abi-8.h (class_get_instance_size): Removed.
473	* objects.c (class_create_instance): Removed.
474	* error.c (__USE_FIXED_PROTOTYPES__): Removed.
475	* gc.c (__objc_generate_gc_type_description): Use
476	class_getInstanceSize() instead of class_get_instance_size().
477	* selector.c (sel_types_match): Made static.
478	(sel_get_typed_uid): Removed.
479	(sel_get_any_typed_uid): Removed.
480	(sel_get_name): Removed.
481	(sel_get_type): Removed.
482	(sel_register_name): Removed.
483	(sel_register_typed_name): Removed.
484	(sel_get_uid): Removed.
485
4862011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
487
488	* encoding.c (method_get_number_of_arguments): Removed.
489	(method_get_sizeof_arguments): Removed.
490
4912011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
492
493	* class.c (objc_next_class): Removed.
494	(class_pose_as): Removed.
495	(CLASSOF): Removed.
496	(class_table_replace): Removed.
497	(objc_lookup_class): Removed.
498
4992011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
500
501	Removed the Traditional Objective-C runtime public API.
502	* Makefile.in (OBJC_DEPRECATED_H): Variable removed.
503	(install-headers): Do not create the objc/deprecated directory and
504	do not install the deprecated headers.
505	(OBJC_H): Removed encoding.h and objc-api.h.
506	* Object.m: Removed all methods with the exception of -class and
507	-isEqual:.  Updated includes.  ([-class]): Use Modern API.
508	* objc/Object.h: Do not include deprecated/Object.h.
509	* objc/deprecated/Object.h: Removed.
510	* linking.m (__objc_linking): Call [Object class] instead of
511	[Object name].
512	* Protocol.m: Removed all methods with the exception of -isEqual:.
513	Updated includes.
514	* objc/Protocol.h: Do not include deprecated/Protocol.h.
515	* objc/deprecated/Protocol.h: Removed.
516	* objc/deprecated/struct_objc_symtab.h: Removed.
517	* objc/deprecated/struct_objc_module.h: Removed.
518	* objc/deprecated/struct_objc_ivar.h: Removed.
519	* objc/deprecated/struct_objc_ivar_list.h: Removed.
520	* objc/deprecated/struct_objc_method.h: Removed.
521	* objc/deprecated/struct_objc_method_list.h: Removed.
522	* objc/deprecated/struct_objc_protocol_list.h: Removed.
523	* objc/deprecated/struct_objc_category.h: Removed.
524	* objc/deprecated/MetaClass.h: Removed.
525	* objc/deprecated/objc_msg_sendv.h: Removed.
526	* objc/deprecated/README: Removed.
527	* objc/deprecated/struct_objc_class.h: Removed.
528	* objc/deprecated/struct_objc_protocol.h: Removed.
529	* objc/deprecated/struct_objc_selector.h: Removed.
530	* objc/encoding.h: Removed.
531	* objc/message.h (struct objc_super): Removed the definition for
532	the Traditional Objective-C runtime API.
533	* objc/objc.h: Do not include objc/objc-decls.h.
534	deprecated/struct_objc_selector.h, deprecated/MetaClass.h,
535	deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h
536	and deprecated/objc_msg_sendv.h.  Uncommented new definition of
537	Protocol *.
538	* objc/objc-api.h: Removed.
539	* objc/runtime.h: Updated comments.  Removed check to detect
540	concurrent usage of Traditional and Modern APIs.
541	* objc-private/module-abi-8.h: Always define struct objc_class and
542	struct objc_protocol.  (struct objc_protocol_list): Changed type
543	of 'list' argument from 'Protocol *' to 'struct objc_protocol *'.
544	(class_get_instance_size): Added.
545	* objc-private/protocols.h (__objc_protocols_add_protocol): Take a
546	'struct objc_protocol *' as argument, not a 'Protocol *'.
547	* objc-private/runtime.h: Updated comments.
548	* objc-private/selector.h (struct objc_selector, sel_eq): Added.
549	* class.c: Include objc-private/selector.h.
550	(objc_get_meta_class): Return a Class instead of a MetaClass.
551	* encoding.c (method_get_next_argument): Removed.
552	(method_get_first_argument): Removed.
553	(method_get_nth_argument): Removed.
554	* gc.c: Include objc/runtime.h instead of objc/encoding.h.
555	Include objc-private/module-abi-8.h and ctype.h.
556	* protocols.c (__objc_protocols_add_protocol): Take a 'struct
557	objc_protocl *' as argument, not a 'Protocol *'.
558	(class_addProtocol): Added casts to 'struct objc_protocol *' and
559	'Protocol *'.
560	(class_copyProtocolList): Likewise.
561	(protocol_conformsToProtocol): Likewise.
562	(protocol_copyProtocolList): Likewise.
563	* sarray.c: Include objc-private/module-abi-8.h.
564	* sendmsg.c (method_get_next_argument): Removed.
565	(method_get_first_argument): Removed.
566	(method_get_nth_argument): Removed.
567	(objc_msg_sendv): Removed.
568	(arglist_t, retval_t): New.  (class_get_class_method): Take a
569	'Class', not 'MetaClass', argument.
570	* thr.c: Include module-abi-8.h.
571
5722011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
573
574	* Makefile.in (OBJC_DEPRECATED_H): Removed struct_objc_static_instances.h
575	and objc_get_uninstalled_dtable.h.
576	* objc/deprecated/struct_objc_static_instances.h: Removed.
577	* objc/deprecated/objc_get_uninstalled_dtable.h: Removed.
578	* objc/objc-api.h: Do not include deprecated/objc_static_instances.h
579	and deprecated/objc_get_uninstalled_dtable.h.
580
5812011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
582
583	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_object_alloc.h.
584	* objc/deprecated/objc_object_alloc.h: Removed.
585	* objc/objc-api.h: Do not include deprecated/objc_object_alloc.h.
586	* objects.c (_objc_object_alloc, _objc_object_dispose,
587	_objc_object_copy): Removed.
588	* libobjc.def (__objc_object_alloc, __objc_object_copy,
589	__objc_object_dispose): Removed.
590
5912011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
592
593	* Makefile.in (OBJC_DEPRECATED_H): Removed METHOD_NULL.h.
594	* objc/objc-api.h: Do not include deprecated/METHOD_NULL.h.
595	* objc/deprecated/METHOD_NULL.h: Removed.
596
5972011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
598
599	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h,
600	objc_malloc.h and objc_unexpected_exception.h.
601	(exception.lo): Do not use -Wno-deprecated-declarations.
602	(exception_gc.lo): Likewise.
603	* objc/objc-api.h: Do not include deprecated/objc_valloc.h,
604	deprecated/objc_malloc.h and
605	deprecated/objc_unexpected_exception.h.
606	* objc/deprecated/objc_valloc.h: Removed.
607	* objc/deprecated/objc_malloc.h: Removed.
608	* objc/deprecated/objc_unexpected_exception.h: Removed.
609	* exception.c (_objc_unexpected_exception): Removed.
610	(objc_exception_throw): Do not check for
611	_objc_unexpected_exception.
612	* memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc,
613	_objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed.
614	* libobjc.def (_objc_unexpected_exception, objc_valloc): Removed.
615
6162011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
617
618	* objc/objc.h: Do not include deprecated/STR.h.
619	* objc/deprecated/STR.h: Removed.
620	* Makefile.in (OBJC_DEPRECATED_H): removed STR.h.
621
6222011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
623
624	* Makefile.in (OBJC_H): Removed hash.h and sarray.h.
625	(OBJC_DEPRECATED_H): Likewise.
626	* libobjc.def (objc_hash_new, objc_hash_delete, objc_hash_add,
627	objc_hash_remove, objc_hash_next, objc_hash_value_for_key,
628	objc_hash_is_key_in_hash, hash_add, hash_delete, hash_new,
629	hash_next, hash_remove, hash_value_for_key, hash_is_key_in_hash,
630	sarray_at_put, sarray_at_put_safe, sarray_free, sarray_lazy_copy,
631	sarray_new, sarray_realloc, sarray_remove_garbage): Removed.
632	* objc/sarray.h: Removed.
633	* objc/hash.h: Removed.
634	* objc/deprecated/sarray.h: Removed.
635	* objc/deprecated/hash.h: Removed.
636	* objc/Object.h: Do not include objc/deprecated/hash.h
637	* Object.m: Include string.h.
638	* objc/objc-api.h: Do not include objc/deprecated/hash.h.
639	* objc-private/common.h (GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF):
640	Removed.
641
6422011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
643
644	* Object.m ([-forward::]): Removed.
645	* objc/deprecated/Object.h ([-forward::]): Removed.
646	* sendmsg.c (__objc_forward): Updated comments.
647
6482011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
649
650	* Makefile.in (OBJC_H): Removed objc-list.h.
651	(OBJC_DEPRECATED_H): Removed objc-list.h.
652	* objc/objc-list.h: File removed.
653	* objc/deprecated/objc-list.h: File removed.
654
6552011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
656
657	* Makefile.in (OBJC_H): Removed typedstream.h.
658	(OBJC_DEPRECATED_H): Removed typedstream.h.
659	(C_SOURCE_FILES): Removed archive.c.
660	(Object.lo): Rule removed.
661	(Object_gc.lo): Likewise.
662	(archive.lo): Likewise.
663	(archive_gc.lo): Likewise.
664	* objc/deprecated/Object.h ([+streamVersion:], [-read], [-write],
665	[-awake]): Removed.
666	Do not include deprecated/typedstream.h.
667	* Object.m: Removed the same methods.
668	* archive.c: File removed.
669	* objc/typedstream.h: File removed.
670	* objc/deprecated/typedstream.h: File removed.
671	* libobjc.def (__objc_read_nbyte_uint, __objc_read_nbyte_ulong,
672	__objc_write_class, __objc_write_object, __objc_write_selector,
673	objc_close_typed_stream, objc_end_of_typed_stream,
674	objc_flush_typed_stream, objc_get_stream_class_version,
675	objc_open_typed_stream, objc_open_typed_stream_for_file,
676	objc_read_array, objc_read_char, objc_read_int, objc_read_long,
677	objc_read_object, objc_read_selector, objc_read_short,
678	objc_read_string, objc_read_type, objc_read_types,
679	objc_read_unsigned_char, objc_read_unsigned_int,
680	objc_read_unsigned_long, objc_read_unsigned_short,
681	objc_write_array, objc_write_char, objc_write_int,
682	objc_write_long, objc_write_object, objc_write_object_reference,
683	objc_write_root_object, objc_write_selector, objc_write_short,
684	objc_write_string, objc_write_string_atomic, objc_write_type,
685	objc_write_types, objc_write_unsigned_char,
686	objc_write_unsigned_int, objc_write_unsigned_long,
687	objc_write_unsigned_short): Removed.
688
6892011-06-02  Nicola Pero  <nicola.pero@meta-innovation.com>
690
691	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h.
692	* objc/deprecated/objc_error.h: Removed.
693	* objc/objc-api.h: Do not include deprecated/objc_error.h.
694	* libobjc.def (objc_error, objc_verror): Removed.
695	* error.c (_objc_error_handler, objc_error, objc_verror,
696	objc_set_error_handler): Removed.
697	* Object.m ([-error:], [-perform:], [-perform:with:],
698	[-perform:with:with], [-subclassResponsibility:],
699	[-notImplemented:], [-shouldNotImplement:], [-doesNotRecognize:]):
700	Removed.
701	* objc/deprecated/Object.h: Removed the same methods.
702	* sendmsg.c (__objc_forward): Do not try to invoke the "error:"
703	method after trying to invoke the "doesNotRecognize:" method.
704
7052011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
706
707	* sendmsg.c: Reindented part of the file.  No non-trivial changes
708	in code.
709
7102011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
711
712	* sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
713	not objc_lookup_class.
714
7152011-05-25  Richard Frith-Macdonald <rfm@gnu.org>
716	    David Ayers  <ayers@fsfe.org>
717
718	PR libobjc/38307
719	* sendmsg.c: Include objc/hash.h.
720	(get_implementation): New function, mostly with code from get_imp
721	updated to support the new +initialize dispatch table logic.
722	(get_imp): Use get_implementation.
723	(__objc_responds_to): Updated to support the new +initialize
724	dispatch table logic.
725	(class_respondsToSelector): Likewise.
726	(objc_msg_lookup): Use get_implementation.
727	(__objc_init_install_dtable): Removed.
728	(__objc_install_methods_in_dtable): Updated arguments.
729	(__objc_install_dispatch_table_for_class): Renamed to
730	__objc_install_dtable_for_class and updated to support the new
731	+initialize dispatch table logic.
732	(__objc_update_dispatch_table_for_class): Updated to support the
733	new +initialize dispatch table logic.
734	(__objc_forward): Call get_implementation instead of get_imp.
735	(prepared_dtable_table): New.
736	(__objc_prepare_dtable_for_class): New.
737	(__objc_prepared_dtable_for_class): New.
738	(__objc_get_prepared_imp): New.
739	(__objc_install_prepared_dtable_for_class): New.
740
7412011-05-24  Nicola Pero  <nicola.pero@meta-innovation.com>
742
743	PR libobjc/48177
744	* selector.c (__sel_register_typed_name): Use sel_types_match()
745	instead of strcmp() to compare selector types (Suggestion by
746	Richard Frith-Macdonald <rfm@gnu.org>).
747
7482011-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
749
750	PR libobjc/32037
751	* Makefile.in (OBJC_GCFLAGS): Move ...
752	* configure.ac (enable_objc_gc): ... here.
753	Add $(libsuffix) to OBJC_BOEHM_GC.
754	* configure: Regenerate.
755
7562011-02-28  Nicola Pero  <nicola.pero@meta-innovation.com>
757
758	* selector.c (sel_getTypedSelector): Return NULL if there are
759	multiple selectors with conflicting types.
760	* objc/runtime.h (sel_getTypedSelector): Updated documentation.
761
7622011-02-28  Richard Frith-Macdonald <rfm@gnu.org>
763
764	PR libobjc/47922
765	* gc.c (class_ivar_set_gcinvisible): Use _C_GCINVISIBLE instead of
766	a hardcoded "!".
767
7682011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
769
770	* configure: Regenerate.
771
7722010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>
773
774	* init.c (create_tree_of_subclasses_inherited_from): Use
775	class_superclass_of_class instead of assuming a class is
776	unresolved when it could be resolved.  Tidied up assignment and
777	check.
778	(__objc_tree_insert_class): Enhanced DEBUG_PRINTF.
779	(objc_tree_insert_class): Tidied up loop; return immediately upon
780	inserting a class.
781	(__objc_exec_class): Do not set __objc_class_tree_list.
782
7832010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
784
785	* selector.c (sel_getTypedSelector): Return NULL if given a NULL
786	argument.
787	(sel_registerTypedName): Same.
788	(sel_registerName): Same.
789	* objc/runtime.h: Updated documentation.
790
7912010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
792
793	* objc/runtime.h (class_addIvar): Updated documentation.  The
794	alignment is actually the log_2 of the alignment in bytes.
795	* ivars.c (class_addIvar): Corresponding change to the
796	implementation.
797
7982010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
799
800	* objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to
801	be consistent with method_getTypeEncoding and
802	ivar_getTypeEncoding.
803	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
804	* selector.c (sel_getType): Renamed to sel_getTypeEncoding.
805	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
806	(sel_get_type): Updated call to sel_getType.
807
8082010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
809
810	* objc/runtime.h (class_conformsToProtocol,
811	class_copyProtocolList): Updated documentation.
812
8132010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
814
815	* init.c (create_tree_of_subclasses_inherited_from): Updated
816	DEBUG_PRINTF messages.
817	(__objc_tree_insert_class): Same.
818	(__objc_send_load_using_method_list): Same.
819	(__objc_send_load): Same.
820	(__objc_exec_class): Same.  In particular, do not print the module
821	name since it is no longer used.
822	* sendmsg.c (__objc_send_initialize): Added DEBUG_PRINTFs for
823	tracking +initialize calls.
824	(__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for
825	tracking updates of dispatch tables.
826	(__objc_install_dispatch_table_for_class): Same.
827
8282010-12-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
829
830	* Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc.
831	(libobjc_gc$(libsuffix).la): Likewise.
832
8332010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
834
835	* sendmsg.c (class_addMethod): Return NO if the method already
836	exists in the class.
837
8382010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
839
840	* init.c (duplicate_classes): New.
841	(__objc_exec_class): Initialize duplicate_classes.
842	(__objc_create_classes_tree): Ignore classes in the
843	duplicate_classes table.
844	(__objc_call_load_callback): Same.
845	(__objc_init_class): If a duplicate class is found, add it to
846	duplicate_classes instead of aborting.  Return YES if the class is
847	not a duplicate, and NO if it is.
848	* objc-private/runtime.h (__objc_init_class): Updated prototype.
849
8502010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
851
852	* objc-private/objc-list.h: Reindented file.  No code changes.
853	* objc-private/sarray.h: Same change.
854
8552010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
856
857	* objc-private/accessors.h: Removed 'extern "C"' guards.  This
858	file is never compiled with C++.
859	* objc-private/hash.h: Same change.
860	* objc-private/objc-list.h: Same change.
861	* objc-private/objc-sync.h: Same change.
862	* objc-private/protocols.h: Same change.
863	* objc-private/runtime.h: Same change.
864	* objc-private/sarray.h: Same change.
865	* objc-private/selector.h: Same change.
866
8672010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
868
869	PR libobjc/18764
870	* class.c (__objc_add_class_to_hash): Return YES if the class was
871	added, and NO if it already existed.
872	* init.c (__objc_init_class): If __objc_add_class_to_hash returns
873	NO, then abort the program with an error message.
874	* objc-private/runtime.h (__objc_add_class_to_hash): Updated
875	declaration.
876
8772010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
878
879	* init.c (_objc_load_callback): Initialize with 0.
880	(__objc_call_callback): Renamed to __objc_call_load_callback.
881	Check _objc_load_callback only once, and if it is not set, return
882	immediately.
883	(objc_send_load): Updated call to __objc_call_callback.
884
8852010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
886
887	PR libobjc/16110
888	* init.c (__objc_send_message_in_list): Renamed to
889	__objc_send_load_using_method_list.  Do not take an 'op' argument.
890	Register the 'load' selector if needed.
891	(__objc_send_load): Do not register the 'load' selector.  Updated
892	call to __objc_send_message_in_list.
893	(__objc_create_classes_tree): Add the class of any claimed
894	category that was loaded in the module to the list of classes for
895	which we try to execute +load.
896
8972010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
898
899	* objc-private/common.h: When DEBUG is defined, include <stdio.h>.
900	Updated comments.
901	* init.c (__objc_tree_insert_class): Use %p, not %x, when printing
902	a pointer using DEBUG_PRINTF.
903
9042010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
905
906	PR libobjc/45953
907	* selector.c (__sel_register_typed_name): When registering a new
908	selector with the same name as an existing one, reuse the existing
909	name string.  Also updated types, casts and comments in the whole
910	function.
911
9122010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
913
914	* objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs'
915	to be 'struct objc_selector *' and not 'SEL'.
916	* init.c (__objc_exec_class): Call
917	__objc_register_selectors_from_module instead of iterating over
918	each selector and calling __sel_register_typed_name for each.
919	* objc-private/selector.h: Declare
920	__objc_register_selectors_from_module instead of
921	__sel_register_typed_name.
922	* selector.c (__objc_register_selectors_from_module): New.
923	(__sel_register_typed_name): Made static.
924
9252010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
926
927	* linking.m: Do not include objc/NXConstStr.h.
928
9292010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
930
931	* objc-private/runtime.h (DEBUG_PRINTF): Moved from here ...
932	* objc-private/common.h (DEBUG_PRINTF): To here.
933	* hash.c: Do not include objc-private/runtime.h and objc/thr.h.
934
9352010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
936
937	* hash.c: Tidied up comments and indentation.  No code changes.
938
9392010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
940
941	PR libobjc/47012
942	* accessors.m (objc_getProperty): If not atomic, do not
943	retain/autorelease the returned value.
944
9452010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
946
947	* objc-private/runtime.h (__objc_selector_max_index,
948	__objc_init_selector_tables, __objc_register_selectors_from_class,
949	__objc_register_selectors_from_list,
950	__objc_register_selectors_from_description_list): Moved to ...
951	* objc-private/selector.h: ... here.
952
9532010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
954
955	* objc-private/runtime.h (__objc_class_links_resolved): Removed.
956	(__objc_print_dtable_stats): Removed.
957	(__sel_register_typed_name): Removed.
958	* sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument.
959
9602010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
961
962	* init.c (__objc_exec_class): Call __objc_resolve_class_links (),
963	if appropriate, after loading the module.
964
9652010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
966
967	* sendmsg.c (method_setImplementation): Do not declare.
968
9692010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
970
971	* objc/message.h: Updated comments.
972	* objc/runtime.h: Updated comments.
973
9742010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
975
976	* class.c (objc_lookupClass): Renamed to objc_lookUpClass.
977	* protocols.c: Updated all calls to objc_lookupClass to call
978	objc_lookUpClass instead.
979	* sendmsg.c (objc_lookupClass): Do not declare.
980	(get_imp): Update call to objc_lookupClass to call
981	objc_lookUpClass instead.
982	* objc/runtime.h (objc_lookupClass): Renamed to objc_lookUpClass.
983
9842010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
985
986	* objc/runtime.h (class_ivar_set_gcinvisible): Declare.
987	* sendmsg.c (_CLS_IN_CONSTRUCTION, CLS_IS_IN_CONSTRUCTION): Do not
988	define.  Updated comments.
989
9902010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
991
992	* objc/encoding.h: Updated comments.
993	* objc/runtime.h: Updated comments.
994	(objc_setGetUnknownClassHandler): Mark with objc_EXPORT.
995	(objc_sizeof_type): Same.
996	(objc_alignof_type): Same.
997	(objc_aligned_size): Same.
998	(objc_promoted_size): Same.
999	(objc_skip_type_qualifiers): Same.
1000	(objc_skip_typespec): Same.
1001	(objc_skip_offset): Same.
1002	(objc_skip_argspec): Same.
1003	(objc_get_type_qualifiers): Same.
1004	(objc_layout_structure): Same.
1005	(objc_layout_structure_next_member): Same.
1006	(objc_layout_finish_structure): Same.
1007	(objc_layout_structure_get_info): Same.
1008
10092010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1010
1011	* init.c: Updated comments.
1012	* objc/objc-api.h: Updated comments.
1013	* objc/runtime.h (_objc_load_callback): Declare.
1014
10152010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1016
1017	* objc/Object.h: Include deprecated/typedstream.h and
1018	deprecated/hash.h instead of typedstream.h.  Updated comments.
1019
10202010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1021
1022	* Makefile.in (OBJC_DEPRECATED_H): Added objc_msg_sendv.h.
1023	* objc/deprecated/objc_msg_sendv.h: New.
1024	* objc/message.h: Do not define retval_t, apply_t, arglist,
1025	arglist_t, objc_msg_sendv, now in
1026	objc/deprecated/objc_msg_sendv.h.
1027	* objc/objc.h: Do not include message.h; include
1028	objc/deprecated/objc_msg_sendv.h instead.  Tidied up comments.
1029	* sendmsg.c: Include objc/message.h.
1030	* thr.c: Include objc/message.h.
1031
10322010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1033
1034	* objc/objc-exception.h: Include objc-decls.h.  Mark all
1035	functions with objc_EXPORT.
1036	* objc/objc-sync.h: Same change.
1037
10382010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1039
1040	* Protocol.m: Moved all methods, with the exception of -isEqual:,
1041	into the 'Deprecated' category.
1042	* objc/Protocol.h: Removed all methods, moved to
1043	objc/deprecated/Protocol.h.  Include objc/deprecated/Protocol.h.
1044	* objc/deprecated/Protocol.h: New.
1045	* Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h.
1046
10472010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1048
1049	* init.c: Include objc-private/selector.h.  Do not declare
1050	__sel_register_typed_name.
1051	* objc-private/selector.h (__sel_register_typed_name): Declare.
1052	* selector.c: Include objc-private/selector.h.
1053
10542010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1055
1056	* class.c: Tidied up comments and indentation.  No code changes.
1057	* error.c: Same.
1058	* exception.c: Same.
1059	* init.c: Same.
1060	* ivars.c: Same.
1061	* memory.c: Same.
1062	* objc-foreach.c: Same.
1063	* objc-sync.c: Same.
1064	* objects.c: Same.
1065	* protocols.c: Same.
1066	* sarray.c: Same.
1067	* thr.c: Same.
1068
10692010-12-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1070
1071	* init.c: Include objc/runtime.h and objc-private/module-abi-8.h
1072	instead of objc/objc-api.h.
1073	(init_check_module_version): Take a 'struct objc_module *'
1074	argument instead of 'Module_t'.  Use 'struct objc_module *'
1075	instead of 'Module_t'.
1076	(__objc_created_classes_tree): Take a 'struct objc_module *'
1077	argument instead of 'Module_t'; use 'struct objc_symtab *' instead
1078	of 'Symtab_t'.
1079	(__objc_call_callback): Take a 'struct objc_module *' argument
1080	instead of 'Module_t'; use 'struct objc_symtab *' instead of
1081	'Symtab_t' and 'struct objc_category *' instead of 'Category_t'.
1082	(_objc_load_callback): Take a 'struct objc_category *' argument
1083	instead of 'Category *'.
1084	(class_superclass_of_class): Use objc_getClass() instead of
1085	objc_lookup_class().
1086	(create_tree_of_subclasses_inherited_from): Same change (also, use
1087	an explicit 'if' instead of '?').
1088	(objc_init_statics): Same change.
1089	(objc_send_load): Same change.
1090	(__objc_init_protocol): same change.
1091	(__objc_send_message_in_list): Take a 'struct objc_method_list *'
1092	argument instead of 'MethodList_t'.  Use 'struct objc_method *'
1093	instead of 'Method_t'.
1094	(__objc_send_load): Use 'struct objc_method_list *' instead of
1095	'MethodList_t'.  Use sel_registerName() instead of
1096	sel_register_name().
1097	(__objc_exec_class): Take a 'struct objc_module *' argument
1098	instead of 'Module_t'.  Use 'struct objc_symtab *' instead of
1099	'Symtab_t'.  Use objc_getClass() instead of objc_lookup_class().
1100	Use 'struct objc_category *' instead of 'Category_t'.
1101
11022010-12-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1103
1104	* sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h.
1105	Include objc-private/module-abi-8.h and objc-private/selector.h
1106	instead of objc/encoding.h.
1107	(objc_msg_lookup_super): Use super->super_class instead of
1108	super->class.
1109	(method_get_first_argument, method_get_next_argument): Declare
1110	locally.
1111	(class_get_instance_method): Declare before using.
1112	(objc_msg_sendv): Use 'struct objc_method' instead of 'Method'.
1113	(__objc_init_dispatch_tables, __objc_send_initialize): Use
1114	sel_registerName() instead of sel_register_name().
1115	(__objc_forward): Use sel_getName() instead of sel_get_name().
1116	(objc_get_uninstalled_dtable): Use 'void' as argument.
1117	* objc-private/selector.h: New.
1118
11192010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1120
1121	* objc/message.h (objc_super): When using the modern API, do not
1122	define Super and Super_t, and always use 'super_class' for the
1123	super class field.
1124	(objc_msg_lookup_super): Updated prototype to use 'struct
1125	objc_super *' instead of 'Super_t'.
1126	* sendmsg.c (objc_msg_lookup_super): Updated prototype to use
1127	'struct objc_super *' instead of 'Super_t'.
1128
11292010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1130
1131	* objc/message.h: Update comments, reindented code and moved
1132	deprecated types and functions at the end of the file.  No code
1133	changes.
1134
11352010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1136
1137	* ivars.c (class_addIvar): Use the 'size' argument instead of
1138	trying to calculate it using objc_sizeof_type().
1139	* objc/runtime.h (class_addIvar): Updated comments.
1140
11412010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1142
1143	* sendmsg.c: Reindented some code and tidied up comments.  No
1144	actual code changes.
1145
11462010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1147
1148	* objc/Object.h: Moved all the methods, with the exception of
1149	-class and -isEqual:, into ...
1150	* objc/deprecated/Object.h: here.
1151	* Object.m: Moved all the methods, with the exception of -class
1152	and -isEqual: into the 'Deprecated' category.
1153
11542010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1155
1156	* objects.c (object_copy): Do not #undef as we are no longer
1157	including objc/objc-api.h.
1158	* selector.c: Include objc/runtime.h and
1159	objc-private/module-abi-8.h.  Do not include objc/objc-api.h and
1160	objc/encoding.h.  Updated
1161	(__objc_register_selectors_from_class): Use struct
1162	objc_method_list * instead of MethodList_t.
1163	(__objc_register_selectors_from_list): Use Method instead of
1164	Method_t.
1165	(struct objc_method_description_list): Do not define here.
1166	(__objc_register_instance_methods_to_class): Use struct
1167	objc_method_list * instead of MethodList_t and Method instead of
1168	Method_t.
1169
11702010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1171
1172	* selector.c: Reindented some code and tidied up comments.  No
1173	actual code changes.
1174
11752010-12-13  Iain Sandoe  <iains@gcc.gnu.org>
1176
1177	* encoding.c (_darwin_rs6000_special_round_type_align): New.
1178	(darwin_rs6000_special_round_type_align): Adjust to use new routine.
1179
11802010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1181
1182	* sendmsg.c (selector_resolveClassMethod): New.
1183	(selector_resolveInstanceMethod): New.
1184	(__objc_resolve_class_method): New.
1185	(__objc_resolve_instance_method): New.
1186	(get_imp): Call __objc_resolve_class_method or
1187	__objc_resolve_instance_method at the appropriate time.
1188	(objc_msg_lookup): Same.
1189	(class_getClassMethod): Same.
1190	(class_getInstanceMethod): Same.
1191	(__objc_init_dispatch_tables): Initialize
1192	selector_resolveClassMethod and selector_resolveInstanceMethod.
1193	* objc/runtime.h: Updated documentation of class_getClassMethod,
1194	class_getInstanceMethod and class_getMethodImplementation.
1195
11962010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1197
1198	* objc-private/module-abi-8.h (struct objc_symtab): Updated
1199	description of sel_ref_cnt and refs.
1200	* objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change.
1201
12022010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
1203
1204	PR target/40125
1205	PR lto/46695
1206	* configure.ac (extra_ldflags_libobjc): Invoke ACX_LT_HOST_FLAGS.
1207	* Makefile.in (lt_host_flags): Import AC_SUBST'd value.
1208	* aclocal.m4: Regenerate.
1209	* configure: Regenerate.
1210
12112010-12-03  Matthias Klose  <doko@ubuntu.com>
1212
1213	* configure.ac (VERSION): Bump the version to 3:0:0.
1214	* configure: Regenerate.
1215
12162010-11-23  Richard Frith-Macdonald <rfm@gnu.org>
1217
1218	* sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to
1219	pass nil as the receiver since we don't know the receiver at this
1220	point.
1221
12222010-11-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1223
1224	* ivars.c: Include stdlib.h.
1225	* protocols.c: Same change.
1226
12272010-10-24  Nicola Pero  <nicola.pero@meta-innovation.com>
1228
1229	* Makefile.in (OBJC_SOURCE_FILES): Added accessors.m.
1230	* accessors.m: New.
1231	* init.c: Include objc-private/accessors.h.
1232	(__objc_exec_class): Call __objc_accessors_init.
1233	* objc-private/accessors.h: New.
1234
12352010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1236
1237	* objc/message.h: Moved initial includes outside of extern "C".
1238	* objc/runtime.h: Add extern "C" for Objective-C++.
1239
12402010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1241
1242	* init.c (objc_send_load): Do not wait for NXConstantString to be
1243	registered before executing +load.  There is no point if
1244	-fconstant-string-class=xxx is used when compiling all modules,
1245	as is the case for almost all users.
1246	* linking.m (__objc_linking): Do not try to forcefully link in
1247	NXConstantString.
1248
12492010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1250
1251	* objc/runtime.h: Updated comments.
1252	(class_addMethod): New.
1253	(class_addIvar): New.
1254	(class_replaceMethod): New.
1255	(objc_allocateClassPair): New.
1256	(objc_registerClassPair): New.
1257	(objc_disposeClassPair): New.
1258	* class.c (objc_allocateClassPair): New.
1259	(objc_registerClassPair): New.
1260	(objc_disposeClassPair): New.
1261	(class_getSuperclass): Return Nil if a class is in construction.
1262	* init.c (__objc_exec_class): Call __objc_init_class.
1263	(__objc_init_class): New.
1264	* ivars.c (class_copyIvarList): Return NULL if class is in
1265	construction.  Do not lock the runtime mutex.
1266	(class_getInstanceVariable): Return NULL if class is in
1267	construction.  Do not lock the runtime mutex.
1268	(class_addIvar): New.
1269	* sendmsg.c (class_addMethod): New.
1270	(class_replaceMethod): New.
1271	* objc-private/module-abi-8.h (__CLS_SETNOTINFO): New.
1272	(_CLS_IN_CONSTRUCTION): New.
1273	(CLS_IS_IN_CONSTRUCTION): New.
1274	(CLS_SET_IN_CONSTRUCTION): New.
1275	(CLS_SET_NOT_IN_CONSTRUCTION): New.
1276	* objc-private/runtime.h (__objc_init_class): New.
1277
12782010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1279
1280	* class.c (class_getSuperclass): Call __objc_resolve_class_links
1281	if the class is not resolved yet.
1282	* ivars.c (class_getInstanceVariable): Use class_getSuperclass.
1283
12842010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
1285
1286	* objc/runtime.h (class_getIvarLayout): New.
1287	(class_getWeakIvarLayout): New.
1288	(class_setIvarLayout): New.
1289	(class_setWeakIvarLayout): New.
1290	* ivars.c (class_getIvarLayout): New.
1291	(class_getWeakIvarLayout): New.
1292	(class_setIvarLayout): New.
1293	(class_setWeakIvarLayout): New.
1294
12952010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1296
1297	* objc/runtime.h (class_copyPropertyList): New.
1298	(class_getProperty): New.
1299	(property_getAttributes): New.
1300	(property_getName): New.
1301	* ivars.c (class_copyPropertyList): New.
1302	(class_getProperty): New.
1303	(property_getAttributes): New.
1304	(property_getName): New.
1305
13062010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1307
1308	* objc-private/runtime.h (__objc_update_classes_with_methods): New.
1309	* class.c (__objc_update_classes_with_methods): New.
1310	(objc_getClassList): Do not lock the class lock.
1311	* methods.c (method_exchangeImplementations): New.
1312	(method_setImplementation): New.
1313	* objc/runtime.h (method_setImplementation): New.
1314	(method_exchangeImplementations): New.
1315
13162010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1317
1318	* Protocol.m: Include objc/runtime.h and
1319	objc-private/module-abi-8.h instead of objc/objc-api.h.  Do not
1320	repeat Protocol's instance variables.
1321	(struct objc_method_description_list): Do not define here.
1322	([-conformsTo:]): Reimplemented on top of protocol_conformsTo().
1323	([descriptionForInstanceMethod:]): Use sel_isEqual() to compare
1324	selectors directly instead of getting names and then using strcmp.
1325	([descriptionForClassMethod:]): Same change.
1326	([-isEqual:]): Reimplemented on top of protocol_isEqual().
1327	* protocols.c (protocol_getMethodDescription): Use sel_isEqual()
1328	to compare selectors directly instead of getting names and then
1329	using strcmp.
1330	* objc/Protocol.h: Updated comments.
1331
13322010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1333
1334	* init.c (__objc_init_protocol): New function which fixes up a
1335	protocol's class pointer, registers it with the runtime, register
1336	all protocol selectors and registers associated protocols too.
1337	(objc_init_statics): Detect if we are initializing protocols, and
1338	if so, use __objc_init_protocol instead of only fixing up the
1339	class pointer.
1340	(__objc_init_protocls): Use __objc_init_protocol.
1341	* objc-private/module-abi-8.h: Updated comments.
1342	* objc-private/runtime.h
1343	(__objc_register_selectors_from_description_list): New.
1344	* selector.c (__objc_register_selectors_from_description_list):
1345	New.  (struct objc_method_description_list): Declare.
1346	* Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name
1347	when accessing the name of a method, which is now correctly a SEL.
1348	([-descriptionForClassMethod:]): Same change.
1349	* protocols.c (protocol_getMethodDescription): Same change.
1350	* objc/runtime.h: Updated comments.
1351	(sel_registerTypedName): Fixed typo in function name.
1352
13532010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1354
1355	PR libobjc/23214
1356	* init.c (objc_init_statics): Do not skip the initialization of a
1357	statics list if the first object has already been initialized; in
1358	the case of Protocols, while the first one may have been
1359	initialized, some others may not have been initialized yet.
1360
13612010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1362
1363	* Makefile.in (OBJC_DEPRECATED_H): Added
1364	objc_get_uninstalled_dtable, objc_object_alloc.h and
1365	struct_objc_static_instances.h.
1366
13672010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1368
1369	* encoding.c (method_copyReturnType): New.
1370	(method_copyArgumentType): New.
1371	(method_getReturnType): New.
1372	(method_getArgumentType): New.
1373	* methods.c (method_getDescription): New.
1374	* objc/runtime.h (method_copyReturnType): New.
1375	(method_copyArgumentType): New.
1376	(method_getReturnType): New.
1377	(method_getArgumentType): New.
1378	(method_getDescription): New.
1379
13802010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1381
1382	* encoding.c: Tidied up comments.
1383	(objc_skip_variable_name): New static inline function.
1384	(objc_sizeof_type): Use objc_skip_variable_name instead of copying
1385	the same code over and over.
1386	(objc_alignof_type): Same.
1387	(objc_aligned_size): Same.
1388	(objc_promoted_size): Same.
1389	(objc_skip_typespec): Same.
1390	(objc_layout_structure_next_member): Same.
1391	(objc_skip_offset): Skip a '-' before the digits (if any).  Fixed
1392	historical bug where objc_skip_offset would skip one byte even if
1393	there is no offset: check that the first offset digit is actually
1394	a digit before skipping it.
1395	(objc_skip_type_qualifiers): Mark as inline.
1396	(objc_skip_typespec): Mark as inline.
1397
13982010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1399
1400	* Makefile.in (C_SOURCE_FILES): Added methods.c.
1401	* encoding.c (method_getNumberOfArguments): New.
1402	(method_get_number_of_arguments): Call
1403	method_getNumberOfArguments.
1404	* ivars.c (ivar_getName): Check for NULL variable argument.
1405	(ivar_getOffset): Check for NULL variable argument.
1406	(ivar_getTypeEncoding): Check for NULL variable argument.
1407	(class_copyIvarList): New.
1408	* methods.c: New.
1409	* protocols.c (class_copyProtocolList): Check for Nil class_
1410	argument.
1411	* sendmsg.c: Use 'struct objc_method *' instead of Method_t, and
1412	'struct objc_method_list *' instead of MethodList_t.
1413	(class_getMethodImplementation): New.
1414	(class_respondsToSelector): New.
1415	(class_getInstanceMethod): New.
1416	(class_getClassMethod): New.
1417	* objc/runtime.h: Updated comments.
1418	(class_copyIvarList): New.
1419	(class_getInstanceMethod): New.
1420	(class_getClassMethod): New.
1421	(class_getMethodImplementation): New.
1422	(class_respondsToSelector): New.
1423	(method_getName): New.
1424	(method_getImplementation): New.
1425	(method_getTypeEncoding): New.
1426	(class_copyMethodList): New.
1427	(method_getNumberOfArguments): New.
1428
14292010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1430
1431	* class.c: Include objc/runtime.h and objc-private/module-abi-8.h
1432	instead of objc/objc-api.h.
1433	(objc_get_unknown_class_handler): Do not define.
1434	(class_isMetaClass): New.
1435	(class_getSuperclass): New.
1436	(class_getVersion): New.
1437	(class_setVersion): New.
1438	(class_getInstanceSize): New.
1439	* exceptions.c: Include objc/runtime.h instead of objc/objc-api.h.
1440	(is_kind_of_exception_matcher): Use objc_getSuperclass instead of
1441	objc_get_super_class.
1442	(get_ttype_entry): Use objc_getRequiredClass instead of
1443	objc_get_class.
1444	* ivars.c (class_getClassVariable): New.
1445	* objects.c: Include objc/runtime.h, objc/thr.h and
1446	objc-private/module-abi-8.h instead of objc/objc-api.h
1447	* objc/runtime.h (class_getClassVariable): New.
1448	(class_isMetaClass): New.
1449	(class_getSuperclass): New.
1450	(class_getVersion): New.
1451	(class_setVersion): New.
1452	(class_getInstanceSize): New.
1453	* objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from
1454	objc/objc-api.h)
1455	(__CLS_INFO): Same.
1456	(__CLS_ISINFO): Same.
1457	(__CLS_SETINFO): Same.
1458	(CLS_ISMETA): Same.
1459	(CLS_ISCLASS): Same.
1460	(CLS_ISRESOLV): Same.
1461	(CLS_SETRESOLV): Same.
1462	(CLS_ISINITIALIZED): Same.
1463	(CLS_SETINITIALIZED): Same.
1464	(CLS_GETNUMBER): Same.
1465	(CLS_SETNUMBER): Same.
1466
14672010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1468
1469	* archive.c: Do not include objc/objc.h.
1470	* class.c: Do not include objc/objc.h.
1471	* encoding.c: Include objc/runtime.h, ctype.h and
1472	objc-private/module-abi-8.h instead of objc/objc-api.h and
1473	objc/encoding.h.
1474	* error.c: Do not include objc/objc.h.
1475	* gc.c: Include tconfig.h and objc/encoding.h only if
1476	OBJC_WITH_GC.
1477	* hash.c: Include objc/runtime.h and objc/thr.h instead of
1478	objc/objc-api.h.  Do not include objc/objc.h.
1479	* init.c: Do not include objc/objc.h.
1480	* ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and
1481	objc/thr.h instead of objc/objc-api.h.  Do not include
1482	objc/objc.h.
1483	* linking.m: Tidied comment.
1484	* memory.c: Include objc/runtime.h instead of objc/objc-api.h.
1485	Do not include objc/objc.h.
1486	* objects.c: Do not include objc/objc.h.
1487	* objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h.
1488	* protocols.c: Do not include objc/objc.h.
1489	* sarray.c: Include objc/runtime.h instead of objc/objc-api.h.  Do
1490	not include objc/objc.h.
1491	* selector.c: Do not include objc/objc.h.
1492	* sendmsg.c: Do not include objc/objc.h.
1493	* thr.c: Include objc/runtime.h instead of objc/objc-api.h.
1494	Do not include objc/objc.h.
1495	* objc/objc-decls.h: Reindented code.
1496	* objc/runtime.h Include objc-decls.h.  Updated comments.
1497	(objc_malloc): New.
1498	(objc_atomic_malloc): New.
1499	(objc_calloc): New.
1500	(objc_realloc): New.
1501	(objc_free): New.
1502	* objc-private/runtime.h: Updated comments.
1503
15042010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1505
1506	* Makefile.in (C_SOURCE_FILES): Added protocols.c.
1507	* objc-private/protocols.h: New.
1508	* protocols.c: New.
1509	* init.c: Include objc-private/protocols.h.
1510	(__objc_exec_class): Call __objc_protocols_init on startup.
1511	(__objc_init_protocols): Call __objc_protocols_add_protocol.
1512	* objc-private/runtime.h: Use (struct objc_method_list *) instead
1513	of MethodList_t, and (struct objc_method *) instead of Method_t.
1514	* objc/deprecated/struct_objc_class.h: Define
1515	__objc_STRUCT_OBJC_CLASS_defined.
1516	* objc-private/module-abi-8.h (struct
1517	objc_method_description_list): New.
1518	(struct objc_class): Only define if
1519	__objc_STRUCT_OBJC_CLASS_defined is undefined.
1520	* objc/runtime.h (class_getName): New.
1521	(objc_getProtocol): New.
1522	(objc_copyProtocolList): New.
1523	(class_addProtocol): New.
1524	(class_conformsToProtocol): New.
1525	(class_copyProtocolList): New.
1526	(protocol_conformsToProtocol): New.
1527	(protocol_isEqual): New.
1528	(protocol_getName): New.
1529	(protocol_getMethodDescription): New.
1530	(protocol_copyMethodDescriptionList): New.
1531	(protocol_getProperty): New.
1532	(protocol_copyPropertyList): New.
1533	(protocol_copyProtocolList): New.
1534	* class.c (class_getName): New.
1535	* selector.c (sel_isEqual): New.
1536
15372010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1538
1539	* selector.c (sel_getName): Return "<null selector>" for a NULL
1540	argument.
1541	(sel_get_name): Return 0 for a NULL argument.
1542	* objc/runtime.h (sel_getName): Updated documentation.
1543
1544	* objc-private/hash.h (class_hash_table): Unused declaration
1545	removed.
1546	(module_hash_table): Same.
1547	* objc/deprecated/hash.h: Same changes.
1548
15492010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1550
1551	* class.c (objc_getClassList): New.
1552	(objc_getRequiredClass): New.
1553	(objc_getMetaClass): New.
1554	(objc_lookupClass): New.
1555	(objc_getClass): New.
1556	(__objc_get_unknown_class_handler): New.
1557	(objc_setGetUnknownClassHandler): New.
1558	(objc_get_class): Use __objc_get_unknown_class_handler.
1559	(objc_lookup_class): Call objc_getClass.
1560	* objc/objc-api.h: Updated comment and copyright notice.
1561	* objc/runtime.h: Updated comments.
1562	(objc_getClass): New.
1563	(objc_lookupClass): New.
1564	(objc_getMetaClass): New.
1565	(objc_getRequiredClass): New.
1566	(objc_getClassList): New.
1567	(objc_setGetUnknownClassHandler): New.
1568	(objc_get_unknown_class_handler): New.
1569	* objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU
1570	instead of __objc_runtime_INCLUDE_GNU as include guard.
1571	* objc-private/error.h (_objc_abort): Mark as noreturn.
1572
15732010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1574
1575	* Makefile.in (C_SOURCE_FILES): Added ivars.c.
1576	* ivars.c: New.
1577	* objc/objc.h: Updated comments.
1578	* objc/runtime.h (object_getClass): New.
1579	(object_getClassName): New.
1580	(object_setClass): New.
1581	(class_getInstanceVariable): New.
1582	(object_getIndexedIvars): New.
1583	(object_getInstanceVariable): New.
1584	(object_setInstanceVariable): New.
1585	(object_getIvar): New.
1586	(object_setIvar): New.
1587	(ivar_getName): New.
1588	(ivar_getOffset): New.
1589	(ivar_getTypeEncoding): New.
1590	* objc-private/module-abi-8.h (struct objc_class): Added.
1591	* objects.c (object_getClassName): New.
1592	(object_setClass): New.
1593
15942010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1595
1596	* objc/objc.h: Updated comments.
1597	* objc/objc-api.h: (object_copy): Added one argument; use a
1598	#define to maintain backwards-compatibility.  Moved
1599	_objc_object_alloc, _objc_object_copy, _objc_object_dispose and
1600	objc_get_uninstalled_dtable into
1601	objc/deprecated/objc_get_uninstalled_dtable.h and
1602	objc/deprecated/objc_object_alloc.h.  Include these files.
1603	* objc/deprecated/objc_get_uninstalled_dtable.h: New.
1604	* objc/deprecated/objc_object_alloc.h: New.
1605	* objc/runtime.h (set_getName): New.
1606	(sel_getType): New.
1607	(sel_getUid): New.
1608	(sel_registerName): New.
1609	(sel_registerTypedName): New.
1610	(sel_isEqual): New.
1611	(class_createInstance): New.
1612	(object_copy): New.
1613	(object_dispose): New.
1614	* objects.c: Do not include tconfig.h.  Include gc_typed.h if
1615	building the garbage collection version.
1616	(__objc_object_alloc): Removed.
1617	(__objc_object_copy): Removed.
1618	(__objc_object_dispose): Removed.
1619	(class_createInstance): New from code in class_create_instance.
1620	Cast second argument of GC_malloc_explicitly_typed.  Use
1621	objc_calloc.  Do not call _objc_object_alloc.
1622	(class_create_instance): Call class_createInstance.
1623	(object_copy): Added extraBytes argument.  Do not call
1624	_objc_object_copy.
1625	(object_dispose): Do not call _objc_object_dispose.
1626	* memory.c (objc_free): When using garbage collection, mark the
1627	argument as unused.
1628	* selector.c (sel_getName): New.
1629	(sel_get_name): Call sel_getName.
1630	(sel_getType): New.
1631	(sel_get_type): Call sel_getType.
1632	(sel_registerName): New.
1633	(sel_register_name): Call sel_registerName.
1634	(sel_registerTypedName): New.
1635	(sel_register_typed_name): Call sel_registerTypedName.
1636	(sel_getUid): New.
1637	(sel_get_uid): Call sel_getUid.
1638
16392010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1640
1641	* objc/objc-api.h: Define Method, Method_t, Category and
1642	Category_t.  Prevent including this file at the same time as
1643	objc/runtime.h.  Updated comments.
1644	* objc/deprecated/struct_objc_method.h: Do not define Method,
1645	Method_t.
1646	* objc/deprecated/struct_objc_category.h: Do not define Category,
1647	Category_t.
1648	* objc-private/module-abi-8.h: New file containing a copy of all
1649	the structure definitions.  Not used yet.
1650	* objc/encoding.h (objc_aligned_size): Removed duplicate
1651	declaration.  Updated comments.
1652	* objc/runtime.h: Added Ivar, objc_property_t, Property, Method,
1653	Category, struct objc_method_description, _C_ID and similar,
1654	_C_CONST and similar and _F_CONST and similar.  Added
1655	objc_sizeof_type, objc_alignof_type, objc_aligned_size,
1656	objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec,
1657	objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers,
1658	struct objc_struct_layout, objc_layout_structure,
1659	objc_layout_structure_next_member, objc_layout_finish_structure,
1660	objc_layout_structure_get_info.  Prevent including this file at
1661	the same time as objc/objc-api.h.
1662
16632010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1664
1665	* Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h,
1666	struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h,
1667	struct_objc_method_list.h, struct_objc_module.h,
1668	struct_objc_protocol_list.h, struct_objc_symtab.h.
1669	* objc/deprecated/struct_objc_category.h: New.
1670	* objc/deprecated/struct_objc_ivar.h: New.
1671	* objc/deprecated/struct_objc_ivar_list.h: New.
1672	* objc/deprecated/struct_objc_method.h: New.
1673	* objc/deprecated/struct_objc_method_list.h: New.
1674	* objc/deprecated/struct_objc_module.h: New.
1675	* objc/deprecated/struct_objc_protocol_list.h: New.
1676	* objc/deprecated/struct_objc_symtab.h: New.
1677	* objc/deprecated/struct_objc_static_instances.h: New.
1678	* objc/objc-api.h: Definitions of deprecated structures moved into
1679	the above header fragment files in objc/deprecated/.  Include the
1680	files instead of definition the structures here.  Updated
1681	comments.
1682	* objc/runtime.h: Updated comments.  Do not include objc-api.h.
1683	(objc_set_enumeration_mutation_handler): Renamed to
1684	objc_setEnumerationMutationHandler.
1685	* objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed
1686	to objc_setEnumerationMutationHandler.
1687	* objc/objc-exception.h (objc_set_exception_matcher): Renamed to
1688	objc_setExceptionMatcher.
1689	(objc_set_uncaught_exception_handler): Renamed to
1690	objc_setUncaughtExceptionHandler.
1691	* exception.c: Same changes.
1692
16932010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1694
1695	* objc-sync.c: Include objc-private/common.h.
1696
16972010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1698
1699	* objc-foreach.c: Include objc-private/common.h.
1700	* objc/deprecated/METHOD_NULL.h: New file.
1701	* objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of
1702	defining METHOD_NULL here.
1703	* Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h.
1704	* Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of
1705	METHOD_NULL.
1706	([-respondsTo:]): Same change.
1707	* objc/objc-api.h (method_get_imp): Converted it into a normal
1708	function so that we can hide the internals of struct objc_method.
1709	* sendmsg.c (method_get_imp): Implemented.
1710
17112010-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
1712
1713	* objc/objc-api.h (struct objc_super, Super, Super_t,
1714	objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward,
1715	objc_msg_forward2): Declarations moved to objc/message.h.  Include
1716	message.h here.
1717	* objc/message.h: Added such declarations; updated comments.
1718
17192010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1720
1721	Implemented fast enumeration for Objective-C.
1722	* Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
1723	(OBJC_H): Added runtime.h
1724	* objc-foreach.c: New file.
1725	* objc/runtime.h: New file.
1726
17272010-09-30  Kai Tietz  <kai.tietz@onevision.com>
1728
1729	* objc/deprecated/struct_objc_class.h: Add padding
1730	to avoid warning with -Wpadded.
1731
17322010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1733
1734	* encoding.c (objc_sizeof_type): Added support for vector type and
1735	for double long types.
1736	(objc_alignof_type): Same change.
1737	(objc_skip_typespec): Same change.
1738	* objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE
1739	instead of '!' since '!' is already used for _C_VECTOR.
1740	* objc/objc-api.h (_C_LNG_DBL): Added.
1741
17422010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1743
1744	* libobjc_entry.c: File removed.
1745
17462010-09-26  Kai Tietz  <kai.tietz@onevision.com>
1747
1748	* sendmsg.c (objc_msg_lookup): Remove inline.
1749	(objc_get_uninstalled_dtable): Likewise.
1750	* encoding.c (objc_skip_type_qualifiers): Likewise.
1751	(objc_skip_offset): Likewise.
1752	* archive.c (__objc_write_object): Likewise
1753	(__objc_write_class):
1754	(__objc_write_selector):
1755	(objc_read_char):
1756	(objc_read_unsigned_char):
1757	(objc_read_short):
1758	(objc_read_unsigned_short):
1759	(objc_read_int):
1760	(objc_read_long):
1761	(__objc_read_nbyte_uint):
1762	(objc_read_unsigned_int):
1763	(objc_read_unsigned_long):
1764	* objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
1765	(objc_EXPORT): Likewise.
1766	* objc/message.h (objc-decls.h): Add include.
1767	* objc/objc-api.h: Mark API by objc_EXPORT.
1768	* libobjc.def (__objc_responds_to): Removed.
1769
17702010-09-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1771
1772	* hash.c: Include objc-private/hash.h instead of objc/hash.h.
1773
1774	* objc/sarray.h: Moved into objc/deprecated/sarray.h;
1775	objc/sarray.h replaced with a placeholder including the file from
1776	the deprecated/ directory.
1777	* objc-private/sarray.h: New file (private copy of sarray.h).
1778	* hash.c: Include <assert.h> instead of "assert.h"
1779	* sarray.c: Include <assert.h> instead of "assert.h".  Include
1780	objc-private/sarray.h instead of objc/sarray.h.
1781	* selector.c: Include objc-private/sarray.h instead of
1782	objc/sarray.h.
1783	* sendmsg.c: Include <assert.h>.  Include objc-private/sarray.h
1784	instead of objc/sarray.h.
1785	* Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.
1786
17872010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1788
1789	* objc-private/objc-list.h (list_remove_elem): Unused function
1790	removed.  (list_nth): Unused function removed.  (list_find):
1791	Unused function removed.  (list_lenght): Unused function removed.
1792
17932010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1794
1795	* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
1796	replaced with a placeholder including the file from the
1797	deprecated/ directory.
1798	* objc/objc-api.h: Updated includes.
1799	* objc/typedstream.h: Updated includes.
1800	* objc-private/hash.h: New file (private copy of hash.h).
1801	* objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
1802	objc/objc-list.h replaced with a placeholder including the file
1803	from the deprecated/ directory.
1804	* objc-private/objc-list.h: New file (private copy of objc-list.h).
1805	* init.c: Include objc-private/hash.h and objc-private/objc-list.h
1806	instead of objc/hash.h and objc/objc-list.h.
1807	* selector.c: Same change.
1808	* class.c: Added include <string.h>, which used to be implicitly included
1809	when hash.h was included.
1810	* exception.c: Same change.
1811	* objects.c: Same change.
1812	* sarray.c: Same change.
1813	* sendmsg.c: Same change.
1814	* Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
1815
18162010-09-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1817
1818	Implemented objc_sync_enter() and objc_sync_exit(), which are
1819	required by @synchronized() to work.
1820	* objc-sync.c: New file.
1821	* objc/objc-sync.h: New file.
1822	* objc-private/objc-sync.h: New file.
1823	* init.c (__objc_exec_class): Call __objc_sync_init() during the
1824	Objective-C runtime startup.
1825	* Makefile.in: Added objc-sync.c and objc-sync.h.
1826	* configure.ac: Added GCC_CHECK_TLS.
1827	* acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4.
1828	* configure: Regenerated.
1829	* config.h.in: Regenerated.
1830
18312010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1832
1833	* Makefile.in (%_gc.lo): New pattern rules to build the
1834	garbage-collected version of the library.  Removed rules for
1835	specific files that are no longer needed.  Standardized all rules.
1836	(C_SOURCE_FILES, OBJC_SOURCE_FILES): New variables.
1837	(OBJS, OBJS_GC): Compute these from C_SOURCE_FILES and
1838	OBJC_SOURCE_FILES.
1839	(INCLUDES): Removed the unused include -I$(srcdir)/objc.
1840
18412010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1842
1843	* memory.c (objc_calloc): Fixed call to GC_malloc when building
1844	with Garbage Colletion.
1845
18462010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1847
1848	* memory.c: Do not include objc-private/runtime.h.
1849
18502010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1851
1852	* objc/deprecated/objc_malloc.h: New file.
1853	* objc/deprecated/objc_valloc.h: New file.
1854	* objc/objc-api.h: Include the files instead of defining
1855	objc_valloc, _objc_malloc() and similar.
1856	* Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and
1857	objc_malloc.h.
1858	* memory.c: Removed the extra layer of indirection of _objc_malloc
1859	and similar.
1860	(objc_calloc): Use GC_malloc in the garbage-collected
1861	implementation as GC_malloc returns memory that is already freed.
1862	(objc_valloc): Deprecated.
1863
18642010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1865
1866	* objc/deprecated/objc_error.h: New file.
1867	* objc/objc-api.h: Include deprecated/objc_error.h instead of
1868	defining objc_error and related.
1869	* error.c: New file.  Added _objc_abort function which replaces
1870	objc_error.  No change in functionality as they both print an
1871	error and abort.
1872	* misc.c: File removed.  Code moved into memory.c and error.c.
1873	* memory.c: New file.
1874	* objc-private/error.h: New file.
1875	* archive.c: Include objc-private/error.h and use _objc_abort
1876	instead of objc_error everywhere.
1877	* class.c: Same change.
1878	* encoding.c: Same change.
1879	* init.c: Same change, and simplified init_check_module_version.
1880	* memory.c: Same change.
1881	* sendmsg.c:  Same change.
1882	* thr.c: Same change.
1883	* Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h.
1884	(OBJ_H): Reordered list.
1885	(OBJS): Removed misc.lo, added memory.lo and error.lo.
1886	(OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo.
1887	(misc_gc.lo): Rule removed.
1888	(error_gc.lo): Rule added.
1889	(memory_gc.lo): Rule added.
1890
18912010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1892
1893	* objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way
1894	to check the API version.  Added some comments.
1895
1896	* objc-private/common.h: New file.
1897	* NXConstStr.m: Include objc-private/common.h.
1898	* Object.m: Same change.
1899	* Protocol.m: Same change.
1900	* archive.c: Same change.
1901	* class.c: Same change.
1902	* encoding.c: Same change.
1903	* exception.c: Same change.
1904	* gc.c: Same change.
1905	* hash.c: Same change.
1906	* init.c: Same change.
1907	* libobjc_entry.c: Same change.
1908	* linking.m: Same change.
1909	* misc.c: Same change (and added a comment).
1910	* nil_method.c: Same change.
1911	* objects.c: Same change.
1912	* sarray.c: Same change.
1913	* selector.c: Same change.
1914	* sendmsg.c: Same change.
1915	* thr.c: Same change.
1916
19172010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1918
1919	* objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP.
1920
19212010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1922
1923	* archive.c: Removed not needed includes.
1924	* class.c: Same change.
1925	* hash.c: Same change.
1926	* misc.c: Same change.
1927	* nil_method.c: Same change.
1928	* objects.c: Same change.
1929	* sarray.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/runtime.h: Moved to objc-private/runtime.h.  Do not include
1936	all the objc/*.h files.
1937	* objc-private/runtime.h: New file.
1938	* archive.c: Include objc-private/runtime.h (and required objc/*.h
1939	files) instead of objc/runtime.h.
1940	* class.c: Same change.
1941	* hash.c: Same change.
1942	* init.c: Same change.
1943	* misc.c: Same change.
1944	* nil_method.c: Same change.
1945	* objects.c: Same change.
1946	* sarray.c: Same change.
1947	* selector.c: Same change.
1948	* sendmsg.c: Same change.
1949	* thr.c: Same change.
1950
19512010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1952
1953	* objc/deprecated/struct_objc_selector.h: New file.  Definition of
1954	'struct objc_selector' and 'sel_eq' moved here.
1955	* objc/deprecated/struct_objc_protocol.h: New file.  Definition of
1956	'struct objc_procotol' moved here.
1957	* objc/deprecated/struct_objc_class.h: New file.  Definition of
1958	'struct objc_class' moved here.
1959	* objc/deprecated/MetaClass.h: New file.  Definition of MetClass
1960	moved here.
1961	* objc/deprecated/STR.h: New file.  Definition of STR moved here.
1962	* objc/message.h: New file.  Definitions for relval_t, apply_t,
1963	arglist, arglist_t and objc_msg_lookup were moved here.
1964	* objc/objc.h: Include the above files instead of defining the
1965	corresponding structs, types and functions here.  Added new opaque
1966	definitions for SEL and Class.  Use Class and not 'struct
1967	objc_class *' in the definition of 'struct objc_object'.
1968	Commented all types defined in the file.  Removed special
1969	definition of BOOL as 'int' on __vxworks; use 'unsigned char'
1970	there as well.
1971	* objc/deprecated/objc-unexpected-exception.h: Renamed to
1972	objc_unexpected_exception.h.
1973	* objc/objc-api.h: Updated include of
1974	objc-unexpetected-exception.h
1975	* objc/objc-exception.h: Updated comments.
1976	* Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header
1977	files.  Reindented list of files.
1978
19792010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1980
1981	* objc/objc-api.h (objc_trace): Unused variable removed.
1982
19832010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1984
1985	* objc/deprecated: New directory.
1986	* objc/deprecated/README: New file.
1987	* objc/README: New file.
1988	* objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
1989	objc/typedstream.h replaced with a placeholder including the file
1990	from the deprecated/ directory.
1991	* objc/deprecated/objc-unexpected-exception.h: New file with the
1992	definition of _objc_unexpected_exception.
1993	* objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
1994	instead of defining _objc_unexpected_exception.
1995	* objc/deprecated/Object.h: New file with the deprecated Object
1996	methods in a 'Deprecated' category.
1997	* objc/Object.h Include deprecated/Object.h instead of defining
1998	the deprecated methods.
1999	* Object.m: Moved deprecated methods into 'Deprecated' category.
2000	* objc-private: New directory.
2001	* objc-private/README: New file.
2002	* Makefile.in (OBJC_DEPRECATED_H): New variable.
2003	(install-headers): Create installation directory for
2004	OBJC_DEPRECATED_H headers, and install them.
2005
20062010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
2007
2008	* objc/objc-exception.h: Fixed include of objc.h.
2009
20102010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
2011
2012	* objc/objc-exception.h: New file.
2013	* exception.c (objc_set_uncaught_exception_handler): Implemented.
2014	(objc_set_exception_matcher): Implemented.
2015	(objc_exception_throw): Use the uncaught exception handler if set.
2016	(PERSONALITY_FUNCTION): Use the exception matcher instead of the
2017	hardcoded isKindOf.
2018	(isKindOf): Renamed to is_kind_of_exception_matcher.  Tidied code
2019	up.  Removed segmentation fault when value is 'nil'.
2020	* objc/objc-api.h (_objc_unexpected_exception): Mark as
2021	deprecated.
2022	* Makefile.in (exception.lo, exception_gc.lo): Use
2023	-Wno-deprecated-declarations when compiling.
2024	(OBJC_H): Added objc-exception.h
2025
20262010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
2027
2028	* objc/typedstream.h: Deprecate all functions in the file.  This
2029	file is obsolete.
2030	* objc/Object.h ([+streamVersion:], [-read:], [-write:],
2031	[-awake]): Documented that these methods are deprecated.  Added a
2032	brief description of the Object class and its relationship to the
2033	NSObject class.
2034	* Makefile.in: Compile archive.c and Object.m with
2035	-Wno-deprecated-declarations.
2036
20372010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
2038
2039	Removed obsolete intermediate threading layer.
2040	* thr.c: Use __gthread_objc_xxx functions directly instead of
2041	__objc_thread_xxx ones.
2042	* objc/thr.h: Removed prototypes of no longer existing
2043	__objc_thread_xxx functions.
2044	* Makefile.in: Removed thr-objc.lo.
2045	* thr-dce.c: File removed.
2046	* thr-decosf1.c: File removed.
2047	* thr-irix.c: File removed.
2048	* thr-mach.c: File removed.
2049	* thr-objc.c: File removed.
2050	* thr-os2.c: File removed.
2051	* thr-posix.c: File removed.
2052	* thr-pthreads.c: File removed.
2053	* thr-rtems.c: File removed.
2054	* thr-single.c: File removed.
2055	* thr-solaris.c: File removed.
2056	* thr-vxworks.c: File removed.
2057	* thr-win32.c: File removed.
2058	* README.threads: File removed.
2059	* THREADS.MACH: File removed.
2060	* THREADS: Updated.
2061
20622010-09-07  Nicola Pero  <nicola.pero@meta-innovation.com>
2063
2064	* Object.m (MAX_CLASS_NAME_LEN): Unused define removed.
2065
20662010-09-06  Iain Sandoe  <iains@gcc.gnu.org>
2067
2068	* encoding.c: Add TARGET_ALIGN_NATURAL definition for m64 powerpc darwin.
2069	Add a comment as to why, update FIXME comments.
2070
20712010-09-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2072
2073	* makefile.dos: Obsolete file removed.
2074
20752010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2076
2077	* aclocal.m4: Regenerate.
2078
20792010-03-23  Dave Korn  <dave.korn.cygwin@gmail.com>
2080
2081	PR libobjc/30445
2082	* configure.ac (extra_ldflags_libobjc): Define appropriately for
2083	Cygwin and MinGW hosts.
2084	* Makefile.am (libobjc_s.a): Remove dead pre-libtool target.
2085	(libobjc.dll): Likewise.
2086	* configure: Regenerate.
2087
20882009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2089
2090	* configure: Regenerate.
2091
20922009-11-28  Jakub Jelinek  <jakub@redhat.com>
2093
2094	* sarray.c (sarray_free): Use old_buckets variable.
2095	* encoding.c (objc_layout_structure_next_member): Remove unused
2096	bfld_type_size variable.
2097
20982009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2099
2100	* configure.ac (AC_PREREQ): Bump to 2.64.
2101
21022009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2103
2104	* aclocal.m4: Regenerate.
2105	* configure: Regenerate.
2106	* config.h.in: Regenerate.
2107
21082009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2109
2110	* Makefile.in (LIBTOOL): Add $(LIBTOOLFLAGS).
2111
21122009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2113
2114	* Makefile.in (AUTOCONF, ACLOCAL, ACLOCAL_AMFLAGS, aclocal_deps):
2115	New variables.
2116	($(srcdir)/configure, $(srcdir)/aclocal.m4): New rules.
2117
21182009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2119
2120	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
2121
21222009-04-09  Nick Clifton  <nickc@redhat.com>
2123
2124	* sendmsg.c: Change copyright header to refer to version 3 of
2125	the GNU General Public License with version 3.1 of the GCC
2126	Runtime Library Exception and to point readers at the COPYING3
2127	and COPYING3.RUNTIME files and the FSF's license web page.
2128	* NXConstStr.m: Likewise.
2129	* Object.m: Likewise.
2130	* Protocol.m: Likewise.
2131	* archive.c: Likewise.
2132	* class.c: Likewise.
2133	* encoding.c: Likewise.
2134	* exception.c: Likewise.
2135	* gc.c: Likewise.
2136	* hash.c: Likewise.
2137	* init.c: Likewise.
2138	* libobjc_entry.c: Likewise.
2139	* linking.m: Likewise.
2140	* misc.c: Likewise.
2141	* nil_method.c: Likewise.
2142	* objc/NXConstStr.h: Likewise.
2143	* objc/Object.h: Likewise.
2144	* objc/Protocol.h: Likewise.
2145	* objc/encoding.h: Likewise.
2146	* objc/hash.h: Likewise.
2147	* objc/objc-api.h: Likewise.
2148	* objc/objc-decls.h: Likewise.
2149	* objc/objc-list.h: Likewise.
2150	* objc/objc.h: Likewise.
2151	* objc/runtime.h: Likewise.
2152	* objc/sarray.h: Likewise.
2153	* objc/thr.h: Likewise.
2154	* objc/typedstream.h: Likewise.
2155	* objects.c: Likewise.
2156	* sarray.c: Likewise.
2157	* selector.c: Likewise.
2158	* thr-dce.c: Likewise.
2159	* thr-decosf1.c: Likewise.
2160	* thr-irix.c: Likewise.
2161	* thr-mach.c: Likewise.
2162	* thr-objc.c: Likewise.
2163	* thr-os2.c: Likewise.
2164	* thr-posix.c: Likewise.
2165	* thr-pthreads.c: Likewise.
2166	* thr-rtems.c: Likewise.
2167	* thr-single.c: Likewise.
2168	* thr-solaris.c: Likewise.
2169	* thr-vxworks.c: Likewise.
2170	* thr-win32.c: Likewise.
2171	* thr.c: Likewise.
2172	* libobjc.def: Change copyright header to refer to version 3 of
2173	the GNU General Public License and to point readers at the COPYING3
2174	file and the FSF's license web page.
2175	* makefile.dos: Likewise.
2176
21772009-04-09  Jakub Jelinek  <jakub@redhat.com>
2178
2179	* Makefile.in: Change copyright header to refer to version
2180	3 of the GNU General Public License and to point readers at the
2181	COPYING3 file and the FSF's license web page.
2182	* configure.ac: Likewise.
2183
21842009-03-12  Richard Frith-Macdonald  <rfm@gnu.org>
2185	    David Ayers  <ayers@fsfe.org>
2186
2187	PR libobjc/27466
2188	* objc/objc-api.h (_objc_unexpected_exception): Declare
2189	new hook.  Update copyright dates.
2190	* exception.c (objc_exception_throw): Use hook.  Update
2191	copyright dates.
2192	* libobjc.def (_objc_unexpected_exception): Export hook.
2193	Update copyright dates.
2194
21952009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2196
2197	* configure: Regenerate.
2198
21992008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2200
2201	* configure: Regenerate.
2202
22032008-11-21  Kai Tietz  <kai.tietz@onevision.com>
2204
2205	*  Object.m (errno): Replaced by errno.h include.
2206	(compare): Cast self to id to prevent warning on comparison.
2207	* objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is
2208	already there.
2209	* sendmsg.c (__objc_print_dtable_stats): Remove type warnings.
2210	* thr-win32.c (__objc_thread_detach): Remove type warning.
2211	(__objc_thread_id): Likewise.
2212	* thr.c (__objc_thread_detach_functiont): Add __builtin_trap ()
2213	for noreturn.
2214
22152008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
2216	    Steve Ellcey  <sje@cup.hp.com>
2217
2218	* configure: Regenerate for new libtool.
2219	* config.h.in: Regenerate for new libtool.
2220
22212008-07-18  Matthias Klose  <doko@ubuntu.com>
2222
2223	* Makefile.in: Ignore missing ../boehm-gc/threads.mk.
2224
22252008-07-18  Matthias Klose  <doko@ubuntu.com>
2226
2227	* Makefile.in: Include ../boehm-gc/threads.mk.
2228	(OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it.
2229
22302008-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2231
2232	* Makefile.in (install-info): New stub target.
2233
22342008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2235
2236	* configure: Regenerate.
2237
22382008-06-14  Kai Tietz  <kai.tietz@onevision.com>
2239
2240	* exception.c (PERSONALITY_FUNCTION): Remove extra decrement
2241	if HAVE_GETIPINFO is not defined.
2242
22432008-06-10  Kai Tietz  <kai.tietz@onevision.com>
2244
2245	* Object.m (compare): Add type id.
2246	* objc/Object.h: Likewise.
2247	* archive.c (objc_read_class): Use size_t to extend version to be
2248	size of pointer scalar width.
2249	* sendmsg.c (rtx): Undefine it before redefinition.
2250	(__objc_print_dtable_stats): Cast arguments to long as intended.
2251
22522008-05-30  Julian Brown  <julian@codesourcery.com>
2253
2254	* exception.c (__objc_exception_class): Initialise as constant
2255	array for ARM EABI. Change macro to static const for non-ARM EABI.
2256	(ObjcException): Add note about structure layout. Remove landingPad
2257	and handlerSwitchValue for ARM EABI.
2258	(get_ttype_entry): Add __ARM_EABI_UNWINDER__ version
2259	of function.
2260	(CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases.
2261	(PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add
2262	ARM EABI unwinding support.
2263	(objc_exception_throw): Use memcpy to initialise exception class.
2264
22652008-05-25  Alan Modra  <amodra@bigpond.net.au>
2266
2267	* encoding.c (strip_array_types): Rename from get_inner_array_type.
2268	(rs6000_special_round_type_align): Update.
2269
22702008-05-09  Julian Brown  <julian@codesourcery.com>
2271
2272	* Makefile.in (LTLDFLAGS): New.
2273	(libobjc$(libsuffix).la, libobjc_gc$(libsuffix).la): Use above.
2274
22752008-04-18  Paolo Bonzini  <bonzini@gnu.org>
2276
2277	PR bootstrap/35457
2278	* aclocal.m4: Regenerate.
2279	* configure: Regenerate.
2280
22812008-01-24  David Edelsohn  <edelsohn@gnu.org>
2282
2283	* configure: Regenerate.
2284
22852007-10-14  H.J. Lu  <hongjiu.lu@intel.com>
2286
2287	* configure.ac: Don't run config-ml.in directly.
2288	(multilib_arg): New.
2289	* configure: Regenerated.
2290
22912007-08-06  Andrew Pinski  <pinskia@gmail.com>
2292
2293	PR libobjc/30731
2294	* exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead
2295	of _Unwind_Word for variables which are used in
2296	read_uleb128/read_sleb128.
2297	(PERSONALITY_FUNCTION): Likewise.
2298
22992007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
2300
2301	* aclocal.m4: Regenerated.
2302
23032007-06-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2304
2305	* configure.ac: Fix a typo in *-*-darwin clause.
2306	* configure: Regenerated.
2307
23082007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
2309
2310	* configure.ac: Fix a typo.
2311	* configure: Regenerated.
2312
23132007-06-02  Paolo Bonzini  <bonzini@gnu.org>
2314
2315	* configure: Regenerate.
2316
23172007-06-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2318
2319	* Makefile.in: Replace all uses of libext with libsuffix.
2320	* configure.ac: Likewise.
2321	* configure: Regenerate.
2322
2323	Revert:
2324	* Makefile.in: Remove all uses of $(libext).
2325
23262007-05-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2327
2328	* Makefile.in: Remove all uses of $(libext).
2329
23302007-05-23  Steve Ellcey  <sje@cup.hp.com>
2331
2332	* configure: Regenerate.
2333	* aclocal.m4: Regenerate.
2334
23352007-04-21  Andrew Ruder  <andy@aeruder.net>
2336
2337	* sendmsg.c (__objc_get_forward_imp): Call
2338	__objc_msg_forward2 for real.
2339
23402007-04-09  Andrew Ruder  <andy@aeruder.net>
2341
2342	* sendmsg.c: Added __objc_msg_forward2, a hook that allows
2343	external libraries to provide a function that returns the real
2344	forwarding function based on both the selector and the receiver.
2345	* objc/objc-api.h: Define __objc_msg_forward2.
2346
23472007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
2348
2349	* Makefile.in: Add dummy install-pdf target.
2350
23512007-02-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2352
2353	* objc/objc-list.h (list_free): Add keyword 'inline' to avoid
2354	unused warning.
2355
23562006-10-31  Geoffrey Keating  <geoffk@apple.com>
2357
2358	* encoding.c (darwin_rs6000_special_round_type_align): New.
2359
23602006-10-14  Geoffrey Keating  <geoffk@apple.com>
2361
2362	* Makefile.in: Use multi_basedir instead of toplevel_srcdir.
2363	* configure.ac: Use multi.m4 from aclocal rather than custom
2364	code.  Use multi_basedir instead of toplevel_srcdir.
2365	* aclocal.m4: Regenerate.
2366	* configure: Regenerate.
2367
23682006-10-10  Brooks Moses  <bmoses@stanford.edu>
2369
2370	* Makefile.in: Added empty "pdf" target.
2371
23722006-07-18  Paolo Bonzini  <bonzini@gnu.org>
2373
2374	* configure: Regenerate.
2375
23762006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
2377
2378	* Makefile.in: Add install-html target. Add install-html to .PHONY
2379
23802006-02-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2381
2382	PR libobjc/26309
2383	* thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
2384
23852006-01-24  David Ayers  <d.ayers@inode.at>
2386
2387	PR libobjc/9751
2388	* gc.c (class_ivar_set_gcinvisible): Replace strncpy with memcpy
2389	and insure the new strings are '\0' termintated.
2390
23912006-01-24  David Ayers  <d.ayers@inode.at>
2392
2393	PR libobjc/13946
2394	* configure.ac: Add include directives for --enable-objc-gc.
2395	* Makefile.in: Ditto.
2396	* configure: Regenerate.
2397
2398	* gc.c (__objc_class_structure_encoding): Increment the used bytes
2399	instead of the local pointer to them.
2400
24012005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>
2402
2403	PR objc/25360
2404	* objc/objc-api.c (_C_COMPLEX): New define.
2405	* encoding.c (objc_sizeof_type): Handle _C_Complex.
2406	(objc_alignof_type): Likewise.
2407	(objc_skip_typespec): Likewise.
2408
24092005-12-15  David Ayers  <d.ayers@inode.at>
2410
2411	PR libobjc/14382
2412	* README (+load,+initialize): Fix documentation to reflect
2413	intended and implemented semantics for +load and +initialize.
2414
24152005-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
2416
2417	* encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and
2418	the name.
2419	(get_inner_array_type): Fix to skip over _C_ARY_B and size.
2420	(rs6000_special_round_type_align): Update for the ABI fix.
2421	(objc_layout_finish_structure): Correct the encoding which is passed to
2422	ROUND_TYPE_ALIGN.
2423
24242005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
2425
2426	PR libobjc/25347
2427	* encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special
2428	but use the struct layout functions.
2429	(objc_alignof_type): Likewise.
2430	(objc_layout_structure): Handle _C_UNION_B also.
2431	(objc_layout_structure_next_member): Likewise.
2432	(objc_layout_finish_structure): Likewise.
2433
24342005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
2435
2436	PR libobjc/25346
2437	* objc/objc-api.h (_C_BOOL): New define.
2438	* encoding.c (objc_sizeof_type): Handle _C_BOOL.
2439	(objc_alignof_type): Likewise.
2440	(objc_skip_typespec): Likewise.
2441
24422005-11-20  David Ayers  <d.ayers@inode.at>
2443
2444	PR libobjc/19024
2445	* objc/hash.h: Remove deprecated hash API.
2446	* hash_compat.c: Remove.
2447	* Makefile.in: Remove reference to hash_compat.c.
2448
2449	* configure.ac (VERSION): Bump library version to 2:0:0.
2450	* configure: Regenerate.
2451
24522005-11-09  Alexandre Oliva  <aoliva@redhat.com>
2453
2454	PR other/4372
2455	* thr-objc.c (_XOPEN_SOURCE): Define.
2456
24572005-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
2458
2459	PR libobjc/23612
2460	* objc/objc-api.h (struct objc_ivar): Move definition to
2461	global scope.
2462
24632005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
2464	    Rasmus Hahn  <rassahah@neofonie.de>
2465
2466	PR libobjc/23108
2467	* archive.c (objc_write_type): Correct the element offset.
2468	(objc_read_type): Likewise.
2469
24702005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
2471
2472	* All files: Update FSF address.
2473
24742005-08-13  Marcin Koziej  <creep@desk.pl>
2475	    Andrew Pinski  <pinskia@physics.uc.edu>
2476
2477	PR libobjc/22492
2478	* exception.c (PERSONALITY_FUNCTION): Fix the PC with finally.
2479
24802005-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2481
2482	* Makefile.in (extra_ldflags_libobjc): New.
2483	(libobjc$(libext).la): Add extra_ldflags_libobjc to the link line.
2484	(libobjc_gc$(libext).la): Likewise.
2485	* configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
2486	"-Wl,-single_module".
2487	* configure: Regenerate.
2488	* linking.m (_objcInit): Remove.
2489
24902005-07-26  Andrew Pinski  <pinskia@physics.uc.edu>
2491
2492	PR libobjc/22606
2493	* Makefile.in (ALL_CFLAGS): Add -fexceptions.
2494
24952005-06-08  David Ayers  <d.ayers@inode.at>
2496
2497	* objc/NXConstStr.h, objc/Object.h, objc/Protocol.h,
2498	objc/encoding.h, objc/hash.h, objc/objc-api.h,
2499	objc/runtime.h, objc/sarray.h, objc/thr.h,
2500	objc/typedstream.h: Do not include Objective-C headers as
2501	system headers.
2502
25032005-06-07  David Ayers  <d.ayers@inode.at>
2504
2505	* archive.c, init.c, selector.c: Include hash.h.
2506	* archive.c, class.c, encoding.c, gc.c, hash.c, hash_compat.c,
2507	init.c, misc.c, nil_method.c, objects.c, sarray.c, selector.c,
2508	sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, thr-mach.c,
2509	thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, thr-rtems.c,
2510	thr-single.c, thr-solaris.c, thr-vxworks.c, thr-win32.c, thr.c:
2511	Include Objective-C headers with quotes and objc/ directory
2512	prefix.
2513
25142005-05-19  Richard Henderson  <rth@redhat.com>
2515
2516	* exception.c: Revert last change.
2517
25182005-05-19  David Ayers  <d.ayers@inode.at>
2519
2520	* exception.c: Include tsystem.h for unwind.h.
2521
25222005-05-09  Mike Stump  <mrs@apple.com>
2523
2524	* configure: Regenerate.
2525
25262005-04-12  Mike Stump  <mrs@apple.com>
2527
2528	* configure: Regenerate.
2529
25302005-03-21  Zack Weinberg  <zack@codesourcery.com>
2531
2532	* Makefile.in: Set gcc_version here.
2533	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Adjust quoting
2534	in definition of toolexeclibdir so that $(gcc_version) is expanded
2535	by the Makefile.
2536	* aclocal.m4, configure: Regenerate.
2537
25382005-03-03  David Ayers  <d.ayers@inode.at>
2539
2540	* objc/hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated
2541	version reference.  Correct typo.
2542
25432005-03-02  David Ayers  <d.ayers@inode.at>
2544
2545	PR libobjc/19024
2546	* Makefile.in (OBJS): Add hash_compat.lo.
2547	(OBJS_GC): Add hash_compat_gc.lo.
2548	(hash_compat_gc.lo): New target and rule.
2549	* objc/hash.h (hash_new, hash_delete, hash_add, hash_remove)
2550	(hash_next, hash_value_for_key, hash_is_key_in_hash)
2551	(hash_ptr, hash_string, compare_ptrs, compare_strings): Prefix
2552	with objc_.  Add deprecated non prefixed inlined versions.
2553	(OBJC_IGNORE_DEPRECATED_API): New macro to hide deprecated
2554	declarations.
2555	* hash.c (hash_new, hash_delete, hash_add, hash_remove, hash_next)
2556	(hash_value_for_key, hash_is_key_in_hash): Prefix with objc_ and
2557	update callers.
2558	* hash_compat.c: New file.
2559	* archive.c: Update callers.
2560	* init.c: Likewise.
2561	* selector.c: Likewise.
2562	* libobjc.def: Add objc_ versions of hash functions.
2563
25642005-02-28  Andrew Pinski <pinskia@physics.uc.edu>
2565
2566	PR libobjc/20252
2567	* Makefile.in (GTHREAD_FLAGS): Remove.
2568	(ALL_CFLAGS): Remove usage of GTHREAD_FLAGS.
2569	* thr-objc.c: Include config.h.
2570	* configure.ac: Instead of looking at GCC's makefile, figure out if
2571	GTHREAD_FLAGS should be defined by looking at the `thread model'
2572	of the current gcc.
2573	* configure: Regenerate.
2574	* config.h.in: Regenerate.
2575
25762005-02-28  Paolo Bonzini  <bonzini@gnu.org>
2577
2578	PR bootstrap/17383
2579	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
2580	(Determine CFLAGS for gthread): Use $host_subdir.
2581	* configure: Regenerate.
2582	* Makefile.in (host_subdir): New.
2583	(INCLUDES): Use it.
2584
25852004-12-20  Andrew Pinski  <pinskia@physics.uc.edu>
2586
2587	PR libobjc/12035
2588	* gc.c: Remove definition of LOGWL, modWORDSZ, and divWORDSZ since
2589	they are not used.
2590	Include limits.h and stdlib.h.
2591	Define BITS_PER_WORD.
2592
25932004-12-12  Alexander Malmberg  <alexander@malmberg.org>
2594
2595	* selector.c (__objc_init_selector_tables): Add missing void to
2596	definition.
2597
25982004-12-02  Richard Sandiford  <rsandifo@redhat.com>
2599
2600	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
2601	* configure, aclocal.m4: Regenerate.
2602
26032004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
2604
2605	* configure: Regenerate for libtool change.
2606
26072004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
2608
2609	* configure: Regenerate for libtool reversion.
2610
26112004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2612
2613	* configure: Regenerate for libtool change.
2614
26152004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2616
2617	* aclocal.m4, config.h.in: Regenerate.
2618
26192004-10-08  Mike Stump  <mrs@apple.com>
2620	    Andrew Pinski  <pinskia@physics.uc.edu>
2621
2622	* aclocal.m4: Rename to ...
2623	* acinclude.m4: here and also use m4_include instead of sinclude.
2624	* aclocal.m4: Regenerate.
2625	* configure: Regenerate.
2626	* configure.ac: Add AM_MAINTAINER_MODE and AM_PROG_CC_C_O.
2627	* Makefile.in (configure): Add @MAINT@ infront of configure.ac
2628
26292004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2630
2631	* archive.c: Fix all the warnings about passing unsigned char*
2632	to char* and the other way too.
2633
26342004-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
2635
2636	PR libobjc/16448
2637	* exception.c: Include config.h
2638	(objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to
2639	SJLJ_EXCEPTIONS.
2640	* configure.ac: Find out what exception handling code we use.
2641	* configure: Regenerate.
2642	* config.h.in: New file, regenerate.
2643
26442004-09-16  Andrew Pinski  <apinski@apple.com>
2645
2646	* encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.
2647
26482004-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2649
2650	* configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to
2651	ACX_NONCANONICAL_TARGET.
2652	* configure: Regenerate.
2653
26542004-08-13  Ziemowit Laski  <zlaski@apple.com>
2655
2656	* objc/sarray.h: Hoist include of assert.h near the top of file,
2657	and mark the remainder of the file 'extern "C"'.
2658
26592004-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2660
2661	* objc/Object.h: Move includes out of extern "C" blocks.
2662	* objc/encoding.h: Likewise.
2663	* objc/hash.h: Likewise.
2664	* objc/objc-api.h: Likewise.
2665	* objc/runtime.h: Likewise.
2666	* objc/sarray.h: Likewise.
2667	* objc/typedstream.h: Likewise.
2668
26692004-08-12  Ziemowit Laski  <zlaski@apple.com>
2670
2671	* objc/NXConstStr.h: Update copyright date; bracket with
2672	'extern "C"' for C++ use; make include syntax consistent
2673	by using <...> instead of "..."; hoist <objc/...> includes
2674	above the 'extern "C"' block.
2675	* objc/Object.h: Likewise.
2676	* objc/Protocol.h: Likewise.
2677	* objc/encoding.h: Likewise.
2678	* objc/hash.h: Likewise.
2679	* objc/runtime.h: Likewise.
2680	* objc/sarray.h: Likewise.
2681	* objc/thr.h: Likewise.
2682	* objc/typedstream.h: Likewise.
2683	* objc/objc-api.h: Add 'extern "C"' block for C++ use.
2684	(objc_static_instances): For C++ case, do away with
2685	zero-sized array.
2686	(objc_method): Hoist definition to file scope.
2687	(_objc_load_callback, _objc_object_alloc, class_get_class_method,
2688	class_get_instance_method, class_create_instance,
2689	class_get_class_name, class_get_instance_size,
2690	class_get_meta_class, class_get_super_class, class_get_version,
2691	class_is_class, class_is_meta_class, class_set_version,
2692	class_get_gc_object_type, class_ivar_set_gcinvisible,
2693	get_imp): Rename 'class' parameter to '_class'.
2694	* objc/objc-list.h: Add 'extern "C"' block for C++ use.
2695	* objc/objc.h: Update copyright date.
2696	(arglist_t): Provide a union tag.
2697
26982004-07-22  Andrew Pinski  <pinskia@physics.uc.edu>
2699
2700	* thr.c (__objc_thread_detach_function): Do not mark as volatile
2701	but instead use the attribute noreturn.
2702
27032004-06-28  Zack Weinberg  <zack@codesourcery.com>
2704
2705	* encoding.c: Rename target_flags with a #define to avoid
2706	conflict with a prior declaration.
2707
27082004-06-24  Andrew Pinski  <apinski@apple.com>
2709
2710	* objc/encoding.h: Wrap the functions with extern "C" for C++
2711	mode.
2712	* objc/hash.h: Likewise.
2713	* objc/objc-api.h: Likewise.
2714	* objc/objc-list.h: Likewise.
2715	* objc/runtime.h: Likewise.
2716	* objc/sarray.h: Likewise.
2717	* objc/thr.h: Likewise.
2718	* objc/typedstream.h: Likewise.
2719
2720
27212004-06-21  Nick Clifton  <nickc@redhat.com>
2722
2723	* encoding.c (BITS_PER_UNIT): Define if a definition is not
2724	provided.
2725
27262004-06-20  Alexander Malmberg  <alexander@malmberg.org>
2727
2728	* Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS).
2729	(exception_gc.lo): New.
2730	(OBJS_GC): Add exception_gc.lo.
2731
27322004-06-17  Richard Henderson  <rth@redhat.com>
2733
2734	* exception.c: New file.
2735	* Makefile.in (exception.lo): New.
2736	(OBJS): Add it.
2737
27382004-06-14  Andrew Pinski  <pinskia@physics.uc.edu>
2739
2740	* linking.m (_objcInit): New empty function
2741	for Darwin only.
2742
27432004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
2744
2745	* configure.ac: Support --enable-shared=libobjc.
2746	* configure: Regenerate.
2747
2748	PR libobjc/15901
2749	* configure.ac: Do not disable shared by default.
2750	* configure: Regenerate.
2751
27522004-06-03  Nicola Pero  <n.pero@mi.flashnet.it>
2753
2754	* Protocol.m ([-isEqual:]): Small optimizations returning
2755	immediately if the argument is equal to self, and accessing
2756	the argument's name directly if it's a protocol.
2757
27582004-06-03  David Ayers  <d.ayers@inode.at>
2759
2760	* Protocol.m ([-isEqual:]): Test the class of the argument.
2761
27622004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2763
2764	* configure.ac (includedir): Rename to ...
2765	(includedirname).
2766	* Makefile.in: s/includedir/includedirname/.
2767
2768	PR target/11572
2769	* configure.ac (includedir): Set to "include"
2770	except for Darwin.
2771	(libext) Set to empty except for Darwin.
2772	* configure: Regenerate
2773	* Makefile.in: s/libobjc.la/libobjc$(libext).la/g.
2774	s/include/$(includedir)/g.
2775
27762004-05-25  Daniel Jacobowitz  <drow@false.org>
2777
2778	* Makefile.in: Add .NOEXPORT.
2779
27802004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2781
2782	Merge from the libobjc-branch
2783	2004-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
2784
2785		* Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.
2786
2787	2004-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
2788
2789		* Makefile.in (OBJC_H): Add objc-deps.h.
2790
2791	2004-01-27  Nicola Pero  <n.pero@mi.flashnet.it>
2792
2793		* Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
2794		([-hash], [-isEqual:]): New methods.
2795
2796	2004-01-27  Richard Frith-Macdonald <rfm@gnu.org>
2797
2798		* sarray.c (sarray_free): Add a better comment.
2799
2800	2004-01-27  Adam Fedor  <fedor@gnu.org>
2801
2802		* hash.c (hash_add): Cast cachep to int.
2803		* selector.c (__sel_register_typed_name): Cast
2804		soffset_decode to int.
2805
2806	2004-01-27  Alexander Malmberg  <alexander@malmberg.org>
2807
2808		* selector.c: Rename register_selectors_from_list to
2809		__objc_register_selectors_from_list. Update caller.
2810		(__objc_register_selectors_from_list): Lock __objc_runtime_mutex
2811		while registering selectors. Use __sel_register_typed_name instead
2812		of sel_register_typed_name. Check for NULL method_name:s.
2813		(pool_alloc_selector): New function.
2814		(__sel_register_typed_name): Use pool_alloc_selector to allocate
2815		selector structures.
2816		* sendmsg.c (class_add_method_list): Use
2817		__objc_register_selectors_from_list.
2818		* objc/runtime.h: Add __objc_register_selectors_from_list.
2819
2820	2004-01-25  Adam Fedor  <fedor@gnu.org>
2821		    Nicola Pero  <n.pero@mi.flashnet.it>
2822		    Andrew Pinski  <pinskia@physics.uc.edu>
2823
2824		* objc/objc-decls.h: New file.
2825		* objc/objc-api.h (_objc_lookup_class): Mark as export.
2826		(_objc_load_callback): Likewise.
2827		(_objc_object_alloc): Likewise.
2828		(_objc_object_copy): Likewise.
2829		(_objc_object_dispose): Likewise.
2830
2831	2004-01-25  Andrew Pinski  <pinskia@physics.uc.edu>
2832
2833		* archive.c: s/__inline__/inline
2834		* sendmsg.c: Likewise.
2835
2836		* encoding.c: Remove FIXME about the warning
2837		about unused variable.
2838		* sendmsg.c: Add a FIXME comment saying that
2839		this should be using libffi.
2840
2841		* Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.
2842
2843
28442004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
2845
2846	* archive.c (objc_read_class): Initialize class_name.
2847	(objc_read_selector): Initialize selector_name.
2848
28492004-05-09  Richard Sandiford  <rsandifo@redhat.com>
2850
2851	* Makefile.in (toolexecdir): Remove trailing space.
2852
28532004-04-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2854
2855	PR libobjc/14948
2856	* configure.ac: De-precious CC so multilibs work.
2857	* configure: Regenerate.
2858
28592004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2860
2861	* configure.ac: Restore toolexecdir.
2862	* Makefile.in: Restore toolexecdir.
2863	* configure: Regenerate.
2864
28652004-04-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2866
2867	* configure.ac: Remove (unused) glibcpp_prefixdir.
2868	* configure: Regenerate.
2869
2870	* configure.in: Rename to configure.ac.
2871	* Makefile.in: Update to match.
2872
2873	* Makefile.in: Remove toolexecdir, glibcpp_toolexecdir (unused).
2874	Replace glibcpp_toolexeclibdir with toolexeclibdir.
2875	* configure.in: Remove glibcpp_toolexecdir (unused).
2876	Replace glibcpp_toolexeclibdir with toolexeclibdir.  Don't generate
2877	config.h or stamp-h (unused).  Move one comment to the right place.
2878	* configure: Regenerate.
2879	* config.h.in: Remove (unused).
2880
2881	* config.h.in: Regenerate with autoheader.
2882
2883	* Makefile.in: Remove (unused) gcc_version_trigger.
2884	* configure.in: Remove (unused) glibcpp_builddir.  Don't AC_SUBST
2885	gcc_version_trigger.
2886	* configure: Regenerate.
2887
2888	* configure.in: Switch to modern style for AC_INIT, AC_OUTPUT.
2889	Sort file into sections.  Remove dnl where appropriate.  Fix
2890	other style issues.
2891	* configure: Regenerate.
2892
2893	* configure.in: Replace old AC_PROG_CC hack with new one.
2894	Define toplevel_srcdir in terms of srcdir, not top_srcdir (there
2895	are no subdirectory output files, so this is fine).  Change prereq
2896	to autoconf 2.59.
2897	* aclocal.m4: Include ../config/no-executables.m4.
2898	* configure: Regenerate with autoconf 2.59.
2899
2900	* configure.in: Improve comments on gthread_cflags.  Improve m4
2901	quotation, and replace 'if test' with 'case', for --enable-objc-gc.
2902	* configure: Regenerate.
2903
2904	* configure.in: Move PACKAGE and VERSION settings up top.  Remove
2905	unused call to AC_PROG_LN_S.  Default RANLIB to ':'.  Remove
2906	redundant checks for values of RANLIB, AR, INSTALL.
2907	* configure: Regenerate.
2908
2909	* configure.in: Clean up handling of
2910	--enable-version-specific-runtime-libs and related variables;
2911	replace 'if test' with 'case' where reasonable.  Fix comments.
2912	Remove useless libstdcxx_interface.
2913	* configure: Regenerate.
2914
2915	* configure.in: Use _GCC_TOPLEV_NONCANONICAL_TARGET.
2916	Replace uses of target_alias with target_noncanonical.
2917	* aclocal.m4: Include ../config/acx.m4.
2918	* configure: Regenerate.
2919	* Makefile.in: Replace uses of target_alias with target_noncanonical.
2920	Fix copyright statement.
2921
2922	* configure.in: Hand-inline bulky, confusing macros from
2923	aclocal.m4.  Replace references to "GNU Objective C" with "GCC".
2924	Update copyright notice.  Remove stuff for automake, which isn't
2925	used in this directory.  Remove emacs local variables.
2926	* aclocal.m4: Remove hand-inlined macros.  Update copyright notice.
2927	* configure: Regenerate.
2928
29292004-03-16  Manfred Hollstein  <mh@suse.com>
2930
2931	* Makefile.in, configure.in, configure: Update copyright years.
2932
29332004-03-15  Manfred Hollstein  <mh@suse.com>
2934
2935	* Makefile.in (LIBOBJC_VERSION, LIBOBJC_GC_VERSION): Use
2936	definition from configure.in.
2937	* configure.in (PACKAGE): Add definition.
2938	(VERSION): Add definition; substitute it in output files.
2939	* configure: Re-generate.
2940
29412004-03-05  Ziemowit Laski  <zlaski@apple.com>
2942
2943	* objc/hash.h (hash_string, compare_strings):
2944	Add type-casts to make Objective-C++ happy.
2945	* objc/typedstream.h (objc_get_stream_class_version):
2946	Rename parameter from 'class' to 'class_name' to make
2947	Objective-C++ happy.
2948
29492004-03-01  Michael Matz  <matz@suse.de>
2950
2951	* Makefile.in (ALL_CFLAGS): Add -fno-strict-aliasing.
2952
29532004-02-06  Ziemowit Laski  <zlaski@apple.com>
2954
2955	* objc/objc-api.h (objc_super): The 'class' field shall
2956	be named 'super_class' #ifdef __cplusplus.
2957
29582004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
2959
2960	PR target/10781
2961	* encoding.c (rs6000_special_round_type_align): Define.
2962
29632004-01-14  Adam Fedor  <fedor@gnu.org>
2964
2965	PR libobjc/12155
2966	* selector.c (__objc_register_instance_methods_to_class): Free
2967	new_list if not used.
2968
29692004-01-09  Andrew Ruder  <aeruder@ksu.edu>
2970
2971	PR libobjc/11904
2972	* sarray.c (sarray_free): Free array->is_copy_of latter.
2973
29742003-12-01  Zack Weinberg  <zack@codesourcery.com>
2975
2976	PR 11433
2977	* Protocol.m (descriptionForInstanceMethod): Don't dereference
2978	instance_methods if it's NULL.
2979	(descriptionForClassMethod): Likewise for class_methods.
2980
29812003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2982
2983	* Makefile.in (runtime-info.h): Remove -Wp.
2984
29852003-10-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2986
2987	* Makefile.in (CC1OBJ): Remove.
2988	(runtime-info.h): Invoke $(CC) so all MULTIFLAGS are handled
2989	correctly.
2990	Use .m extension for temporary file.
2991	Remove assembler temp file.
2992
29932003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2994
2995	* objc/hash.h (hash_string): Don't use a cast as an lvalue.
2996
29972003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2998
2999	* Makefile.in (runtime-info.h): Use MULTIFLAGS.
3000
30012003-09-09  Alan Modra  <amodra@bigpond.net.au>
3002
3003	* configure: Regenerate.
3004
30052003-08-27  Alexander Malmberg  <alexander@malmberg.org>
3006
3007	* Makefile.in, aclocal.m4: Update to $(libdir)/gcc/ instead of
3008	(libdir)/gcc-lib/ when installing.
3009	* configure: Regenerate.
3010
3011Thu Jul 10 10:27:43 2003  Nicola Pero  <n.pero@mi.flashnet.it>
3012
3013	libobjc/9969
3014	* sendmsg.c (get_imp): Fixed rare threading problem.
3015	(__objc_responds_to): Similar fixes.
3016	(objc_msg_lookup): Similar fixes.
3017	(__objc_init_install_dtable): Lock the runtime before checking if the
3018	table is installed.
3019
30202003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
3021
3022	* hash.c, init.c, libobjc.def, libobjc_entry.c, linking.m,
3023	makefile.dos, misc.c, nil_method.c, objects.c, sarray.c,
3024	selector.c, sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c,
3025	thr-mach.c, thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c,
3026	thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c,
3027	thr-win32.c, thr.c: Replace "GNU CC" with "GCC".
3028	* Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
3029	class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
3030	objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h,
3031	objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h,
3032	objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".
3033
3034Tue May 13 14:56:03 2003  Richard Frith-Macdonald <rfm@gnu.org>
3035			  Nicola Pero  <n.pero@mi.flashnet.it>
3036
3037	libobjc/10742
3038	* init.c (class_superclass_of_class): New function.
3039	(create_tree_of_subclasses_inherited_from): Use it.
3040	(__objc_tree_insert_class): Likewise.
3041	(class_is_subclass_of_class): Likewise.
3042
30432003-04-11  David Chad  <davidc@freebsd.org>
3044	    Loren J. Rittle  <ljrittle@acm.org>
3045
3046	libobjc/8562
3047	* objc/hash.h (hash_string): Constify correctly.
3048	(compare_ptrs): Use direct compare.
3049	* objc/objc-list.h (list_nth): Rename index to indx to avoid shadow.
3050	* objc/sarray.h: Global rename index to indx to avoid shadow.
3051
30522003-03-12  Andreas Schwab  <schwab@suse.de>
3053
3054	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
3055	glibcpp_toolexeclibdir.
3056	* configure: Rebuilt.
3057
30582003-02-20  Alexandre Oliva  <aoliva@redhat.com>
3059
3060	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
3061	config.status.
3062	* configure: Rebuilt.
3063
30642003-01-27  Alexandre Oliva  <aoliva@redhat.com>
3065
3066	* aclocal.m4 (glibcpp_toolexeclibdir): Instead of
3067	$(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
3068	version_specific_libs is enabled.
3069	* configure: Rebuilt.
3070
30712003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
3072
3073	* Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
3074	(install-libs, install-headers): Prepend $(DESTDIR) to
3075	destination paths in all (un)installation commands.
3076
30772002-12-02  Zack Weinberg  <zack@codesourcery.com>
3078
3079	* thr-objc.c: Include coretypes.h and tm.h.
3080
30812002-12-01  Zack Weinberg  <zack@codesourcery.com>
3082
3083	* encoding.c, sendmsg.c: Include coretypes.h and tm.h.
3084
30852002-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
3086
3087	* configure.in: Remove skip-this-dir support.
3088	* configure: Regenerate.
3089
30902002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3091
3092	* Makefile.in (all): Fix multilib parallel build.
3093
3094Thu Sep 12 12:44:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3095
3096	* sendmsg.c (nil_method): Declare not to take a variable number of
3097	args.
3098	(objc_msg_lookup): Cast nil_method to IMP before returning it.
3099	(objc_msg_lookup_super): The same.
3100
31012002-09-10  Jan Hubicka  <jh@suse.cz>
3102
3103	* nil_method.c (nil_method): No longer defined with variable
3104	arguments.
3105
31062002-07-02  Rodney Brown  <rbrown64@csc.com.au>
3107
3108	* objc/encoding.h: Fix formatting.
3109	* objc/hash.h: Likewise.
3110	* objc/objc-api.h: Likewise.
3111	* objc/runtime.h: Likewise.
3112	* objc/thr.h: Likewise.
3113	* archive.c: Likewise.
3114	* class.c: Likewise.
3115	* encoding.c: Likewise.
3116	* gc.c: Likewise.
3117	* hash.c: Likewise.
3118	* init.c: Likewise.
3119	* misc.c: Likewise.
3120	* nil_method.c: Likewise.
3121	* objects.c: Likewise.
3122	* sarray.c: Likewise.
3123	* selector.c: Likewise.
3124	* sendmsg.c: Likewise.
3125	* thr-mach.c: Likewise.
3126	* thr.c: Likewise.
3127
31282002-06-25  DJ Delorie  <dj@redhat.com>
3129
3130	* aclocal.m4 (GLIBCPP_CONFIGURE): Split out
3131	GLIBCPP_TOPREL_CONFIGURE.
3132	* configure.in: Call it before AC_CANONICAL_SYSTEM.
3133	* configure: Regenerate.
3134
31352002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3136
3137	* Object.m (forward, read, write): Fix unused parameter warnings.
3138	* encoding.c: Include <stdlib.h>.
3139	(target_flags): Mark with attribute unused.
3140	(atoi): Delete.
3141	* runtime.h (__objc_selector_max_index): Change to unsigned int.
3142	(__objc_generate_gc_type_description): Prototype.
3143	* selector.c (__objc_selector_max_index): Change to unsigned int.
3144
3145Mon Jun 17 18:37:42 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3146
3147	* sendmsg.c (__objc_get_forward_imp): Fix warning by making sure
3148	we always have a return value: if __objc_msg_forward does not
3149	supply a forwarding implementation, return the default
3150	__builtin_apply based one.
3151
31522002-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3153
3154	* Object.m: Fix signed/unsigned warning.
3155	* Protocol.m: Likewise.
3156	* archive.c: Always include stdlib.h.
3157	(objc_read_short, objc_read_unsigned_short, objc_read_int,
3158	objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong):
3159	Fix signed/unsigned warning.
3160	(objc_write_type, objc_read_type, objc_write_types,
3161	objc_read_types): Ensure ctype 8-bit safety.
3162	(__objc_no_write, __objc_no_read): Mark unused parameters.
3163	* class.c (class_table_setup): Specify void arg.
3164	* encoding.c (atoi, objc_sizeof_type, objc_alignof_type,
3165	objc_skip_typespec, objc_skip_offset,
3166	objc_layout_structure_next_member): Ensure ctype 8-bit safety.
3167	(objc_layout_structure_next_member): Ensure variables are
3168	initialized.
3169	* gc.c (__objc_generate_gc_type_description,
3170	class_ivar_set_gcinvisible): Mark unused parameters.
3171	* init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark
3172	unused parameters.
3173	(__objc_init_protocols) Fix signed/unsigned warning.
3174	* nil_method.c (nil_method): Mark unused parameters.
3175	* thr.h (objc_thread_callback): Specify void arg.
3176	* sarray.c (sarray_new, sarray_realloc, sarray_free): Fix
3177	signed/unsigned warning.
3178	(sarray_free): Fix formatting.
3179	* selector.c (sel_types_match): Ensure ctype 8-bit safety.
3180	* sendmsg.c (__objc_init_install_dtable) Mark unused parameters.
3181
31822002-06-09  Andreas Jaeger  <aj@suse.de>
3183
3184	* encoding.c (objc_layout_structure_next_member): Remove unused
3185	variable.
3186
31872002-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3188
3189	* Makefile.in (SHELL): Set to @SHELL@.
3190	(WARN_CFLAGS): New.
3191	(ALL_CFLAGS): Add $(WARN_CFLAGS).
3192
31932002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3194
3195	* aclocal.m4: Allow for PWDCMD to override hardcoded pwd.
3196	* configure: Regenerate.
3197
31982002-05-08  Alexandre Oliva  <aoliva@redhat.com>
3199
3200	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
3201	script entry, and set LD to it when configuring multilibs.
3202	* configure: Rebuilt.
3203
32042002-04-19  David O'Brien  <obrien@FreeBSD.org>
3205
3206	* encoding.c (MAX, MIN, ROUNDING): #undef before defining.
3207
32082002-04-09  Hans-Peter Nilsson  <hp@bitrange.com>
3209
3210	PR objc/6107
3211	* objc/objc-api.h (struct objc_protocol_list): Change type of
3212	member count from int to size_t.
3213
32142002-02-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3215
3216	PR libobjc/4039
3217	* aclocal.m4: Replace with version copied from libstdc++-v3.
3218	* configure.in: Update for changes to aclocal and Makefile.
3219	* configure: Regenerate.
3220	* Makefile.in: Correct install of multilibs and shared libs, use
3221	INSTALL_DATA for include files.
3222
3223Mon Dec 17 17:02:12 2001  Nicola Pero  <nicola@brainstorm.co.uk>
3224
3225	* init.c (__objc_exec_class): Fixed bug in the loop on unclaimed
3226	categories - when an unclaimed category was found, the loop was
3227	doing two steps forward instead of one, so that in certain cases
3228	it was failing to properly load all the categories.  (Reported
3229	with fix by Alexander Malmberg <alexander@malmberg.org>).
3230
32312001-11-14  Aldy Hernandez  <aldyh@redhat.com>
3232
3233	* encoding.c: Add target_flags.
3234
32352001-11-07  Aldy Hernandez  <aldyh@redhat.com>
3236
3237	 * objc/objc-api.h (_C_VECTOR): New.
3238
3239	 * encoding.c (VECTOR_TYPE): New.
3240
3241Mon Oct 29 21:29:21 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3242
3243	* class.c: Rewritten the class table to use optimized, lock-free
3244	lookup.  This more than doubles the speed of class method
3245	invocations.  (class_table_setup), (class_table_insert),
3246	(class_table_replace), (class_table_get_safe),
3247	(class_table_next), (class_table_print),
3248	(class_table_print_histogram): New functions.
3249	(__objc_init_class_tables): Use class_table_setup.
3250	(__objc_add_class_to_hash): Use class_table_get_safe and
3251	class_table_insert.  (objc_lookup_class), (objc_get_class): Do not
3252	assert the existence of the table; do not lock the runtime; use
3253	class_table_get_safe.  (objc_next_class): Use class_table_next.
3254	(__objc_resolve_class_links): Use class_table_next.
3255	(class_pose_as): Use class_table_replace.
3256
32572001-09-10  Ovidiu Predescu  <ovidiu@cup.hp.com>
3258
3259	* gc.c: Removed the DEBUG declaration.
3260
3261Wed Jul 18 12:48:56 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3262
3263	* thr.c (objc_mutex_lock): Invoke __objc_thread_id directly,
3264	rather than through objc_thread_id, to save a function call.
3265	(objc_mutex_trylock, objc_mutex_unlock, objc_condition_wait):
3266	Ditto.
3267
3268Mon Jul 16 12:15:00 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3269
3270	* objc/objc-api.h (object_is_class): Fixed - buggy code was trying
3271	to cast an id to a Class, which can not be done.  Make the check
3272	by using CLS_ISMETA on the class pointer instead.
3273	(object_is_meta_class): Similar fix.
3274
32752001-06-09  Alexandre Oliva  <aoliva@redhat.com>, Stephen L Moshier  <moshier@mediaone.net>
3276
3277	* configure.in (AC_EXEEXT): Work around in case it expands to
3278	nothing, as in autoconf 2.50.
3279	* acinclude.m4: Likewise.
3280	* configure: Rebuilt.
3281
32822001-06-08  Nicola Pero  <n.pero@mi.flashnet.it>
3283
3284	* THREADS: Explain that when we compile libobjc inside GCC, we
3285	always use thr-objc.c as a backend, which uses GCC's thread code.
3286
32872001-06-06  Richard Frith-Macdonald  <rrfm@gnu.org>
3288
3289	* init.c (__objc_send_message_in_list): When setting a new entry
3290	in __objc_load_methods use the method IMP as key, but check to see
3291	if the method is in the hashtable by looking at the IMP also.
3292	Also ... call the method after adding it to the hashtable rather
3293	than before ... thus preventing an obscure possibility of infinite
3294	recursion if a +load method itself loads a subclass.
3295
32962001-05-25  Ovidiu Predescu  <ovidiu@cup.hp.com>
3297
3298	* init.c (__objc_send_message_in_list): When setting a new entry
3299	in __objc_load_methods use the method name as key, not the method
3300	IMP (reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>).
3301
33022001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3303
3304	* objc-features.texi: Move to ../gcc/objc.texi.
3305	* fdl.texi: Remove.
3306	* Makefile.in: Don't generate documentation from
3307	objc-features.texi.
3308
33092001-05-01  Mark Mitchell  <mark@codesourcery.com>
3310
3311	* fdl.texi: New file.
3312	* objc-features.texi: Simplify.
3313	* Makefile.in: Adjust accordingly.
3314
33152001-04-30  Mark Mitchell  <mark@codesourcery.com>
3316
3317	* objc-features.texi: Use the GFDL.
3318
3319Wed Mar 21 04:44:58 EST 2001  John Wehle  (john@feith.com)
3320
3321	* encoding.c (REAL_TYPE): Define.
3322
33232001-03-19  David Edelsohn  <edelsohn@gnu.org>
3324
3325	* encoding.c (TYPE_MODE): Define.
3326
33272001-03-14  Nicola Pero  <n.pero@mi.flashnet.it>
3328
3329	* thr.c (objc_thread_add): New function.
3330	(objc_thread_remove): Ditto.
3331	* objc/thr.h: Declare them.
3332	* libobjc.def: Mention them.
3333
33342001-02-28  Ovidiu Predescu  <ovidiu@cup.hp.com>
3335
3336	* objc-features.texi: Document the @compatibility_alias compiler
3337	directive (description from Nicola Pero <n.pero@mi.flashnet.it>).
3338
3339Fri Feb 23 18:12:00 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3340
3341	* sendmsg.c (__objc_forward): Delete strlen() declaration.
3342
33432001-02-08  Geoffrey Keating  <geoffk@redhat.com>
3344
3345	* configure.in: Don't run AC_PROG_CC_WORKS or AC_EXEEXT, because
3346	we're not interested in the result and they might fail.
3347	* configure: Regenerated.
3348
33492001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3350
3351	* objc-features.texi: Use @email.
3352
33532001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3354
3355	* sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside
3356	printf.
3357
33582000-01-11  Richard Earnshaw  <rearnsha@arm.com>
3359
3360	* encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that
3361	determines the value dynamically.
3362
3363Wed Jan  3 00:49:10 2001  Ovidiu Predescu  <ovidiu@cup.hp.com>
3364
3365	* sendmsg.c: Added __objc_msg_forward, a hook that allows external
3366	libraries to provide a function that returns the real forwarding
3367	function. This can alleviate problems __builtin_apply() and
3368	friends have on various platforms. (Solution suggested by Helge
3369	Hess.)
3370
3371	* objc/objc-api.h: Define __objc_msg_forward.
3372
3373	* sendmsg.c: Define gen_rtx_REG.
3374
33752000-12-06      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3376
3377	* thr-rtems.c: New file. Stub to compile.
3378
33792000-09-06  Alexandre Oliva  <aoliva@redhat.com>
3380
3381	* configure: Rebuilt with new libtool.m4.
3382
3383Tue Aug 15 00:38:56 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3384
3385	* configure.in: Create a config.h file. Check for <sched.h>.
3386	* configure: Regenerate.
3387
3388	* config.h.in: Check for <sched.h>.
3389
33902000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
3391
3392	* configure: Regenerate after change to ../libtool.m4.
3393
33942000-08-14  Andreas Schwab  <schwab@suse.de>
3395
3396	* objc-features.texi (Top): Move @menu at end of node.
3397
33982000-08-11  Manfred Hollstein  <manfredh@redhat.com>
3399
3400	* objc-features.texi: Move @node Top before @menu.
3401
3402Sun Aug  6 23:27:49 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3403
3404	* objc-features.texi: Documented the new -fconstant-string-class
3405	option.
3406
3407Sun Aug  6 22:51:16 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3408
3409	* thr-posix.c: Integrated Chris Ball's <cball@fmco.com> changes to
3410	improve the Posix thread support for Objective-C.
3411
34122000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
3413
3414	* aclocal.m4: Replace copy of ../libtool.m4 with
3415	sinclude(../libtool.m4).
3416
3417Fri Jul 28 08:58:02 2000  Nicola Pero  <nicola@brainstorm.co.uk>
3418
3419	* configure.in: Added libtool support; build shared libraries
3420	if --enable-shared was passed on command line.
3421	* Makefile.in: Modified most compilation commands to use libtool.
3422	* aclocal.m4: New symbolic link to the ../libtool.m4, from the
3423	libtool distribution.
3424
3425Sat Jul 29 00:10:21 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3426
3427	* sarray.c, Object.m: Removed the explicit prototypes for strlen
3428	and memcpy on 64-bit platforms (Suggested by Rodney Brown
3429	<rdb@cup.hp.com>).
3430
34312000-05-12  H.J. Lu  (hjl@gnu.org)
3432
3433	* Makefile.in (GTHREAD_FLAGS): New.
3434	(ALL_CFLAGS): Add $(GTHREAD_FLAGS).
3435	(OBJC_THREAD_FILE): Changed to thr-objc.
3436
3437	* configure.in (GTHREAD_FLAGS): New, check and replace it for
3438	Makefile.
3439	(OBJC_THREAD_FILE): Removed.
3440
3441	* thr-objc.c: New.
3442
34432000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3444
3445	* objc/hash.h: Include string.h.
3446
34472000-04-15  David Edelsohn  <edelsohn@gnu.org>
3448
3449	* Object.m (strlen): 64-bit PowerPC is a 64bit platform as well.
3450
34512000-04-12  Jakub Jelinek  <jakub@redhat.com>
3452
3453	* Object.m (strlen): Provide prototype on all 64bit platforms,
3454	not only alpha.
3455	* sarray.c (memcpy): Likewise.
3456	* encoding.c (objc_layout_finish_structure): Don't use
3457	ROUND_TYPE_ALIGN on sparc.
3458
3459	* encoding.c (objc_layout_structure_next_member): Do the whole
3460	procedure even for the first member, so that we get correct
3461	alignment.
3462
34632000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
3464
3465	* objc/Protocol.h, objc/objc-list.h: Change #endif labels to
3466	comments.
3467
34682000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
3469
3470	* Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS.
3471
3472Thu Sep 23 07:19:12 1999   Chris Ball <cball@fmco.com>
3473
3474	* thr-posix.c (__objc_mutex_deallocate): made deallocate work.
3475
3476Tue Sep 21 07:47:10 1999  Jeffrey A Law  (law@cygnus.com)
3477
3478	* Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to
3479	the compiler when building C code.
3480
3481Fri Aug  6 23:32:29 1999  Daniel Jacobowitz <drow@drow.them.org>
3482
3483	* Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
3484	libdir, libsubdir and tooldir.
3485
3486Mon Jun 21 05:40:15 1999  John David Anglin <dave@hiauly1>
3487
3488	* init.c (__objc_force_linking): Make global.
3489
3490Thu May 20 03:20:59 1999  Jeffrey A Law  (law@cygnus.com)
3491
3492	* configure.in (AC_EXEEXT): Remove call.
3493	(compiler_name): Explicitly check with no extension and .exe
3494	extension.
3495	* configure: Regenerate.
3496
3497Sun Apr 25 01:15:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3498
3499	* Makefile.in (CC1OBJ): Define in terms of CC.
3500	(runtime-info.h): Use.
3501
3502Fri April 8 08:21:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3503
3504	* objc-features.texi: Updated the URL to Boehm's GC page.
3505
3506Fri Mar 26 23:41:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3507
3508	* archive.c (__objc_code_char, __objc_write_char): Explicitly specify
3509	the char as being signed (patch from Daniel Jacobowitz
3510	<drow@false.org>).
3511
3512Wed Mar 24 22:41:28 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3513
3514	* configure.in (AC_PREREQ): Update to 2.13.
3515	(AC_EXEEXT): Call to find possible file extension.
3516	(compiler_name): Use.
3517	* configure: Regenerate.
3518
3519Wed Jan 27 02:31:01 1999  Jeffrey A Law  (law@cygnus.com)
3520
3521	* Makefile.in (ALL_CFLAGS): Add -DIN_GCC.
3522
3523Tue Jan  5 01:38:53 1999  Jeffrey A Law  (law@cygnus.com)
3524
3525	* configure.in (thread_file): Correct and simplify code to find
3526	the thread file.
3527	* configure: Rebuilt.
3528
35291998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
3530
3531	* configure.in (compiler_name): Add check to detect if this
3532	language's compiler has been built.
3533	* configure: Regenerate.
3534
3535Mon Nov 23 16:50:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3536
3537	*  configure.in: Use AC_PREREQ(2.12.1).
3538
3539Thu Nov 19 20:33:37 1998  Jeffrey A Law  (law@cygnus.com)
3540
3541	* Makefile.in (runtime-info.h): Avoid GNU make extensions.
3542
3543Sun Nov  8 17:46:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3544
3545	* Makefile.in (INCLUDES): Add -I$(srcdir)/$(MULTISRCTOP)../include.
3546
3547Thu Oct 22 14:34:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3548
3549	* configure.in: Use AC_CONFIG_AUX_DIR($topsrcdir).
3550
3551Sat Oct 17 05:21:31 1998  Ovidiu Predescu  <ovidiu@slip.net>
3552
3553	* objc-features.texi (Top): Changed the email address.
3554	* objc-features.texi (Garbage Collection): Use @uref instead of @url.
3555
3556Mon Oct 11 21:25:27 1998  Ovidiu Predescu  <ovidiu@slip.net>
3557
3558	* encoding.c: Redefine get_inner_array_type to get the first entry
3559	in the structure.
3560
3561Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald <richard@brainstorm.co.uk>
3562
3563	* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
3564	(objc_get_type_qualifiers): Similarly.
3565	* objc/encoding.h (_C_BYREF): Define.
3566	(_F_BYREF): Define.
3567
35681998-10-07  David S. Miller  <davem@pierdol.cobaltmicro.com>
3569
3570	* objc/sarray.h: Make boffset be an unsigned long when sparc so it
3571	works out on 64-bit systems.
3572
3573Tue Oct  6 20:32:06 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
3574
3575	* Makefile.in (INCLUDES): Make it multilib-friendly.
3576
3577Fri Oct  2 07:12:14 1998  H.J. Lu  (hjl@gnu.org)
3578
3579	* Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc.
3580
3581Thu Oct  1 22:33:03 1998 Robert Lipe  <robertl@dgii.com>
3582			 Jeffrey A Law  (law@cygnus.com)
3583
3584	* Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
3585	(FLAGS_TO_PASS): Added.
3586	(runtime-info.h): Reference cc1ibj via $MULTIBUILDTOP.
3587
3588	* archive.c: Change config.h to tconfig.h.
3589
3590	* configure.in: Find gcc's object directory even for multilibs.
3591
3592Wed Sep 30 18:17:17 1998  Robert Lipe  <robertl@dgii.com>
3593
3594	* configure.in: Escape ^ in grep string.
3595	* configure: Rebuilt.
3596
3597Wed Sep 30 09:14:52 1998  Jeffrey A Law  (law@cygnus.com)
3598
3599	* All .h files pushed down into the objc/ subdirectory.
3600	* Makefile.in (copy_headers): Corresponding changes.
3601	* configure.in (AC_INIT): Corresponding changes.
3602	* configure: Rebuilt.
3603
36041998-09-30  Ben Elliston  <bje@cygnus.com>
3605	    Jeff Law	  <law@cygnus.com>
3606
3607	* Makefile.in: Rewrite.
3608
3609	* configure.in: Likewise.
3610
3611	* configure: Regenerate.
3612
3613	* All .c files.  Remove "objc" prefix when including objc header
3614	files.  Include tconfig.h, not ../tconfig.h.
3615
3616Mon Sep 21 23:27:10 1998  Ovidiu Predescu <ovidiu@slip.net>
3617
3618	* encoding.c (TREE_TYPE, ARRAY_TYPE): Define.
3619	(get_inner_array_type): Define.
3620
36211998-09-21  Ben Elliston  <bje@cygnus.com>
3622
3623	* New directory.  Moved files from ../gcc/objc.
3624
3625Copyright (C) 1998-2022 Free Software Foundation, Inc.
3626
3627Copying and distribution of this file, with or without modification,
3628are permitted in any medium without royalty provided the copyright
3629notice and this notice are preserved.
3630