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