xref: /netbsd-src/external/gpl3/gcc/dist/libobjc/ChangeLog (revision c29d51755812ace2e87aeefdb06cb2b4dac7087a)
12015-06-23  Release Manager
2
3	* GCC 4.8.5 released.
4
52014-12-19  Release Manager
6
7	* GCC 4.8.4 released.
8
92014-07-27  Ulrich Weigand  <uweigand@de.ibm.com>
10
11	PR libobjc/61920
12	* encoding.c (rs6000_special_adjust_field_align_p): Use definition
13	that matches the 4.8 branch ABI.
14
152014-07-27  Alan Modra  <amodra@gmail.com>
16	    Matthias Klose  <doko@ubuntu.com>
17
18	PR libobjc/61920
19
20	* encoding.c: Define rs6000_special_adjust_field_align_p.
21
222014-05-22  Release Manager
23
24	* GCC 4.8.3 released.
25
262014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
27
28	Backport from mainline
29	2013-11-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
30
31	* configure: Regenerate.
32
332013-10-16  Release Manager
34
35	* GCC 4.8.2 released.
36
372013-07-04  Kai Tietz  <ktietz@redhat.com>
38
39	* exception.c: Add check for SjLj to SEH blocks.
40
412013-05-31  Release Manager
42
43	* GCC 4.8.1 released.
44
452013-03-22  Release Manager
46
47	* GCC 4.8.0 released.
48
492013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
50
51	Update copyright years.
52
532012-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
54
55	* encoding.c (TARGET_VSX): Provide definitions based on the
56	current compilation options, and not based off the target options
57	structure.
58	(TARGET_ALTIVEC): Likewise.
59	(TARGET_64BIT): Likewise.
60
612012-09-14  David Edelsohn  <dje.gcc@gmail.com>
62
63	* configure: Regenerated.
64
652012-07-19  Tristan Gingold  <gingold@adacore.com>
66	    Richard Henderson  <rth@redhat.com>
67
68	* exception.c (__gnu_objc_personality_seh0): New function.
69
702012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
71
72	* configure: Regenerated.
73
742012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
75
76	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
77	* configure: Regenerate.
78
79	* thr.c (_XOPEN_SOURCE): Define unconditionally.
80
812011-11-21  Andreas Tobler  <andreast@fgznet.ch>
82
83	* configure: Regenerate.
84
852011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
86
87	* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
88	* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
89	* configure: Regenerate.
90	* config.h.in: Regenerate.
91
922011-10-17  Paul Brook  <paul@codesourcery.com>
93	    Matthias Klose  <doko@ubuntu.com>
94
95	* exception.c (parse_lsda_header): hardcode ttype_encoding for older
96	ARM EABI toolchains.
97	(get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
98
992011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
100
101	PR libobjc/49883
102	* init.c (__objc_exec_class): Work around a bug in clang's code
103	generation.  Clang sets the class->info field to values different
104	from 0x1 or 0x2 (the only allowed values in the traditional GNU
105	Objective-C runtime ABI) to store some additional information, but
106	this breaks backwards compatibility.  Wipe out all the bits in the
107	fields other than the first two upon loading a class.
108
1092011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
110
111	* class.c (objc_lookup_class): Added back for compatibility with
112	clang which seems to emit calls to it.
113
1142011-10-08  Richard Frith-Macdonald <rfm@gnu.org>
115            Nicola Pero  <nicola.pero@meta-innovation.com>
116
117	PR libobjc/50428
118	* sendmsg.c (__objc_send_initialize): If a class does not have an
119	+initialize method, search for an +initialize method in the
120	superclass and in the ancestor classes and execute the first one
121	that is found.  This makes the GNU runtime behave in the same way
122	as the Apple/NeXT runtime with respect to +initialize methods and
123	subclassing.
124
1252011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
126
127	PR libobjc/50002
128	* class.c (__objc_update_classes_with_methods): Iterate over meta
129	classes as well as normal classes when refreshing the method
130	implementations.  This fixes replacing class methods.
131
1322011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
133
134	* class.c (class_getSuperclass): Fixed to work with meta classes
135	still in construction too.
136
1372011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
138
139	* class.c (class_getSuperclass): Fixed typo in comment.
140
1412011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
142
143	PR libobjc/49882
144	* class.c (class_getSuperclass): Return the superclass if the
145	class is in construction.
146	* objc/runtime.h (class_getSuperclass): Updated documentation.
147
1482011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
149
150	* Makefile.in (INCLUDES): Search
151	$(srcdir)/$(MULTISRCTOP)../libgcc.
152
1532011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
154
155	* objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608.
156
1572011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
158
159	* configure.ac (VERSION): Bumped to 4:0:0.
160	* configure (VERSION): Likewise.
161
1622011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>
163
164	* objc/README: Updated.
165	* objc-private/selector.h: Updated comments.
166
1672011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
168
169	* sendmsg.c (class_get_instance_method): Removed.
170	(class_get_class_method): Removed.
171	(objc_get_uninstalled_dtable): Removed.
172
1732011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
174
175	* objc-private/module-abi-8.h (class_get_instance_size): Removed.
176	* objects.c (class_create_instance): Removed.
177	* error.c (__USE_FIXED_PROTOTYPES__): Removed.
178	* gc.c (__objc_generate_gc_type_description): Use
179	class_getInstanceSize() instead of class_get_instance_size().
180	* selector.c (sel_types_match): Made static.
181	(sel_get_typed_uid): Removed.
182	(sel_get_any_typed_uid): Removed.
183	(sel_get_name): Removed.
184	(sel_get_type): Removed.
185	(sel_register_name): Removed.
186	(sel_register_typed_name): Removed.
187	(sel_get_uid): Removed.
188
1892011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
190
191	* encoding.c (method_get_number_of_arguments): Removed.
192	(method_get_sizeof_arguments): Removed.
193
1942011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
195
196	* class.c (objc_next_class): Removed.
197	(class_pose_as): Removed.
198	(CLASSOF): Removed.
199	(class_table_replace): Removed.
200	(objc_lookup_class): Removed.
201
2022011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
203
204	Removed the Traditional Objective-C runtime public API.
205	* Makefile.in (OBJC_DEPRECATED_H): Variable removed.
206	(install-headers): Do not create the objc/deprecated directory and
207	do not install the deprecated headers.
208	(OBJC_H): Removed encoding.h and objc-api.h.
209	* Object.m: Removed all methods with the exception of -class and
210	-isEqual:.  Updated includes.  ([-class]): Use Modern API.
211	* objc/Object.h: Do not include deprecated/Object.h.
212	* objc/deprecated/Object.h: Removed.
213	* linking.m (__objc_linking): Call [Object class] instead of
214	[Object name].
215	* Protocol.m: Removed all methods with the exception of -isEqual:.
216	Updated includes.
217	* objc/Protocol.h: Do not include deprecated/Protocol.h.
218	* objc/deprecated/Protocol.h: Removed.
219	* objc/deprecated/struct_objc_symtab.h: Removed.
220	* objc/deprecated/struct_objc_module.h: Removed.
221	* objc/deprecated/struct_objc_ivar.h: Removed.
222	* objc/deprecated/struct_objc_ivar_list.h: Removed.
223	* objc/deprecated/struct_objc_method.h: Removed.
224	* objc/deprecated/struct_objc_method_list.h: Removed.
225	* objc/deprecated/struct_objc_protocol_list.h: Removed.
226	* objc/deprecated/struct_objc_category.h: Removed.
227	* objc/deprecated/MetaClass.h: Removed.
228	* objc/deprecated/objc_msg_sendv.h: Removed.
229	* objc/deprecated/README: Removed.
230	* objc/deprecated/struct_objc_class.h: Removed.
231	* objc/deprecated/struct_objc_protocol.h: Removed.
232	* objc/deprecated/struct_objc_selector.h: Removed.
233	* objc/encoding.h: Removed.
234	* objc/message.h (struct objc_super): Removed the definition for
235	the Traditional Objective-C runtime API.
236	* objc/objc.h: Do not include objc/objc-decls.h.
237	deprecated/struct_objc_selector.h, deprecated/MetaClass.h,
238	deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h
239	and deprecated/objc_msg_sendv.h.  Uncommented new definition of
240	Protocol *.
241	* objc/objc-api.h: Removed.
242	* objc/runtime.h: Updated comments.  Removed check to detect
243	concurrent usage of Traditional and Modern APIs.
244	* objc-private/module-abi-8.h: Always define struct objc_class and
245	struct objc_protocol.  (struct objc_protocol_list): Changed type
246	of 'list' argument from 'Protocol *' to 'struct objc_protocol *'.
247	(class_get_instance_size): Added.
248	* objc-private/protocols.h (__objc_protocols_add_protocol): Take a
249	'struct objc_protocol *' as argument, not a 'Protocol *'.
250	* objc-private/runtime.h: Updated comments.
251	* objc-private/selector.h (struct objc_selector, sel_eq): Added.
252	* class.c: Include objc-private/selector.h.
253	(objc_get_meta_class): Return a Class instead of a MetaClass.
254	* encoding.c (method_get_next_argument): Removed.
255	(method_get_first_argument): Removed.
256	(method_get_nth_argument): Removed.
257	* gc.c: Include objc/runtime.h instead of objc/encoding.h.
258	Include objc-private/module-abi-8.h and ctype.h.
259	* protocols.c (__objc_protocols_add_protocol): Take a 'struct
260	objc_protocl *' as argument, not a 'Protocol *'.
261	(class_addProtocol): Added casts to 'struct objc_protocol *' and
262	'Protocol *'.
263	(class_copyProtocolList): Likewise.
264	(protocol_conformsToProtocol): Likewise.
265	(protocol_copyProtocolList): Likewise.
266	* sarray.c: Include objc-private/module-abi-8.h.
267	* sendmsg.c (method_get_next_argument): Removed.
268	(method_get_first_argument): Removed.
269	(method_get_nth_argument): Removed.
270	(objc_msg_sendv): Removed.
271	(arglist_t, retval_t): New.  (class_get_class_method): Take a
272	'Class', not 'MetaClass', argument.
273	* thr.c: Include module-abi-8.h.
274
2752011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
276
277	* Makefile.in (OBJC_DEPRECATED_H): Removed struct_objc_static_instances.h
278	and objc_get_uninstalled_dtable.h.
279	* objc/deprecated/struct_objc_static_instances.h: Removed.
280	* objc/deprecated/objc_get_uninstalled_dtable.h: Removed.
281	* objc/objc-api.h: Do not include deprecated/objc_static_instances.h
282	and deprecated/objc_get_uninstalled_dtable.h.
283
2842011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
285
286	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_object_alloc.h.
287	* objc/deprecated/objc_object_alloc.h: Removed.
288	* objc/objc-api.h: Do not include deprecated/objc_object_alloc.h.
289	* objects.c (_objc_object_alloc, _objc_object_dispose,
290	_objc_object_copy): Removed.
291	* libobjc.def (__objc_object_alloc, __objc_object_copy,
292	__objc_object_dispose): Removed.
293
2942011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
295
296	* Makefile.in (OBJC_DEPRECATED_H): Removed METHOD_NULL.h.
297	* objc/objc-api.h: Do not include deprecated/METHOD_NULL.h.
298	* objc/deprecated/METHOD_NULL.h: Removed.
299
3002011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
301
302	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h,
303	objc_malloc.h and objc_unexpected_exception.h.
304	(exception.lo): Do not use -Wno-deprecated-declarations.
305	(exception_gc.lo): Likewise.
306	* objc/objc-api.h: Do not include deprecated/objc_valloc.h,
307	deprecated/objc_malloc.h and
308	deprecated/objc_unexpected_exception.h.
309	* objc/deprecated/objc_valloc.h: Removed.
310	* objc/deprecated/objc_malloc.h: Removed.
311	* objc/deprecated/objc_unexpected_exception.h: Removed.
312	* exception.c (_objc_unexpected_exception): Removed.
313	(objc_exception_throw): Do not check for
314	_objc_unexpected_exception.
315	* memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc,
316	_objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed.
317	* libobjc.def (_objc_unexpected_exception, objc_valloc): Removed.
318
3192011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
320
321	* objc/objc.h: Do not include deprecated/STR.h.
322	* objc/deprecated/STR.h: Removed.
323	* Makefile.in (OBJC_DEPRECATED_H): removed STR.h.
324
3252011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
326
327	* Makefile.in (OBJC_H): Removed hash.h and sarray.h.
328	(OBJC_DEPRECATED_H): Likewise.
329	* libobjc.def (objc_hash_new, objc_hash_delete, objc_hash_add,
330	objc_hash_remove, objc_hash_next, objc_hash_value_for_key,
331	objc_hash_is_key_in_hash, hash_add, hash_delete, hash_new,
332	hash_next, hash_remove, hash_value_for_key, hash_is_key_in_hash,
333	sarray_at_put, sarray_at_put_safe, sarray_free, sarray_lazy_copy,
334	sarray_new, sarray_realloc, sarray_remove_garbage): Removed.
335	* objc/sarray.h: Removed.
336	* objc/hash.h: Removed.
337	* objc/deprecated/sarray.h: Removed.
338	* objc/deprecated/hash.h: Removed.
339	* objc/Object.h: Do not include objc/deprecated/hash.h
340	* Object.m: Include string.h.
341	* objc/objc-api.h: Do not include objc/deprecated/hash.h.
342	* objc-private/common.h (GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF):
343	Removed.
344
3452011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
346
347	* Object.m ([-forward::]): Removed.
348	* objc/deprecated/Object.h ([-forward::]): Removed.
349	* sendmsg.c (__objc_forward): Updated comments.
350
3512011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
352
353	* Makefile.in (OBJC_H): Removed objc-list.h.
354	(OBJC_DEPRECATED_H): Removed objc-list.h.
355	* objc/objc-list.h: File removed.
356	* objc/deprecated/objc-list.h: File removed.
357
3582011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
359
360	* Makefile.in (OBJC_H): Removed typedstream.h.
361	(OBJC_DEPRECATED_H): Removed typedstream.h.
362	(C_SOURCE_FILES): Removed archive.c.
363	(Object.lo): Rule removed.
364	(Object_gc.lo): Likewise.
365	(archive.lo): Likewise.
366	(archive_gc.lo): Likewise.
367	* objc/deprecated/Object.h ([+streamVersion:], [-read], [-write],
368	[-awake]): Removed.
369	Do not include deprecated/typedstream.h.
370	* Object.m: Removed the same methods.
371	* archive.c: File removed.
372	* objc/typedstream.h: File removed.
373	* objc/deprecated/typedstream.h: File removed.
374	* libobjc.def (__objc_read_nbyte_uint, __objc_read_nbyte_ulong,
375	__objc_write_class, __objc_write_object, __objc_write_selector,
376	objc_close_typed_stream, objc_end_of_typed_stream,
377	objc_flush_typed_stream, objc_get_stream_class_version,
378	objc_open_typed_stream, objc_open_typed_stream_for_file,
379	objc_read_array, objc_read_char, objc_read_int, objc_read_long,
380	objc_read_object, objc_read_selector, objc_read_short,
381	objc_read_string, objc_read_type, objc_read_types,
382	objc_read_unsigned_char, objc_read_unsigned_int,
383	objc_read_unsigned_long, objc_read_unsigned_short,
384	objc_write_array, objc_write_char, objc_write_int,
385	objc_write_long, objc_write_object, objc_write_object_reference,
386	objc_write_root_object, objc_write_selector, objc_write_short,
387	objc_write_string, objc_write_string_atomic, objc_write_type,
388	objc_write_types, objc_write_unsigned_char,
389	objc_write_unsigned_int, objc_write_unsigned_long,
390	objc_write_unsigned_short): Removed.
391
3922011-06-02  Nicola Pero  <nicola.pero@meta-innovation.com>
393
394	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h.
395	* objc/deprecated/objc_error.h: Removed.
396	* objc/objc-api.h: Do not include deprecated/objc_error.h.
397	* libobjc.def (objc_error, objc_verror): Removed.
398	* error.c (_objc_error_handler, objc_error, objc_verror,
399	objc_set_error_handler): Removed.
400	* Object.m ([-error:], [-perform:], [-perform:with:],
401	[-perform:with:with], [-subclassResponsibility:],
402	[-notImplemented:], [-shouldNotImplement:], [-doesNotRecognize:]):
403	Removed.
404	* objc/deprecated/Object.h: Removed the same methods.
405	* sendmsg.c (__objc_forward): Do not try to invoke the "error:"
406	method after trying to invoke the "doesNotRecognize:" method.
407
4082011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
409
410	* sendmsg.c: Reindented part of the file.  No non-trivial changes
411	in code.
412
4132011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
414
415	* sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
416	not objc_lookup_class.
417
4182011-05-25  Richard Frith-Macdonald <rfm@gnu.org>
419	    David Ayers  <ayers@fsfe.org>
420
421	PR libobjc/38307
422	* sendmsg.c: Include objc/hash.h.
423	(get_implementation): New function, mostly with code from get_imp
424	updated to support the new +initialize dispatch table logic.
425	(get_imp): Use get_implementation.
426	(__objc_responds_to): Updated to support the new +initialize
427	dispatch table logic.
428	(class_respondsToSelector): Likewise.
429	(objc_msg_lookup): Use get_implementation.
430	(__objc_init_install_dtable): Removed.
431	(__objc_install_methods_in_dtable): Updated arguments.
432	(__objc_install_dispatch_table_for_class): Renamed to
433	__objc_install_dtable_for_class and updated to support the new
434	+initialize dispatch table logic.
435	(__objc_update_dispatch_table_for_class): Updated to support the
436	new +initialize dispatch table logic.
437	(__objc_forward): Call get_implementation instead of get_imp.
438	(prepared_dtable_table): New.
439	(__objc_prepare_dtable_for_class): New.
440	(__objc_prepared_dtable_for_class): New.
441	(__objc_get_prepared_imp): New.
442	(__objc_install_prepared_dtable_for_class): New.
443
4442011-05-24  Nicola Pero  <nicola.pero@meta-innovation.com>
445
446	PR libobjc/48177
447	* selector.c (__sel_register_typed_name): Use sel_types_match()
448	instead of strcmp() to compare selector types (Suggestion by
449	Richard Frith-Macdonald <rfm@gnu.org>).
450
4512011-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
452
453	PR libobjc/32037
454	* Makefile.in (OBJC_GCFLAGS): Move ...
455	* configure.ac (enable_objc_gc): ... here.
456	Add $(libsuffix) to OBJC_BOEHM_GC.
457	* configure: Regenerate.
458
4592011-02-28  Nicola Pero  <nicola.pero@meta-innovation.com>
460
461	* selector.c (sel_getTypedSelector): Return NULL if there are
462	multiple selectors with conflicting types.
463	* objc/runtime.h (sel_getTypedSelector): Updated documentation.
464
4652011-02-28  Richard Frith-Macdonald <rfm@gnu.org>
466
467	PR libobjc/47922
468	* gc.c (class_ivar_set_gcinvisible): Use _C_GCINVISIBLE instead of
469	a hardcoded "!".
470
4712011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
472
473	* configure: Regenerate.
474
4752010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>
476
477	* init.c (create_tree_of_subclasses_inherited_from): Use
478	class_superclass_of_class instead of assuming a class is
479	unresolved when it could be resolved.  Tidied up assignment and
480	check.
481	(__objc_tree_insert_class): Enhanced DEBUG_PRINTF.
482	(objc_tree_insert_class): Tidied up loop; return immediately upon
483	inserting a class.
484	(__objc_exec_class): Do not set __objc_class_tree_list.
485
4862010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
487
488	* selector.c (sel_getTypedSelector): Return NULL if given a NULL
489	argument.
490	(sel_registerTypedName): Same.
491	(sel_registerName): Same.
492	* objc/runtime.h: Updated documentation.
493
4942010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
495
496	* objc/runtime.h (class_addIvar): Updated documentation.  The
497	alignment is actually the log_2 of the alignment in bytes.
498	* ivars.c (class_addIvar): Corresponding change to the
499	implementation.
500
5012010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
502
503	* objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to
504	be consistent with method_getTypeEncoding and
505	ivar_getTypeEncoding.
506	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
507	* selector.c (sel_getType): Renamed to sel_getTypeEncoding.
508	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
509	(sel_get_type): Updated call to sel_getType.
510
5112010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>
512
513	* objc/runtime.h (class_conformsToProtocol,
514	class_copyProtocolList): Updated documentation.
515
5162010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
517
518	* init.c (create_tree_of_subclasses_inherited_from): Updated
519	DEBUG_PRINTF messages.
520	(__objc_tree_insert_class): Same.
521	(__objc_send_load_using_method_list): Same.
522	(__objc_send_load): Same.
523	(__objc_exec_class): Same.  In particular, do not print the module
524	name since it is no longer used.
525	* sendmsg.c (__objc_send_initialize): Added DEBUG_PRINTFs for
526	tracking +initialize calls.
527	(__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for
528	tracking updates of dispatch tables.
529	(__objc_install_dispatch_table_for_class): Same.
530
5312010-12-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
532
533	* Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc.
534	(libobjc_gc$(libsuffix).la): Likewise.
535
5362010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
537
538	* sendmsg.c (class_addMethod): Return NO if the method already
539	exists in the class.
540
5412010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
542
543	* init.c (duplicate_classes): New.
544	(__objc_exec_class): Initialize duplicate_classes.
545	(__objc_create_classes_tree): Ignore classes in the
546	duplicate_classes table.
547	(__objc_call_load_callback): Same.
548	(__objc_init_class): If a duplicate class is found, add it to
549	duplicate_classes instead of aborting.  Return YES if the class is
550	not a duplicate, and NO if it is.
551	* objc-private/runtime.h (__objc_init_class): Updated prototype.
552
5532010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
554
555	* objc-private/objc-list.h: Reindented file.  No code changes.
556	* objc-private/sarray.h: Same change.
557
5582010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>
559
560	* objc-private/accessors.h: Removed 'extern "C"' guards.  This
561	file is never compiled with C++.
562	* objc-private/hash.h: Same change.
563	* objc-private/objc-list.h: Same change.
564	* objc-private/objc-sync.h: Same change.
565	* objc-private/protocols.h: Same change.
566	* objc-private/runtime.h: Same change.
567	* objc-private/sarray.h: Same change.
568	* objc-private/selector.h: Same change.
569
5702010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
571
572	PR libobjc/18764
573	* class.c (__objc_add_class_to_hash): Return YES if the class was
574	added, and NO if it already existed.
575	* init.c (__objc_init_class): If __objc_add_class_to_hash returns
576	NO, then abort the program with an error message.
577	* objc-private/runtime.h (__objc_add_class_to_hash): Updated
578	declaration.
579
5802010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
581
582	* init.c (_objc_load_callback): Initialize with 0.
583	(__objc_call_callback): Renamed to __objc_call_load_callback.
584	Check _objc_load_callback only once, and if it is not set, return
585	immediately.
586	(objc_send_load): Updated call to __objc_call_callback.
587
5882010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
589
590	PR libobjc/16110
591	* init.c (__objc_send_message_in_list): Renamed to
592	__objc_send_load_using_method_list.  Do not take an 'op' argument.
593	Register the 'load' selector if needed.
594	(__objc_send_load): Do not register the 'load' selector.  Updated
595	call to __objc_send_message_in_list.
596	(__objc_create_classes_tree): Add the class of any claimed
597	category that was loaded in the module to the list of classes for
598	which we try to execute +load.
599
6002010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
601
602	* objc-private/common.h: When DEBUG is defined, include <stdio.h>.
603	Updated comments.
604	* init.c (__objc_tree_insert_class): Use %p, not %x, when printing
605	a pointer using DEBUG_PRINTF.
606
6072010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
608
609	PR libobjc/45953
610	* selector.c (__sel_register_typed_name): When registering a new
611	selector with the same name as an existing one, reuse the existing
612	name string.  Also updated types, casts and comments in the whole
613	function.
614
6152010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
616
617	* objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs'
618	to be 'struct objc_selector *' and not 'SEL'.
619	* init.c (__objc_exec_class): Call
620	__objc_register_selectors_from_module instead of iterating over
621	each selector and calling __sel_register_typed_name for each.
622	* objc-private/selector.h: Declare
623	__objc_register_selectors_from_module instead of
624	__sel_register_typed_name.
625	* selector.c (__objc_register_selectors_from_module): New.
626	(__sel_register_typed_name): Made static.
627
6282010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
629
630	* linking.m: Do not include objc/NXConstStr.h.
631
6322010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
633
634	* objc-private/runtime.h (DEBUG_PRINTF): Moved from here ...
635	* objc-private/common.h (DEBUG_PRINTF): To here.
636	* hash.c: Do not include objc-private/runtime.h and objc/thr.h.
637
6382010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
639
640	* hash.c: Tidied up comments and indentation.  No code changes.
641
6422010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
643
644	PR libobjc/47012
645	* accessors.m (objc_getProperty): If not atomic, do not
646	retain/autorelease the returned value.
647
6482010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
649
650	* objc-private/runtime.h (__objc_selector_max_index,
651	__objc_init_selector_tables, __objc_register_selectors_from_class,
652	__objc_register_selectors_from_list,
653	__objc_register_selectors_from_description_list): Moved to ...
654	* objc-private/selector.h: ... here.
655
6562010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
657
658	* objc-private/runtime.h (__objc_class_links_resolved): Removed.
659	(__objc_print_dtable_stats): Removed.
660	(__sel_register_typed_name): Removed.
661	* sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument.
662
6632010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
664
665	* init.c (__objc_exec_class): Call __objc_resolve_class_links (),
666	if appropriate, after loading the module.
667
6682010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
669
670	* sendmsg.c (method_setImplementation): Do not declare.
671
6722010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
673
674	* objc/message.h: Updated comments.
675	* objc/runtime.h: Updated comments.
676
6772010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
678
679	* class.c (objc_lookupClass): Renamed to objc_lookUpClass.
680	* protocols.c: Updated all calls to objc_lookupClass to call
681	objc_lookUpClass instead.
682	* sendmsg.c (objc_lookupClass): Do not declare.
683	(get_imp): Update call to objc_lookupClass to call
684	objc_lookUpClass instead.
685	* objc/runtime.h (objc_lookupClass): Renamed to objc_lookUpClass.
686
6872010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
688
689	* objc/runtime.h (class_ivar_set_gcinvisible): Declare.
690	* sendmsg.c (_CLS_IN_CONSTRUCTION, CLS_IS_IN_CONSTRUCTION): Do not
691	define.  Updated comments.
692
6932010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
694
695	* objc/encoding.h: Updated comments.
696	* objc/runtime.h: Updated comments.
697	(objc_setGetUnknownClassHandler): Mark with objc_EXPORT.
698	(objc_sizeof_type): Same.
699	(objc_alignof_type): Same.
700	(objc_aligned_size): Same.
701	(objc_promoted_size): Same.
702	(objc_skip_type_qualifiers): Same.
703	(objc_skip_typespec): Same.
704	(objc_skip_offset): Same.
705	(objc_skip_argspec): Same.
706	(objc_get_type_qualifiers): Same.
707	(objc_layout_structure): Same.
708	(objc_layout_structure_next_member): Same.
709	(objc_layout_finish_structure): Same.
710	(objc_layout_structure_get_info): Same.
711
7122010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
713
714	* init.c: Updated comments.
715	* objc/objc-api.h: Updated comments.
716	* objc/runtime.h (_objc_load_callback): Declare.
717
7182010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
719
720	* objc/Object.h: Include deprecated/typedstream.h and
721	deprecated/hash.h instead of typedstream.h.  Updated comments.
722
7232010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
724
725	* Makefile.in (OBJC_DEPRECATED_H): Added objc_msg_sendv.h.
726	* objc/deprecated/objc_msg_sendv.h: New.
727	* objc/message.h: Do not define retval_t, apply_t, arglist,
728	arglist_t, objc_msg_sendv, now in
729	objc/deprecated/objc_msg_sendv.h.
730	* objc/objc.h: Do not include message.h; include
731	objc/deprecated/objc_msg_sendv.h instead.  Tidied up comments.
732	* sendmsg.c: Include objc/message.h.
733	* thr.c: Include objc/message.h.
734
7352010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
736
737	* objc/objc-exception.h: Include objc-decls.h.  Mark all
738	functions with objc_EXPORT.
739	* objc/objc-sync.h: Same change.
740
7412010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
742
743	* Protocol.m: Moved all methods, with the exception of -isEqual:,
744	into the 'Deprecated' category.
745	* objc/Protocol.h: Removed all methods, moved to
746	objc/deprecated/Protocol.h.  Include objc/deprecated/Protocol.h.
747	* objc/deprecated/Protocol.h: New.
748	* Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h.
749
7502010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>
751
752	* init.c: Include objc-private/selector.h.  Do not declare
753	__sel_register_typed_name.
754	* objc-private/selector.h (__sel_register_typed_name): Declare.
755	* selector.c: Include objc-private/selector.h.
756
7572010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
758
759	* class.c: Tidied up comments and indentation.  No code changes.
760	* error.c: Same.
761	* exception.c: Same.
762	* init.c: Same.
763	* ivars.c: Same.
764	* memory.c: Same.
765	* objc-foreach.c: Same.
766	* objc-sync.c: Same.
767	* objects.c: Same.
768	* protocols.c: Same.
769	* sarray.c: Same.
770	* thr.c: Same.
771
7722010-12-17  Nicola Pero  <nicola.pero@meta-innovation.com>
773
774	* init.c: Include objc/runtime.h and objc-private/module-abi-8.h
775	instead of objc/objc-api.h.
776	(init_check_module_version): Take a 'struct objc_module *'
777	argument instead of 'Module_t'.  Use 'struct objc_module *'
778	instead of 'Module_t'.
779	(__objc_created_classes_tree): Take a 'struct objc_module *'
780	argument instead of 'Module_t'; use 'struct objc_symtab *' instead
781	of 'Symtab_t'.
782	(__objc_call_callback): Take a 'struct objc_module *' argument
783	instead of 'Module_t'; use 'struct objc_symtab *' instead of
784	'Symtab_t' and 'struct objc_category *' instead of 'Category_t'.
785	(_objc_load_callback): Take a 'struct objc_category *' argument
786	instead of 'Category *'.
787	(class_superclass_of_class): Use objc_getClass() instead of
788	objc_lookup_class().
789	(create_tree_of_subclasses_inherited_from): Same change (also, use
790	an explicit 'if' instead of '?').
791	(objc_init_statics): Same change.
792	(objc_send_load): Same change.
793	(__objc_init_protocol): same change.
794	(__objc_send_message_in_list): Take a 'struct objc_method_list *'
795	argument instead of 'MethodList_t'.  Use 'struct objc_method *'
796	instead of 'Method_t'.
797	(__objc_send_load): Use 'struct objc_method_list *' instead of
798	'MethodList_t'.  Use sel_registerName() instead of
799	sel_register_name().
800	(__objc_exec_class): Take a 'struct objc_module *' argument
801	instead of 'Module_t'.  Use 'struct objc_symtab *' instead of
802	'Symtab_t'.  Use objc_getClass() instead of objc_lookup_class().
803	Use 'struct objc_category *' instead of 'Category_t'.
804
8052010-12-16  Nicola Pero  <nicola.pero@meta-innovation.com>
806
807	* sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h.
808	Include objc-private/module-abi-8.h and objc-private/selector.h
809	instead of objc/encoding.h.
810	(objc_msg_lookup_super): Use super->super_class instead of
811	super->class.
812	(method_get_first_argument, method_get_next_argument): Declare
813	locally.
814	(class_get_instance_method): Declare before using.
815	(objc_msg_sendv): Use 'struct objc_method' instead of 'Method'.
816	(__objc_init_dispatch_tables, __objc_send_initialize): Use
817	sel_registerName() instead of sel_register_name().
818	(__objc_forward): Use sel_getName() instead of sel_get_name().
819	(objc_get_uninstalled_dtable): Use 'void' as argument.
820	* objc-private/selector.h: New.
821
8222010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
823
824	* objc/message.h (objc_super): When using the modern API, do not
825	define Super and Super_t, and always use 'super_class' for the
826	super class field.
827	(objc_msg_lookup_super): Updated prototype to use 'struct
828	objc_super *' instead of 'Super_t'.
829	* sendmsg.c (objc_msg_lookup_super): Updated prototype to use
830	'struct objc_super *' instead of 'Super_t'.
831
8322010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
833
834	* objc/message.h: Update comments, reindented code and moved
835	deprecated types and functions at the end of the file.  No code
836	changes.
837
8382010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
839
840	* ivars.c (class_addIvar): Use the 'size' argument instead of
841	trying to calculate it using objc_sizeof_type().
842	* objc/runtime.h (class_addIvar): Updated comments.
843
8442010-12-15  Nicola Pero  <nicola.pero@meta-innovation.com>
845
846	* sendmsg.c: Reindented some code and tidied up comments.  No
847	actual code changes.
848
8492010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
850
851	* objc/Object.h: Moved all the methods, with the exception of
852	-class and -isEqual:, into ...
853	* objc/deprecated/Object.h: here.
854	* Object.m: Moved all the methods, with the exception of -class
855	and -isEqual: into the 'Deprecated' category.
856
8572010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
858
859	* objects.c (object_copy): Do not #undef as we are no longer
860	including objc/objc-api.h.
861	* selector.c: Include objc/runtime.h and
862	objc-private/module-abi-8.h.  Do not include objc/objc-api.h and
863	objc/encoding.h.  Updated
864	(__objc_register_selectors_from_class): Use struct
865	objc_method_list * instead of MethodList_t.
866	(__objc_register_selectors_from_list): Use Method instead of
867	Method_t.
868	(struct objc_method_description_list): Do not define here.
869	(__objc_register_instance_methods_to_class): Use struct
870	objc_method_list * instead of MethodList_t and Method instead of
871	Method_t.
872
8732010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>
874
875	* selector.c: Reindented some code and tidied up comments.  No
876	actual code changes.
877
8782010-12-13  Iain Sandoe  <iains@gcc.gnu.org>
879
880	* encoding.c (_darwin_rs6000_special_round_type_align): New.
881	(darwin_rs6000_special_round_type_align): Adjust to use new routine.
882
8832010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
884
885	* sendmsg.c (selector_resolveClassMethod): New.
886	(selector_resolveInstanceMethod): New.
887	(__objc_resolve_class_method): New.
888	(__objc_resolve_instance_method): New.
889	(get_imp): Call __objc_resolve_class_method or
890	__objc_resolve_instance_method at the appropriate time.
891	(objc_msg_lookup): Same.
892	(class_getClassMethod): Same.
893	(class_getInstanceMethod): Same.
894	(__objc_init_dispatch_tables): Initialize
895	selector_resolveClassMethod and selector_resolveInstanceMethod.
896	* objc/runtime.h: Updated documentation of class_getClassMethod,
897	class_getInstanceMethod and class_getMethodImplementation.
898
8992010-12-11  Nicola Pero  <nicola.pero@meta-innovation.com>
900
901	* objc-private/module-abi-8.h (struct objc_symtab): Updated
902	description of sel_ref_cnt and refs.
903	* objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change.
904
9052010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
906
907	PR target/40125
908	PR lto/46695
909	* configure.ac (extra_ldflags_libobjc): Invoke ACX_LT_HOST_FLAGS.
910	* Makefile.in (lt_host_flags): Import AC_SUBST'd value.
911	* aclocal.m4: Regenerate.
912	* configure: Regenerate.
913
9142010-12-03  Matthias Klose  <doko@ubuntu.com>
915
916	* configure.ac (VERSION): Bump the version to 3:0:0.
917	* configure: Regenerate.
918
9192010-11-23  Richard Frith-Macdonald <rfm@gnu.org>
920
921	* sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to
922	pass nil as the receiver since we don't know the receiver at this
923	point.
924
9252010-11-18  Nicola Pero  <nicola.pero@meta-innovation.com>
926
927	* ivars.c: Include stdlib.h.
928	* protocols.c: Same change.
929
9302010-10-24  Nicola Pero  <nicola.pero@meta-innovation.com>
931
932	* Makefile.in (OBJC_SOURCE_FILES): Added accessors.m.
933	* accessors.m: New.
934	* init.c: Include objc-private/accessors.h.
935	(__objc_exec_class): Call __objc_accessors_init.
936	* objc-private/accessors.h: New.
937
9382010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
939
940	* objc/message.h: Moved initial includes outside of extern "C".
941	* objc/runtime.h: Add extern "C" for Objective-C++.
942
9432010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
944
945	* init.c (objc_send_load): Do not wait for NXConstantString to be
946	registered before executing +load.  There is no point if
947	-fconstant-string-class=xxx is used when compiling all modules,
948	as is the case for almost all users.
949	* linking.m (__objc_linking): Do not try to forcefully link in
950	NXConstantString.
951
9522010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
953
954	* objc/runtime.h: Updated comments.
955	(class_addMethod): New.
956	(class_addIvar): New.
957	(class_replaceMethod): New.
958	(objc_allocateClassPair): New.
959	(objc_registerClassPair): New.
960	(objc_disposeClassPair): New.
961	* class.c (objc_allocateClassPair): New.
962	(objc_registerClassPair): New.
963	(objc_disposeClassPair): New.
964	(class_getSuperclass): Return Nil if a class is in construction.
965	* init.c (__objc_exec_class): Call __objc_init_class.
966	(__objc_init_class): New.
967	* ivars.c (class_copyIvarList): Return NULL if class is in
968	construction.  Do not lock the runtime mutex.
969	(class_getInstanceVariable): Return NULL if class is in
970	construction.  Do not lock the runtime mutex.
971	(class_addIvar): New.
972	* sendmsg.c (class_addMethod): New.
973	(class_replaceMethod): New.
974	* objc-private/module-abi-8.h (__CLS_SETNOTINFO): New.
975	(_CLS_IN_CONSTRUCTION): New.
976	(CLS_IS_IN_CONSTRUCTION): New.
977	(CLS_SET_IN_CONSTRUCTION): New.
978	(CLS_SET_NOT_IN_CONSTRUCTION): New.
979	* objc-private/runtime.h (__objc_init_class): New.
980
9812010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
982
983	* class.c (class_getSuperclass): Call __objc_resolve_class_links
984	if the class is not resolved yet.
985	* ivars.c (class_getInstanceVariable): Use class_getSuperclass.
986
9872010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>
988
989	* objc/runtime.h (class_getIvarLayout): New.
990	(class_getWeakIvarLayout): New.
991	(class_setIvarLayout): New.
992	(class_setWeakIvarLayout): New.
993	* ivars.c (class_getIvarLayout): New.
994	(class_getWeakIvarLayout): New.
995	(class_setIvarLayout): New.
996	(class_setWeakIvarLayout): New.
997
9982010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
999
1000	* objc/runtime.h (class_copyPropertyList): New.
1001	(class_getProperty): New.
1002	(property_getAttributes): New.
1003	(property_getName): New.
1004	* ivars.c (class_copyPropertyList): New.
1005	(class_getProperty): New.
1006	(property_getAttributes): New.
1007	(property_getName): New.
1008
10092010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1010
1011	* objc-private/runtime.h (__objc_update_classes_with_methods): New.
1012	* class.c (__objc_update_classes_with_methods): New.
1013	(objc_getClassList): Do not lock the class lock.
1014	* methods.c (method_exchangeImplementations): New.
1015	(method_setImplementation): New.
1016	* objc/runtime.h (method_setImplementation): New.
1017	(method_exchangeImplementations): New.
1018
10192010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1020
1021	* Protocol.m: Include objc/runtime.h and
1022	objc-private/module-abi-8.h instead of objc/objc-api.h.  Do not
1023	repeat Protocol's instance variables.
1024	(struct objc_method_description_list): Do not define here.
1025	([-conformsTo:]): Reimplemented on top of protocol_conformsTo().
1026	([descriptionForInstanceMethod:]): Use sel_isEqual() to compare
1027	selectors directly instead of getting names and then using strcmp.
1028	([descriptionForClassMethod:]): Same change.
1029	([-isEqual:]): Reimplemented on top of protocol_isEqual().
1030	* protocols.c (protocol_getMethodDescription): Use sel_isEqual()
1031	to compare selectors directly instead of getting names and then
1032	using strcmp.
1033	* objc/Protocol.h: Updated comments.
1034
10352010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1036
1037	* init.c (__objc_init_protocol): New function which fixes up a
1038	protocol's class pointer, registers it with the runtime, register
1039	all protocol selectors and registers associated protocols too.
1040	(objc_init_statics): Detect if we are initializing protocols, and
1041	if so, use __objc_init_protocol instead of only fixing up the
1042	class pointer.
1043	(__objc_init_protocls): Use __objc_init_protocol.
1044	* objc-private/module-abi-8.h: Updated comments.
1045	* objc-private/runtime.h
1046	(__objc_register_selectors_from_description_list): New.
1047	* selector.c (__objc_register_selectors_from_description_list):
1048	New.  (struct objc_method_description_list): Declare.
1049	* Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name
1050	when accessing the name of a method, which is now correctly a SEL.
1051	([-descriptionForClassMethod:]): Same change.
1052	* protocols.c (protocol_getMethodDescription): Same change.
1053	* objc/runtime.h: Updated comments.
1054	(sel_registerTypedName): Fixed typo in function name.
1055
10562010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1057
1058	PR libobjc/23214
1059	* init.c (objc_init_statics): Do not skip the initialization of a
1060	statics list if the first object has already been initialized; in
1061	the case of Protocols, while the first one may have been
1062	initialized, some others may not have been initialized yet.
1063
10642010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1065
1066	* Makefile.in (OBJC_DEPRECATED_H): Added
1067	objc_get_uninstalled_dtable, objc_object_alloc.h and
1068	struct_objc_static_instances.h.
1069
10702010-10-13  Nicola Pero  <nicola.pero@meta-innovation.com>
1071
1072	* encoding.c (method_copyReturnType): New.
1073	(method_copyArgumentType): New.
1074	(method_getReturnType): New.
1075	(method_getArgumentType): New.
1076	* methods.c (method_getDescription): New.
1077	* objc/runtime.h (method_copyReturnType): New.
1078	(method_copyArgumentType): New.
1079	(method_getReturnType): New.
1080	(method_getArgumentType): New.
1081	(method_getDescription): New.
1082
10832010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1084
1085	* encoding.c: Tidied up comments.
1086	(objc_skip_variable_name): New static inline function.
1087	(objc_sizeof_type): Use objc_skip_variable_name instead of copying
1088	the same code over and over.
1089	(objc_alignof_type): Same.
1090	(objc_aligned_size): Same.
1091	(objc_promoted_size): Same.
1092	(objc_skip_typespec): Same.
1093	(objc_layout_structure_next_member): Same.
1094	(objc_skip_offset): Skip a '-' before the digits (if any).  Fixed
1095	historical bug where objc_skip_offset would skip one byte even if
1096	there is no offset: check that the first offset digit is actually
1097	a digit before skipping it.
1098	(objc_skip_type_qualifiers): Mark as inline.
1099	(objc_skip_typespec): Mark as inline.
1100
11012010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1102
1103	* Makefile.in (C_SOURCE_FILES): Added methods.c.
1104	* encoding.c (method_getNumberOfArguments): New.
1105	(method_get_number_of_arguments): Call
1106	method_getNumberOfArguments.
1107	* ivars.c (ivar_getName): Check for NULL variable argument.
1108	(ivar_getOffset): Check for NULL variable argument.
1109	(ivar_getTypeEncoding): Check for NULL variable argument.
1110	(class_copyIvarList): New.
1111	* methods.c: New.
1112	* protocols.c (class_copyProtocolList): Check for Nil class_
1113	argument.
1114	* sendmsg.c: Use 'struct objc_method *' instead of Method_t, and
1115	'struct objc_method_list *' instead of MethodList_t.
1116	(class_getMethodImplementation): New.
1117	(class_respondsToSelector): New.
1118	(class_getInstanceMethod): New.
1119	(class_getClassMethod): New.
1120	* objc/runtime.h: Updated comments.
1121	(class_copyIvarList): New.
1122	(class_getInstanceMethod): New.
1123	(class_getClassMethod): New.
1124	(class_getMethodImplementation): New.
1125	(class_respondsToSelector): New.
1126	(method_getName): New.
1127	(method_getImplementation): New.
1128	(method_getTypeEncoding): New.
1129	(class_copyMethodList): New.
1130	(method_getNumberOfArguments): New.
1131
11322010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1133
1134	* class.c: Include objc/runtime.h and objc-private/module-abi-8.h
1135	instead of objc/objc-api.h.
1136	(objc_get_unknown_class_handler): Do not define.
1137	(class_isMetaClass): New.
1138	(class_getSuperclass): New.
1139	(class_getVersion): New.
1140	(class_setVersion): New.
1141	(class_getInstanceSize): New.
1142	* exceptions.c: Include objc/runtime.h instead of objc/objc-api.h.
1143	(is_kind_of_exception_matcher): Use objc_getSuperclass instead of
1144	objc_get_super_class.
1145	(get_ttype_entry): Use objc_getRequiredClass instead of
1146	objc_get_class.
1147	* ivars.c (class_getClassVariable): New.
1148	* objects.c: Include objc/runtime.h, objc/thr.h and
1149	objc-private/module-abi-8.h instead of objc/objc-api.h
1150	* objc/runtime.h (class_getClassVariable): New.
1151	(class_isMetaClass): New.
1152	(class_getSuperclass): New.
1153	(class_getVersion): New.
1154	(class_setVersion): New.
1155	(class_getInstanceSize): New.
1156	* objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from
1157	objc/objc-api.h)
1158	(__CLS_INFO): Same.
1159	(__CLS_ISINFO): Same.
1160	(__CLS_SETINFO): Same.
1161	(CLS_ISMETA): Same.
1162	(CLS_ISCLASS): Same.
1163	(CLS_ISRESOLV): Same.
1164	(CLS_SETRESOLV): Same.
1165	(CLS_ISINITIALIZED): Same.
1166	(CLS_SETINITIALIZED): Same.
1167	(CLS_GETNUMBER): Same.
1168	(CLS_SETNUMBER): Same.
1169
11702010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1171
1172	* archive.c: Do not include objc/objc.h.
1173	* class.c: Do not include objc/objc.h.
1174	* encoding.c: Include objc/runtime.h, ctype.h and
1175	objc-private/module-abi-8.h instead of objc/objc-api.h and
1176	objc/encoding.h.
1177	* error.c: Do not include objc/objc.h.
1178	* gc.c: Include tconfig.h and objc/encoding.h only if
1179	OBJC_WITH_GC.
1180	* hash.c: Include objc/runtime.h and objc/thr.h instead of
1181	objc/objc-api.h.  Do not include objc/objc.h.
1182	* init.c: Do not include objc/objc.h.
1183	* ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and
1184	objc/thr.h instead of objc/objc-api.h.  Do not include
1185	objc/objc.h.
1186	* linking.m: Tidied comment.
1187	* memory.c: Include objc/runtime.h instead of objc/objc-api.h.
1188	Do not include objc/objc.h.
1189	* objects.c: Do not include objc/objc.h.
1190	* objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h.
1191	* protocols.c: Do not include objc/objc.h.
1192	* sarray.c: Include objc/runtime.h instead of objc/objc-api.h.  Do
1193	not include objc/objc.h.
1194	* selector.c: Do not include objc/objc.h.
1195	* sendmsg.c: Do not include objc/objc.h.
1196	* thr.c: Include objc/runtime.h instead of objc/objc-api.h.
1197	Do not include objc/objc.h.
1198	* objc/objc-decls.h: Reindented code.
1199	* objc/runtime.h Include objc-decls.h.  Updated comments.
1200	(objc_malloc): New.
1201	(objc_atomic_malloc): New.
1202	(objc_calloc): New.
1203	(objc_realloc): New.
1204	(objc_free): New.
1205	* objc-private/runtime.h: Updated comments.
1206
12072010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1208
1209	* Makefile.in (C_SOURCE_FILES): Added protocols.c.
1210	* objc-private/protocols.h: New.
1211	* protocols.c: New.
1212	* init.c: Include objc-private/protocols.h.
1213	(__objc_exec_class): Call __objc_protocols_init on startup.
1214	(__objc_init_protocols): Call __objc_protocols_add_protocol.
1215	* objc-private/runtime.h: Use (struct objc_method_list *) instead
1216	of MethodList_t, and (struct objc_method *) instead of Method_t.
1217	* objc/deprecated/struct_objc_class.h: Define
1218	__objc_STRUCT_OBJC_CLASS_defined.
1219	* objc-private/module-abi-8.h (struct
1220	objc_method_description_list): New.
1221	(struct objc_class): Only define if
1222	__objc_STRUCT_OBJC_CLASS_defined is undefined.
1223	* objc/runtime.h (class_getName): New.
1224	(objc_getProtocol): New.
1225	(objc_copyProtocolList): New.
1226	(class_addProtocol): New.
1227	(class_conformsToProtocol): New.
1228	(class_copyProtocolList): New.
1229	(protocol_conformsToProtocol): New.
1230	(protocol_isEqual): New.
1231	(protocol_getName): New.
1232	(protocol_getMethodDescription): New.
1233	(protocol_copyMethodDescriptionList): New.
1234	(protocol_getProperty): New.
1235	(protocol_copyPropertyList): New.
1236	(protocol_copyProtocolList): New.
1237	* class.c (class_getName): New.
1238	* selector.c (sel_isEqual): New.
1239
12402010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1241
1242	* selector.c (sel_getName): Return "<null selector>" for a NULL
1243	argument.
1244	(sel_get_name): Return 0 for a NULL argument.
1245	* objc/runtime.h (sel_getName): Updated documentation.
1246
1247	* objc-private/hash.h (class_hash_table): Unused declaration
1248	removed.
1249	(module_hash_table): Same.
1250	* objc/deprecated/hash.h: Same changes.
1251
12522010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1253
1254	* class.c (objc_getClassList): New.
1255	(objc_getRequiredClass): New.
1256	(objc_getMetaClass): New.
1257	(objc_lookupClass): New.
1258	(objc_getClass): New.
1259	(__objc_get_unknown_class_handler): New.
1260	(objc_setGetUnknownClassHandler): New.
1261	(objc_get_class): Use __objc_get_unknown_class_handler.
1262	(objc_lookup_class): Call objc_getClass.
1263	* objc/objc-api.h: Updated comment and copyright notice.
1264	* objc/runtime.h: Updated comments.
1265	(objc_getClass): New.
1266	(objc_lookupClass): New.
1267	(objc_getMetaClass): New.
1268	(objc_getRequiredClass): New.
1269	(objc_getClassList): New.
1270	(objc_setGetUnknownClassHandler): New.
1271	(objc_get_unknown_class_handler): New.
1272	* objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU
1273	instead of __objc_runtime_INCLUDE_GNU as include guard.
1274	* objc-private/error.h (_objc_abort): Mark as noreturn.
1275
12762010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1277
1278	* Makefile.in (C_SOURCE_FILES): Added ivars.c.
1279	* ivars.c: New.
1280	* objc/objc.h: Updated comments.
1281	* objc/runtime.h (object_getClass): New.
1282	(object_getClassName): New.
1283	(object_setClass): New.
1284	(class_getInstanceVariable): New.
1285	(object_getIndexedIvars): New.
1286	(object_getInstanceVariable): New.
1287	(object_setInstanceVariable): New.
1288	(object_getIvar): New.
1289	(object_setIvar): New.
1290	(ivar_getName): New.
1291	(ivar_getOffset): New.
1292	(ivar_getTypeEncoding): New.
1293	* objc-private/module-abi-8.h (struct objc_class): Added.
1294	* objects.c (object_getClassName): New.
1295	(object_setClass): New.
1296
12972010-10-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1298
1299	* objc/objc.h: Updated comments.
1300	* objc/objc-api.h: (object_copy): Added one argument; use a
1301	#define to maintain backwards-compatibility.  Moved
1302	_objc_object_alloc, _objc_object_copy, _objc_object_dispose and
1303	objc_get_uninstalled_dtable into
1304	objc/deprecated/objc_get_uninstalled_dtable.h and
1305	objc/deprecated/objc_object_alloc.h.  Include these files.
1306	* objc/deprecated/objc_get_uninstalled_dtable.h: New.
1307	* objc/deprecated/objc_object_alloc.h: New.
1308	* objc/runtime.h (set_getName): New.
1309	(sel_getType): New.
1310	(sel_getUid): New.
1311	(sel_registerName): New.
1312	(sel_registerTypedName): New.
1313	(sel_isEqual): New.
1314	(class_createInstance): New.
1315	(object_copy): New.
1316	(object_dispose): New.
1317	* objects.c: Do not include tconfig.h.  Include gc_typed.h if
1318	building the garbage collection version.
1319	(__objc_object_alloc): Removed.
1320	(__objc_object_copy): Removed.
1321	(__objc_object_dispose): Removed.
1322	(class_createInstance): New from code in class_create_instance.
1323	Cast second argument of GC_malloc_explicitly_typed.  Use
1324	objc_calloc.  Do not call _objc_object_alloc.
1325	(class_create_instance): Call class_createInstance.
1326	(object_copy): Added extraBytes argument.  Do not call
1327	_objc_object_copy.
1328	(object_dispose): Do not call _objc_object_dispose.
1329	* memory.c (objc_free): When using garbage collection, mark the
1330	argument as unused.
1331	* selector.c (sel_getName): New.
1332	(sel_get_name): Call sel_getName.
1333	(sel_getType): New.
1334	(sel_get_type): Call sel_getType.
1335	(sel_registerName): New.
1336	(sel_register_name): Call sel_registerName.
1337	(sel_registerTypedName): New.
1338	(sel_register_typed_name): Call sel_registerTypedName.
1339	(sel_getUid): New.
1340	(sel_get_uid): Call sel_getUid.
1341
13422010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1343
1344	* objc/objc-api.h: Define Method, Method_t, Category and
1345	Category_t.  Prevent including this file at the same time as
1346	objc/runtime.h.  Updated comments.
1347	* objc/deprecated/struct_objc_method.h: Do not define Method,
1348	Method_t.
1349	* objc/deprecated/struct_objc_category.h: Do not define Category,
1350	Category_t.
1351	* objc-private/module-abi-8.h: New file containing a copy of all
1352	the structure definitions.  Not used yet.
1353	* objc/encoding.h (objc_aligned_size): Removed duplicate
1354	declaration.  Updated comments.
1355	* objc/runtime.h: Added Ivar, objc_property_t, Property, Method,
1356	Category, struct objc_method_description, _C_ID and similar,
1357	_C_CONST and similar and _F_CONST and similar.  Added
1358	objc_sizeof_type, objc_alignof_type, objc_aligned_size,
1359	objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec,
1360	objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers,
1361	struct objc_struct_layout, objc_layout_structure,
1362	objc_layout_structure_next_member, objc_layout_finish_structure,
1363	objc_layout_structure_get_info.  Prevent including this file at
1364	the same time as objc/objc-api.h.
1365
13662010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1367
1368	* Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h,
1369	struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h,
1370	struct_objc_method_list.h, struct_objc_module.h,
1371	struct_objc_protocol_list.h, struct_objc_symtab.h.
1372	* objc/deprecated/struct_objc_category.h: New.
1373	* objc/deprecated/struct_objc_ivar.h: New.
1374	* objc/deprecated/struct_objc_ivar_list.h: New.
1375	* objc/deprecated/struct_objc_method.h: New.
1376	* objc/deprecated/struct_objc_method_list.h: New.
1377	* objc/deprecated/struct_objc_module.h: New.
1378	* objc/deprecated/struct_objc_protocol_list.h: New.
1379	* objc/deprecated/struct_objc_symtab.h: New.
1380	* objc/deprecated/struct_objc_static_instances.h: New.
1381	* objc/objc-api.h: Definitions of deprecated structures moved into
1382	the above header fragment files in objc/deprecated/.  Include the
1383	files instead of definition the structures here.  Updated
1384	comments.
1385	* objc/runtime.h: Updated comments.  Do not include objc-api.h.
1386	(objc_set_enumeration_mutation_handler): Renamed to
1387	objc_setEnumerationMutationHandler.
1388	* objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed
1389	to objc_setEnumerationMutationHandler.
1390	* objc/objc-exception.h (objc_set_exception_matcher): Renamed to
1391	objc_setExceptionMatcher.
1392	(objc_set_uncaught_exception_handler): Renamed to
1393	objc_setUncaughtExceptionHandler.
1394	* exception.c: Same changes.
1395
13962010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1397
1398	* objc-sync.c: Include objc-private/common.h.
1399
14002010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1401
1402	* objc-foreach.c: Include objc-private/common.h.
1403	* objc/deprecated/METHOD_NULL.h: New file.
1404	* objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of
1405	defining METHOD_NULL here.
1406	* Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h.
1407	* Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of
1408	METHOD_NULL.
1409	([-respondsTo:]): Same change.
1410	* objc/objc-api.h (method_get_imp): Converted it into a normal
1411	function so that we can hide the internals of struct objc_method.
1412	* sendmsg.c (method_get_imp): Implemented.
1413
14142010-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
1415
1416	* objc/objc-api.h (struct objc_super, Super, Super_t,
1417	objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward,
1418	objc_msg_forward2): Declarations moved to objc/message.h.  Include
1419	message.h here.
1420	* objc/message.h: Added such declarations; updated comments.
1421
14222010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1423
1424	Implemented fast enumeration for Objective-C.
1425	* Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
1426	(OBJC_H): Added runtime.h
1427	* objc-foreach.c: New file.
1428	* objc/runtime.h: New file.
1429
14302010-09-30  Kai Tietz  <kai.tietz@onevision.com>
1431
1432	* objc/deprecated/struct_objc_class.h: Add padding
1433	to avoid warning with -Wpadded.
1434
14352010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1436
1437	* encoding.c (objc_sizeof_type): Added support for vector type and
1438	for double long types.
1439	(objc_alignof_type): Same change.
1440	(objc_skip_typespec): Same change.
1441	* objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE
1442	instead of '!' since '!' is already used for _C_VECTOR.
1443	* objc/objc-api.h (_C_LNG_DBL): Added.
1444
14452010-09-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1446
1447	* libobjc_entry.c: File removed.
1448
14492010-09-26  Kai Tietz  <kai.tietz@onevision.com>
1450
1451	* sendmsg.c (objc_msg_lookup): Remove inline.
1452	(objc_get_uninstalled_dtable): Likewise.
1453	* encoding.c (objc_skip_type_qualifiers): Likewise.
1454	(objc_skip_offset): Likewise.
1455	* archive.c (__objc_write_object): Likewise
1456	(__objc_write_class):
1457	(__objc_write_selector):
1458	(objc_read_char):
1459	(objc_read_unsigned_char):
1460	(objc_read_short):
1461	(objc_read_unsigned_short):
1462	(objc_read_int):
1463	(objc_read_long):
1464	(__objc_read_nbyte_uint):
1465	(objc_read_unsigned_int):
1466	(objc_read_unsigned_long):
1467	* objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
1468	(objc_EXPORT): Likewise.
1469	* objc/message.h (objc-decls.h): Add include.
1470	* objc/objc-api.h: Mark API by objc_EXPORT.
1471	* libobjc.def (__objc_responds_to): Removed.
1472
14732010-09-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1474
1475	* hash.c: Include objc-private/hash.h instead of objc/hash.h.
1476
1477	* objc/sarray.h: Moved into objc/deprecated/sarray.h;
1478	objc/sarray.h replaced with a placeholder including the file from
1479	the deprecated/ directory.
1480	* objc-private/sarray.h: New file (private copy of sarray.h).
1481	* hash.c: Include <assert.h> instead of "assert.h"
1482	* sarray.c: Include <assert.h> instead of "assert.h".  Include
1483	objc-private/sarray.h instead of objc/sarray.h.
1484	* selector.c: Include objc-private/sarray.h instead of
1485	objc/sarray.h.
1486	* sendmsg.c: Include <assert.h>.  Include objc-private/sarray.h
1487	instead of objc/sarray.h.
1488	* Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.
1489
14902010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1491
1492	* objc-private/objc-list.h (list_remove_elem): Unused function
1493	removed.  (list_nth): Unused function removed.  (list_find):
1494	Unused function removed.  (list_lenght): Unused function removed.
1495
14962010-09-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1497
1498	* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
1499	replaced with a placeholder including the file from the
1500	deprecated/ directory.
1501	* objc/objc-api.h: Updated includes.
1502	* objc/typedstream.h: Updated includes.
1503	* objc-private/hash.h: New file (private copy of hash.h).
1504	* objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
1505	objc/objc-list.h replaced with a placeholder including the file
1506	from the deprecated/ directory.
1507	* objc-private/objc-list.h: New file (private copy of objc-list.h).
1508	* init.c: Include objc-private/hash.h and objc-private/objc-list.h
1509	instead of objc/hash.h and objc/objc-list.h.
1510	* selector.c: Same change.
1511	* class.c: Added include <string.h>, which used to be implicitly included
1512	when hash.h was included.
1513	* exception.c: Same change.
1514	* objects.c: Same change.
1515	* sarray.c: Same change.
1516	* sendmsg.c: Same change.
1517	* Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
1518
15192010-09-14  Nicola Pero  <nicola.pero@meta-innovation.com>
1520
1521	Implemented objc_sync_enter() and objc_sync_exit(), which are
1522	required by @synchronized() to work.
1523	* objc-sync.c: New file.
1524	* objc/objc-sync.h: New file.
1525	* objc-private/objc-sync.h: New file.
1526	* init.c (__objc_exec_class): Call __objc_sync_init() during the
1527	Objective-C runtime startup.
1528	* Makefile.in: Added objc-sync.c and objc-sync.h.
1529	* configure.ac: Added GCC_CHECK_TLS.
1530	* acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4.
1531	* configure: Regenerated.
1532	* config.h.in: Regenerated.
1533
15342010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1535
1536	* Makefile.in (%_gc.lo): New pattern rules to build the
1537	garbage-collected version of the library.  Removed rules for
1538	specific files that are no longer needed.  Standardized all rules.
1539	(C_SOURCE_FILES, OBJC_SOURCE_FILES): New variables.
1540	(OBJS, OBJS_GC): Compute these from C_SOURCE_FILES and
1541	OBJC_SOURCE_FILES.
1542	(INCLUDES): Removed the unused include -I$(srcdir)/objc.
1543
15442010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1545
1546	* memory.c (objc_calloc): Fixed call to GC_malloc when building
1547	with Garbage Colletion.
1548
15492010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1550
1551	* memory.c: Do not include objc-private/runtime.h.
1552
15532010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1554
1555	* objc/deprecated/objc_malloc.h: New file.
1556	* objc/deprecated/objc_valloc.h: New file.
1557	* objc/objc-api.h: Include the files instead of defining
1558	objc_valloc, _objc_malloc() and similar.
1559	* Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and
1560	objc_malloc.h.
1561	* memory.c: Removed the extra layer of indirection of _objc_malloc
1562	and similar.
1563	(objc_calloc): Use GC_malloc in the garbage-collected
1564	implementation as GC_malloc returns memory that is already freed.
1565	(objc_valloc): Deprecated.
1566
15672010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1568
1569	* objc/deprecated/objc_error.h: New file.
1570	* objc/objc-api.h: Include deprecated/objc_error.h instead of
1571	defining objc_error and related.
1572	* error.c: New file.  Added _objc_abort function which replaces
1573	objc_error.  No change in functionality as they both print an
1574	error and abort.
1575	* misc.c: File removed.  Code moved into memory.c and error.c.
1576	* memory.c: New file.
1577	* objc-private/error.h: New file.
1578	* archive.c: Include objc-private/error.h and use _objc_abort
1579	instead of objc_error everywhere.
1580	* class.c: Same change.
1581	* encoding.c: Same change.
1582	* init.c: Same change, and simplified init_check_module_version.
1583	* memory.c: Same change.
1584	* sendmsg.c:  Same change.
1585	* thr.c: Same change.
1586	* Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h.
1587	(OBJ_H): Reordered list.
1588	(OBJS): Removed misc.lo, added memory.lo and error.lo.
1589	(OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo.
1590	(misc_gc.lo): Rule removed.
1591	(error_gc.lo): Rule added.
1592	(memory_gc.lo): Rule added.
1593
15942010-09-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1595
1596	* objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way
1597	to check the API version.  Added some comments.
1598
1599	* objc-private/common.h: New file.
1600	* NXConstStr.m: Include objc-private/common.h.
1601	* Object.m: Same change.
1602	* Protocol.m: Same change.
1603	* archive.c: Same change.
1604	* class.c: Same change.
1605	* encoding.c: Same change.
1606	* exception.c: Same change.
1607	* gc.c: Same change.
1608	* hash.c: Same change.
1609	* init.c: Same change.
1610	* libobjc_entry.c: Same change.
1611	* linking.m: Same change.
1612	* misc.c: Same change (and added a comment).
1613	* nil_method.c: Same change.
1614	* objects.c: Same change.
1615	* sarray.c: Same change.
1616	* selector.c: Same change.
1617	* sendmsg.c: Same change.
1618	* thr.c: Same change.
1619
16202010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1621
1622	* objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP.
1623
16242010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1625
1626	* archive.c: Removed not needed includes.
1627	* class.c: Same change.
1628	* hash.c: Same change.
1629	* misc.c: Same change.
1630	* nil_method.c: Same change.
1631	* objects.c: Same change.
1632	* sarray.c: Same change.
1633	* sendmsg.c: Same change.
1634	* thr.c: Same change.
1635
16362010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1637
1638	* objc/runtime.h: Moved to objc-private/runtime.h.  Do not include
1639	all the objc/*.h files.
1640	* objc-private/runtime.h: New file.
1641	* archive.c: Include objc-private/runtime.h (and required objc/*.h
1642	files) instead of objc/runtime.h.
1643	* class.c: Same change.
1644	* hash.c: Same change.
1645	* init.c: Same change.
1646	* misc.c: Same change.
1647	* nil_method.c: Same change.
1648	* objects.c: Same change.
1649	* sarray.c: Same change.
1650	* selector.c: Same change.
1651	* sendmsg.c: Same change.
1652	* thr.c: Same change.
1653
16542010-09-11  Nicola Pero  <nicola.pero@meta-innovation.com>
1655
1656	* objc/deprecated/struct_objc_selector.h: New file.  Definition of
1657	'struct objc_selector' and 'sel_eq' moved here.
1658	* objc/deprecated/struct_objc_protocol.h: New file.  Definition of
1659	'struct objc_procotol' moved here.
1660	* objc/deprecated/struct_objc_class.h: New file.  Definition of
1661	'struct objc_class' moved here.
1662	* objc/deprecated/MetaClass.h: New file.  Definition of MetClass
1663	moved here.
1664	* objc/deprecated/STR.h: New file.  Definition of STR moved here.
1665	* objc/message.h: New file.  Definitions for relval_t, apply_t,
1666	arglist, arglist_t and objc_msg_lookup were moved here.
1667	* objc/objc.h: Include the above files instead of defining the
1668	corresponding structs, types and functions here.  Added new opaque
1669	definitions for SEL and Class.  Use Class and not 'struct
1670	objc_class *' in the definition of 'struct objc_object'.
1671	Commented all types defined in the file.  Removed special
1672	definition of BOOL as 'int' on __vxworks; use 'unsigned char'
1673	there as well.
1674	* objc/deprecated/objc-unexpected-exception.h: Renamed to
1675	objc_unexpected_exception.h.
1676	* objc/objc-api.h: Updated include of
1677	objc-unexpetected-exception.h
1678	* objc/objc-exception.h: Updated comments.
1679	* Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header
1680	files.  Reindented list of files.
1681
16822010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1683
1684	* objc/objc-api.h (objc_trace): Unused variable removed.
1685
16862010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1687
1688	* objc/deprecated: New directory.
1689	* objc/deprecated/README: New file.
1690	* objc/README: New file.
1691	* objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
1692	objc/typedstream.h replaced with a placeholder including the file
1693	from the deprecated/ directory.
1694	* objc/deprecated/objc-unexpected-exception.h: New file with the
1695	definition of _objc_unexpected_exception.
1696	* objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
1697	instead of defining _objc_unexpected_exception.
1698	* objc/deprecated/Object.h: New file with the deprecated Object
1699	methods in a 'Deprecated' category.
1700	* objc/Object.h Include deprecated/Object.h instead of defining
1701	the deprecated methods.
1702	* Object.m: Moved deprecated methods into 'Deprecated' category.
1703	* objc-private: New directory.
1704	* objc-private/README: New file.
1705	* Makefile.in (OBJC_DEPRECATED_H): New variable.
1706	(install-headers): Create installation directory for
1707	OBJC_DEPRECATED_H headers, and install them.
1708
17092010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1710
1711	* objc/objc-exception.h: Fixed include of objc.h.
1712
17132010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1714
1715	* objc/objc-exception.h: New file.
1716	* exception.c (objc_set_uncaught_exception_handler): Implemented.
1717	(objc_set_exception_matcher): Implemented.
1718	(objc_exception_throw): Use the uncaught exception handler if set.
1719	(PERSONALITY_FUNCTION): Use the exception matcher instead of the
1720	hardcoded isKindOf.
1721	(isKindOf): Renamed to is_kind_of_exception_matcher.  Tidied code
1722	up.  Removed segmentation fault when value is 'nil'.
1723	* objc/objc-api.h (_objc_unexpected_exception): Mark as
1724	deprecated.
1725	* Makefile.in (exception.lo, exception_gc.lo): Use
1726	-Wno-deprecated-declarations when compiling.
1727	(OBJC_H): Added objc-exception.h
1728
17292010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1730
1731	* objc/typedstream.h: Deprecate all functions in the file.  This
1732	file is obsolete.
1733	* objc/Object.h ([+streamVersion:], [-read:], [-write:],
1734	[-awake]): Documented that these methods are deprecated.  Added a
1735	brief description of the Object class and its relationship to the
1736	NSObject class.
1737	* Makefile.in: Compile archive.c and Object.m with
1738	-Wno-deprecated-declarations.
1739
17402010-09-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1741
1742	Removed obsolete intermediate threading layer.
1743	* thr.c: Use __gthread_objc_xxx functions directly instead of
1744	__objc_thread_xxx ones.
1745	* objc/thr.h: Removed prototypes of no longer existing
1746	__objc_thread_xxx functions.
1747	* Makefile.in: Removed thr-objc.lo.
1748	* thr-dce.c: File removed.
1749	* thr-decosf1.c: File removed.
1750	* thr-irix.c: File removed.
1751	* thr-mach.c: File removed.
1752	* thr-objc.c: File removed.
1753	* thr-os2.c: File removed.
1754	* thr-posix.c: File removed.
1755	* thr-pthreads.c: File removed.
1756	* thr-rtems.c: File removed.
1757	* thr-single.c: File removed.
1758	* thr-solaris.c: File removed.
1759	* thr-vxworks.c: File removed.
1760	* thr-win32.c: File removed.
1761	* README.threads: File removed.
1762	* THREADS.MACH: File removed.
1763	* THREADS: Updated.
1764
17652010-09-07  Nicola Pero  <nicola.pero@meta-innovation.com>
1766
1767	* Object.m (MAX_CLASS_NAME_LEN): Unused define removed.
1768
17692010-09-06  Iain Sandoe  <iains@gcc.gnu.org>
1770
1771	* encoding.c: Add TARGET_ALIGN_NATURAL definition for m64 powerpc darwin.
1772	Add a comment as to why, update FIXME comments.
1773
17742010-09-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1775
1776	* makefile.dos: Obsolete file removed.
1777
17782010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1779
1780	* aclocal.m4: Regenerate.
1781
17822010-03-23  Dave Korn  <dave.korn.cygwin@gmail.com>
1783
1784	PR libobjc/30445
1785	* configure.ac (extra_ldflags_libobjc): Define appropriately for
1786	Cygwin and MinGW hosts.
1787	* Makefile.am (libobjc_s.a): Remove dead pre-libtool target.
1788	(libobjc.dll): Likewise.
1789	* configure: Regenerate.
1790
17912009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1792
1793	* configure: Regenerate.
1794
17952009-11-28  Jakub Jelinek  <jakub@redhat.com>
1796
1797	* sarray.c (sarray_free): Use old_buckets variable.
1798	* encoding.c (objc_layout_structure_next_member): Remove unused
1799	bfld_type_size variable.
1800
18012009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1802
1803	* configure.ac (AC_PREREQ): Bump to 2.64.
1804
18052009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1806
1807	* aclocal.m4: Regenerate.
1808	* configure: Regenerate.
1809	* config.h.in: Regenerate.
1810
18112009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1812
1813	* Makefile.in (LIBTOOL): Add $(LIBTOOLFLAGS).
1814
18152009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1816
1817	* Makefile.in (AUTOCONF, ACLOCAL, ACLOCAL_AMFLAGS, aclocal_deps):
1818	New variables.
1819	($(srcdir)/configure, $(srcdir)/aclocal.m4): New rules.
1820
18212009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1822
1823	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1824
18252009-04-09  Nick Clifton  <nickc@redhat.com>
1826
1827	* sendmsg.c: Change copyright header to refer to version 3 of
1828	the GNU General Public License with version 3.1 of the GCC
1829	Runtime Library Exception and to point readers at the COPYING3
1830	and COPYING3.RUNTIME files and the FSF's license web page.
1831	* NXConstStr.m: Likewise.
1832	* Object.m: Likewise.
1833	* Protocol.m: Likewise.
1834	* archive.c: Likewise.
1835	* class.c: Likewise.
1836	* encoding.c: Likewise.
1837	* exception.c: Likewise.
1838	* gc.c: Likewise.
1839	* hash.c: Likewise.
1840	* init.c: Likewise.
1841	* libobjc_entry.c: Likewise.
1842	* linking.m: Likewise.
1843	* misc.c: Likewise.
1844	* nil_method.c: Likewise.
1845	* objc/NXConstStr.h: Likewise.
1846	* objc/Object.h: Likewise.
1847	* objc/Protocol.h: Likewise.
1848	* objc/encoding.h: Likewise.
1849	* objc/hash.h: Likewise.
1850	* objc/objc-api.h: Likewise.
1851	* objc/objc-decls.h: Likewise.
1852	* objc/objc-list.h: Likewise.
1853	* objc/objc.h: Likewise.
1854	* objc/runtime.h: Likewise.
1855	* objc/sarray.h: Likewise.
1856	* objc/thr.h: Likewise.
1857	* objc/typedstream.h: Likewise.
1858	* objects.c: Likewise.
1859	* sarray.c: Likewise.
1860	* selector.c: Likewise.
1861	* thr-dce.c: Likewise.
1862	* thr-decosf1.c: Likewise.
1863	* thr-irix.c: Likewise.
1864	* thr-mach.c: Likewise.
1865	* thr-objc.c: Likewise.
1866	* thr-os2.c: Likewise.
1867	* thr-posix.c: Likewise.
1868	* thr-pthreads.c: Likewise.
1869	* thr-rtems.c: Likewise.
1870	* thr-single.c: Likewise.
1871	* thr-solaris.c: Likewise.
1872	* thr-vxworks.c: Likewise.
1873	* thr-win32.c: Likewise.
1874	* thr.c: Likewise.
1875	* libobjc.def: Change copyright header to refer to version 3 of
1876	the GNU General Public License and to point readers at the COPYING3
1877	file and the FSF's license web page.
1878	* makefile.dos: Likewise.
1879
18802009-04-09  Jakub Jelinek  <jakub@redhat.com>
1881
1882	* Makefile.in: Change copyright header to refer to version
1883	3 of the GNU General Public License and to point readers at the
1884	COPYING3 file and the FSF's license web page.
1885	* configure.ac: Likewise.
1886
18872009-03-12  Richard Frith-Macdonald  <rfm@gnu.org>
1888	    David Ayers  <ayers@fsfe.org>
1889
1890	PR libobjc/27466
1891	* objc/objc-api.h (_objc_unexpected_exception): Declare
1892	new hook.  Update copyright dates.
1893	* exception.c (objc_exception_throw): Use hook.  Update
1894	copyright dates.
1895	* libobjc.def (_objc_unexpected_exception): Export hook.
1896	Update copyright dates.
1897
18982009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1899
1900	* configure: Regenerate.
1901
19022008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1903
1904	* configure: Regenerate.
1905
19062008-11-21  Kai Tietz  <kai.tietz@onevision.com>
1907
1908	*  Object.m (errno): Replaced by errno.h include.
1909	(compare): Cast self to id to prevent warning on comparison.
1910	* objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is
1911	already there.
1912	* sendmsg.c (__objc_print_dtable_stats): Remove type warnings.
1913	* thr-win32.c (__objc_thread_detach): Remove type warning.
1914	(__objc_thread_id): Likewise.
1915	* thr.c (__objc_thread_detach_functiont): Add __builtin_trap ()
1916	for noreturn.
1917
19182008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
1919            Steve Ellcey  <sje@cup.hp.com>
1920
1921	* configure: Regenerate for new libtool.
1922	* config.h.in: Regenerate for new libtool.
1923
19242008-07-18  Matthias Klose  <doko@ubuntu.com>
1925
1926	* Makefile.in: Ignore missing ../boehm-gc/threads.mk.
1927
19282008-07-18  Matthias Klose  <doko@ubuntu.com>
1929
1930	* Makefile.in: Include ../boehm-gc/threads.mk.
1931	(OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it.
1932
19332008-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1934
1935	* Makefile.in (install-info): New stub target.
1936
19372008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1938
1939	* configure: Regenerate.
1940
19412008-06-14  Kai Tietz  <kai.tietz@onevision.com>
1942
1943	* exception.c (PERSONALITY_FUNCTION): Remove extra decrement
1944	if HAVE_GETIPINFO is not defined.
1945
19462008-06-10  Kai Tietz  <kai.tietz@onevision.com>
1947
1948	* Object.m (compare): Add type id.
1949	* objc/Object.h: Likewise.
1950	* archive.c (objc_read_class): Use size_t to extend version to be
1951	size of pointer scalar width.
1952	* sendmsg.c (rtx): Undefine it before redefinition.
1953	(__objc_print_dtable_stats): Cast arguments to long as intended.
1954
19552008-05-30  Julian Brown  <julian@codesourcery.com>
1956
1957	* exception.c (__objc_exception_class): Initialise as constant
1958	array for ARM EABI. Change macro to static const for non-ARM EABI.
1959	(ObjcException): Add note about structure layout. Remove landingPad
1960	and handlerSwitchValue for ARM EABI.
1961	(get_ttype_entry): Add __ARM_EABI_UNWINDER__ version
1962	of function.
1963	(CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases.
1964	(PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add
1965	ARM EABI unwinding support.
1966	(objc_exception_throw): Use memcpy to initialise exception class.
1967
19682008-05-25  Alan Modra  <amodra@bigpond.net.au>
1969
1970	* encoding.c (strip_array_types): Rename from get_inner_array_type.
1971	(rs6000_special_round_type_align): Update.
1972
19732008-05-09  Julian Brown  <julian@codesourcery.com>
1974
1975	* Makefile.in (LTLDFLAGS): New.
1976	(libobjc$(libsuffix).la, libobjc_gc$(libsuffix).la): Use above.
1977
19782008-04-18  Paolo Bonzini  <bonzini@gnu.org>
1979
1980	PR bootstrap/35457
1981	* aclocal.m4: Regenerate.
1982	* configure: Regenerate.
1983
19842008-01-24  David Edelsohn  <edelsohn@gnu.org>
1985
1986	* configure: Regenerate.
1987
19882007-10-14  H.J. Lu  <hongjiu.lu@intel.com>
1989
1990	* configure.ac: Don't run config-ml.in directly.
1991	(multilib_arg): New.
1992	* configure: Regenerated.
1993
19942007-08-06  Andrew Pinski  <pinskia@gmail.com>
1995
1996	PR libobjc/30731
1997	* exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead
1998	of _Unwind_Word for variables which are used in
1999	read_uleb128/read_sleb128.
2000	(PERSONALITY_FUNCTION): Likewise.
2001
20022007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
2003
2004	* aclocal.m4: Regenerated.
2005
20062007-06-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2007
2008	* configure.ac: Fix a typo in *-*-darwin clause.
2009	* configure: Regenerated.
2010
20112007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
2012
2013	* configure.ac: Fix a typo.
2014	* configure: Regenerated.
2015
20162007-06-02  Paolo Bonzini  <bonzini@gnu.org>
2017
2018	* configure: Regenerate.
2019
20202007-06-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2021
2022	* Makefile.in: Replace all uses of libext with libsuffix.
2023	* configure.ac: Likewise.
2024	* configure: Regenerate.
2025
2026	Revert:
2027	* Makefile.in: Remove all uses of $(libext).
2028
20292007-05-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2030
2031	* Makefile.in: Remove all uses of $(libext).
2032
20332007-05-23  Steve Ellcey  <sje@cup.hp.com>
2034
2035	* configure: Regenerate.
2036	* aclocal.m4: Regenerate.
2037
20382007-04-21  Andrew Ruder  <andy@aeruder.net>
2039
2040	* sendmsg.c (__objc_get_forward_imp): Call
2041	__objc_msg_forward2 for real.
2042
20432007-04-09  Andrew Ruder  <andy@aeruder.net>
2044
2045	* sendmsg.c: Added __objc_msg_forward2, a hook that allows
2046	external libraries to provide a function that returns the real
2047	forwarding function based on both the selector and the receiver.
2048	* objc/objc-api.h: Define __objc_msg_forward2.
2049
20502007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
2051
2052	* Makefile.in: Add dummy install-pdf target.
2053
20542007-02-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2055
2056	* objc/objc-list.h (list_free): Add keyword 'inline' to avoid
2057	unused warning.
2058
20592006-10-31  Geoffrey Keating  <geoffk@apple.com>
2060
2061	* encoding.c (darwin_rs6000_special_round_type_align): New.
2062
20632006-10-14  Geoffrey Keating  <geoffk@apple.com>
2064
2065	* Makefile.in: Use multi_basedir instead of toplevel_srcdir.
2066	* configure.ac: Use multi.m4 from aclocal rather than custom
2067	code.  Use multi_basedir instead of toplevel_srcdir.
2068	* aclocal.m4: Regenerate.
2069	* configure: Regenerate.
2070
20712006-10-10  Brooks Moses  <bmoses@stanford.edu>
2072
2073	* Makefile.in: Added empty "pdf" target.
2074
20752006-07-18  Paolo Bonzini  <bonzini@gnu.org>
2076
2077	* configure: Regenerate.
2078
20792006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
2080
2081	* Makefile.in: Add install-html target. Add install-html to .PHONY
2082
20832006-02-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2084
2085	PR libobjc/26309
2086	* thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
2087
20882006-01-24  David Ayers  <d.ayers@inode.at>
2089
2090	PR libobjc/9751
2091	* gc.c (class_ivar_set_gcinvisible): Replace strncpy with memcpy
2092	and insure the new strings are '\0' termintated.
2093
20942006-01-24  David Ayers  <d.ayers@inode.at>
2095
2096	PR libobjc/13946
2097	* configure.ac: Add include directives for --enable-objc-gc.
2098	* Makefile.in: Ditto.
2099	* configure: Regenerate.
2100
2101	* gc.c (__objc_class_structure_encoding): Increment the used bytes
2102	instead of the local pointer to them.
2103
21042005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>
2105
2106	PR objc/25360
2107	* objc/objc-api.c (_C_COMPLEX): New define.
2108	* encoding.c (objc_sizeof_type): Handle _C_Complex.
2109	(objc_alignof_type): Likewise.
2110	(objc_skip_typespec): Likewise.
2111
21122005-12-15  David Ayers  <d.ayers@inode.at>
2113
2114	PR libobjc/14382
2115	* README (+load,+initialize): Fix documentation to reflect
2116	intended and implemented semantics for +load and +initialize.
2117
21182005-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
2119
2120	* encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and
2121	the name.
2122	(get_inner_array_type): Fix to skip over _C_ARY_B and size.
2123	(rs6000_special_round_type_align): Update for the ABI fix.
2124	(objc_layout_finish_structure): Correct the encoding which is passed to
2125	ROUND_TYPE_ALIGN.
2126
21272005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
2128
2129	PR libobjc/25347
2130	* encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special
2131	but use the struct layout functions.
2132	(objc_alignof_type): Likewise.
2133	(objc_layout_structure): Handle _C_UNION_B also.
2134	(objc_layout_structure_next_member): Likewise.
2135	(objc_layout_finish_structure): Likewise.
2136
21372005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>
2138
2139	PR libobjc/25346
2140	* objc/objc-api.h (_C_BOOL): New define.
2141	* encoding.c (objc_sizeof_type): Handle _C_BOOL.
2142	(objc_alignof_type): Likewise.
2143	(objc_skip_typespec): Likewise.
2144
21452005-11-20  David Ayers  <d.ayers@inode.at>
2146
2147	PR libobjc/19024
2148	* objc/hash.h: Remove deprecated hash API.
2149	* hash_compat.c: Remove.
2150	* Makefile.in: Remove reference to hash_compat.c.
2151
2152	* configure.ac (VERSION): Bump library version to 2:0:0.
2153	* configure: Regenerate.
2154
21552005-11-09  Alexandre Oliva  <aoliva@redhat.com>
2156
2157	PR other/4372
2158	* thr-objc.c (_XOPEN_SOURCE): Define.
2159
21602005-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
2161
2162	PR libobjc/23612
2163	* objc/objc-api.h (struct objc_ivar): Move definition to
2164	global scope.
2165
21662005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
2167            Rasmus Hahn  <rassahah@neofonie.de>
2168
2169	PR libobjc/23108
2170	* archive.c (objc_write_type): Correct the element offset.
2171	(objc_read_type): Likewise.
2172
21732005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
2174
2175	* All files: Update FSF address.
2176
21772005-08-13  Marcin Koziej  <creep@desk.pl>
2178            Andrew Pinski  <pinskia@physics.uc.edu>
2179
2180	PR libobjc/22492
2181	* exception.c (PERSONALITY_FUNCTION): Fix the PC with finally.
2182
21832005-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2184
2185	* Makefile.in (extra_ldflags_libobjc): New.
2186	(libobjc$(libext).la): Add extra_ldflags_libobjc to the link line.
2187	(libobjc_gc$(libext).la): Likewise.
2188	* configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
2189	"-Wl,-single_module".
2190	* configure: Regenerate.
2191	* linking.m (_objcInit): Remove.
2192
21932005-07-26  Andrew Pinski  <pinskia@physics.uc.edu>
2194
2195	PR libobjc/22606
2196	* Makefile.in (ALL_CFLAGS): Add -fexceptions.
2197
21982005-06-08  David Ayers  <d.ayers@inode.at>
2199
2200	* objc/NXConstStr.h, objc/Object.h, objc/Protocol.h,
2201	objc/encoding.h, objc/hash.h, objc/objc-api.h,
2202	objc/runtime.h, objc/sarray.h, objc/thr.h,
2203	objc/typedstream.h: Do not include Objective-C headers as
2204	system headers.
2205
22062005-06-07  David Ayers  <d.ayers@inode.at>
2207
2208	* archive.c, init.c, selector.c: Include hash.h.
2209	* archive.c, class.c, encoding.c, gc.c, hash.c, hash_compat.c,
2210	init.c, misc.c, nil_method.c, objects.c, sarray.c, selector.c,
2211	sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, thr-mach.c,
2212	thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, thr-rtems.c,
2213	thr-single.c, thr-solaris.c, thr-vxworks.c, thr-win32.c, thr.c:
2214	Include Objective-C headers with quotes and objc/ directory
2215	prefix.
2216
22172005-05-19  Richard Henderson  <rth@redhat.com>
2218
2219	* exception.c: Revert last change.
2220
22212005-05-19  David Ayers  <d.ayers@inode.at>
2222
2223	* exception.c: Include tsystem.h for unwind.h.
2224
22252005-05-09  Mike Stump  <mrs@apple.com>
2226
2227	* configure: Regenerate.
2228
22292005-04-12  Mike Stump  <mrs@apple.com>
2230
2231	* configure: Regenerate.
2232
22332005-03-21  Zack Weinberg  <zack@codesourcery.com>
2234
2235	* Makefile.in: Set gcc_version here.
2236	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Adjust quoting
2237	in definition of toolexeclibdir so that $(gcc_version) is expanded
2238	by the Makefile.
2239	* aclocal.m4, configure: Regenerate.
2240
22412005-03-03  David Ayers  <d.ayers@inode.at>
2242
2243	* objc/hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated
2244	version reference.  Correct typo.
2245
22462005-03-02  David Ayers  <d.ayers@inode.at>
2247
2248	PR libobjc/19024
2249	* Makefile.in (OBJS): Add hash_compat.lo.
2250	(OBJS_GC): Add hash_compat_gc.lo.
2251	(hash_compat_gc.lo): New target and rule.
2252	* objc/hash.h (hash_new, hash_delete, hash_add, hash_remove)
2253	(hash_next, hash_value_for_key, hash_is_key_in_hash)
2254	(hash_ptr, hash_string, compare_ptrs, compare_strings): Prefix
2255	with objc_.  Add deprecated non prefixed inlined versions.
2256	(OBJC_IGNORE_DEPRECATED_API): New macro to hide deprecated
2257	declarations.
2258	* hash.c (hash_new, hash_delete, hash_add, hash_remove, hash_next)
2259	(hash_value_for_key, hash_is_key_in_hash): Prefix with objc_ and
2260	update callers.
2261	* hash_compat.c: New file.
2262	* archive.c: Update callers.
2263	* init.c: Likewise.
2264	* selector.c: Likewise.
2265	* libobjc.def: Add objc_ versions of hash functions.
2266
22672005-02-28  Andrew Pinski <pinskia@physics.uc.edu>
2268
2269	PR libobjc/20252
2270	* Makefile.in (GTHREAD_FLAGS): Remove.
2271	(ALL_CFLAGS): Remove usage of GTHREAD_FLAGS.
2272	* thr-objc.c: Include config.h.
2273	* configure.ac: Instead of looking at GCC's makefile, figure out if
2274	GTHREAD_FLAGS should be defined by looking at the `thread model'
2275	of the current gcc.
2276	* configure: Regenerate.
2277	* config.h.in: Regenerate.
2278
22792005-02-28  Paolo Bonzini  <bonzini@gnu.org>
2280
2281	PR bootstrap/17383
2282	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
2283	(Determine CFLAGS for gthread): Use $host_subdir.
2284	* configure: Regenerate.
2285	* Makefile.in (host_subdir): New.
2286	(INCLUDES): Use it.
2287
22882004-12-20  Andrew Pinski  <pinskia@physics.uc.edu>
2289
2290	PR libobjc/12035
2291	* gc.c: Remove definition of LOGWL, modWORDSZ, and divWORDSZ since
2292	they are not used.
2293	Include limits.h and stdlib.h.
2294	Define BITS_PER_WORD.
2295
22962004-12-12  Alexander Malmberg  <alexander@malmberg.org>
2297
2298	* selector.c (__objc_init_selector_tables): Add missing void to
2299	definition.
2300
23012004-12-02  Richard Sandiford  <rsandifo@redhat.com>
2302
2303	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
2304	* configure, aclocal.m4: Regenerate.
2305
23062004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
2307
2308	* configure: Regenerate for libtool change.
2309
23102004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
2311
2312	* configure: Regenerate for libtool reversion.
2313
23142004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2315
2316	* configure: Regenerate for libtool change.
2317
23182004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2319
2320	* aclocal.m4, config.h.in: Regenerate.
2321
23222004-10-08  Mike Stump  <mrs@apple.com>
2323	    Andrew Pinski  <pinskia@physics.uc.edu>
2324
2325	* aclocal.m4: Rename to ...
2326	* acinclude.m4: here and also use m4_include instead of sinclude.
2327	* aclocal.m4: Regenerate.
2328	* configure: Regenerate.
2329	* configure.ac: Add AM_MAINTAINER_MODE and AM_PROG_CC_C_O.
2330	* Makefile.in (configure): Add @MAINT@ infront of configure.ac
2331
23322004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2333
2334	* archive.c: Fix all the warnings about passing unsigned char*
2335	to char* and the other way too.
2336
23372004-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
2338
2339	PR libobjc/16448
2340	* exception.c: Include config.h
2341	(objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to
2342	SJLJ_EXCEPTIONS.
2343	* configure.ac: Find out what exception handling code we use.
2344	* configure: Regenerate.
2345	* config.h.in: New file, regenerate.
2346
23472004-09-16  Andrew Pinski  <apinski@apple.com>
2348
2349	* encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.
2350
23512004-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2352
2353	* configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to
2354	ACX_NONCANONICAL_TARGET.
2355	* configure: Regenerate.
2356
23572004-08-13  Ziemowit Laski  <zlaski@apple.com>
2358
2359	* objc/sarray.h: Hoist include of assert.h near the top of file,
2360	and mark the remainder of the file 'extern "C"'.
2361
23622004-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2363
2364	* objc/Object.h: Move includes out of extern "C" blocks.
2365	* objc/encoding.h: Likewise.
2366	* objc/hash.h: Likewise.
2367	* objc/objc-api.h: Likewise.
2368	* objc/runtime.h: Likewise.
2369	* objc/sarray.h: Likewise.
2370	* objc/typedstream.h: Likewise.
2371
23722004-08-12  Ziemowit Laski  <zlaski@apple.com>
2373
2374	* objc/NXConstStr.h: Update copyright date; bracket with
2375	'extern "C"' for C++ use; make include syntax consistent
2376	by using <...> instead of "..."; hoist <objc/...> includes
2377	above the 'extern "C"' block.
2378	* objc/Object.h: Likewise.
2379	* objc/Protocol.h: Likewise.
2380	* objc/encoding.h: Likewise.
2381	* objc/hash.h: Likewise.
2382	* objc/runtime.h: Likewise.
2383	* objc/sarray.h: Likewise.
2384	* objc/thr.h: Likewise.
2385	* objc/typedstream.h: Likewise.
2386	* objc/objc-api.h: Add 'extern "C"' block for C++ use.
2387	(objc_static_instances): For C++ case, do away with
2388	zero-sized array.
2389	(objc_method): Hoist definition to file scope.
2390	(_objc_load_callback, _objc_object_alloc, class_get_class_method,
2391	class_get_instance_method, class_create_instance,
2392	class_get_class_name, class_get_instance_size,
2393	class_get_meta_class, class_get_super_class, class_get_version,
2394	class_is_class, class_is_meta_class, class_set_version,
2395	class_get_gc_object_type, class_ivar_set_gcinvisible,
2396	get_imp): Rename 'class' parameter to '_class'.
2397	* objc/objc-list.h: Add 'extern "C"' block for C++ use.
2398	* objc/objc.h: Update copyright date.
2399	(arglist_t): Provide a union tag.
2400
24012004-07-22  Andrew Pinski  <pinskia@physics.uc.edu>
2402
2403	* thr.c (__objc_thread_detach_function): Do not mark as volatile
2404	but instead use the attribute noreturn.
2405
24062004-06-28  Zack Weinberg  <zack@codesourcery.com>
2407
2408	* encoding.c: Rename target_flags with a #define to avoid
2409	conflict with a prior declaration.
2410
24112004-06-24  Andrew Pinski  <apinski@apple.com>
2412
2413	* objc/encoding.h: Wrap the functions with extern "C" for C++
2414	mode.
2415	* objc/hash.h: Likewise.
2416	* objc/objc-api.h: Likewise.
2417	* objc/objc-list.h: Likewise.
2418	* objc/runtime.h: Likewise.
2419	* objc/sarray.h: Likewise.
2420	* objc/thr.h: Likewise.
2421	* objc/typedstream.h: Likewise.
2422
2423
24242004-06-21  Nick Clifton  <nickc@redhat.com>
2425
2426	* encoding.c (BITS_PER_UNIT): Define if a definition is not
2427	provided.
2428
24292004-06-20  Alexander Malmberg  <alexander@malmberg.org>
2430
2431	* Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS).
2432	(exception_gc.lo): New.
2433	(OBJS_GC): Add exception_gc.lo.
2434
24352004-06-17  Richard Henderson  <rth@redhat.com>
2436
2437	* exception.c: New file.
2438	* Makefile.in (exception.lo): New.
2439	(OBJS): Add it.
2440
24412004-06-14  Andrew Pinski  <pinskia@physics.uc.edu>
2442
2443	* linking.m (_objcInit): New empty function
2444	for Darwin only.
2445
24462004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
2447
2448	* configure.ac: Support --enable-shared=libobjc.
2449	* configure: Regenerate.
2450
2451	PR libobjc/15901
2452	* configure.ac: Do not disable shared by default.
2453	* configure: Regenerate.
2454
24552004-06-03  Nicola Pero  <n.pero@mi.flashnet.it>
2456
2457	* Protocol.m ([-isEqual:]): Small optimizations returning
2458	immediately if the argument is equal to self, and accessing
2459	the argument's name directly if it's a protocol.
2460
24612004-06-03  David Ayers  <d.ayers@inode.at>
2462
2463	* Protocol.m ([-isEqual:]): Test the class of the argument.
2464
24652004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2466
2467	* configure.ac (includedir): Rename to ...
2468	(includedirname).
2469	* Makefile.in: s/includedir/includedirname/.
2470
2471	PR target/11572
2472	* configure.ac (includedir): Set to "include"
2473	except for Darwin.
2474	(libext) Set to empty except for Darwin.
2475	* configure: Regenerate
2476	* Makefile.in: s/libobjc.la/libobjc$(libext).la/g.
2477	s/include/$(includedir)/g.
2478
24792004-05-25  Daniel Jacobowitz  <drow@false.org>
2480
2481	* Makefile.in: Add .NOEXPORT.
2482
24832004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
2484
2485	Merge from the libobjc-branch
2486	2004-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
2487
2488		* Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.
2489
2490	2004-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
2491
2492		* Makefile.in (OBJC_H): Add objc-deps.h.
2493
2494	2004-01-27  Nicola Pero  <n.pero@mi.flashnet.it>
2495
2496		* Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
2497		([-hash], [-isEqual:]): New methods.
2498
2499	2004-01-27  Richard Frith-Macdonald <rfm@gnu.org>
2500
2501		* sarray.c (sarray_free): Add a better comment.
2502
2503	2004-01-27  Adam Fedor  <fedor@gnu.org>
2504
2505		* hash.c (hash_add): Cast cachep to int.
2506		* selector.c (__sel_register_typed_name): Cast
2507		soffset_decode to int.
2508
2509	2004-01-27  Alexander Malmberg  <alexander@malmberg.org>
2510
2511		* selector.c: Rename register_selectors_from_list to
2512		__objc_register_selectors_from_list. Update caller.
2513		(__objc_register_selectors_from_list): Lock __objc_runtime_mutex
2514		while registering selectors. Use __sel_register_typed_name instead
2515		of sel_register_typed_name. Check for NULL method_name:s.
2516		(pool_alloc_selector): New function.
2517		(__sel_register_typed_name): Use pool_alloc_selector to allocate
2518		selector structures.
2519		* sendmsg.c (class_add_method_list): Use
2520		__objc_register_selectors_from_list.
2521		* objc/runtime.h: Add __objc_register_selectors_from_list.
2522
2523	2004-01-25  Adam Fedor  <fedor@gnu.org>
2524		    Nicola Pero  <n.pero@mi.flashnet.it>
2525		    Andrew Pinski  <pinskia@physics.uc.edu>
2526
2527		* objc/objc-decls.h: New file.
2528		* objc/objc-api.h (_objc_lookup_class): Mark as export.
2529		(_objc_load_callback): Likewise.
2530		(_objc_object_alloc): Likewise.
2531		(_objc_object_copy): Likewise.
2532		(_objc_object_dispose): Likewise.
2533
2534	2004-01-25  Andrew Pinski  <pinskia@physics.uc.edu>
2535
2536		* archive.c: s/__inline__/inline
2537		* sendmsg.c: Likewise.
2538
2539		* encoding.c: Remove FIXME about the warning
2540		about unused variable.
2541		* sendmsg.c: Add a FIXME comment saying that
2542		this should be using libffi.
2543
2544		* Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.
2545
2546
25472004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
2548
2549	* archive.c (objc_read_class): Initialize class_name.
2550	(objc_read_selector): Initialize selector_name.
2551
25522004-05-09  Richard Sandiford  <rsandifo@redhat.com>
2553
2554	* Makefile.in (toolexecdir): Remove trailing space.
2555
25562004-04-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2557
2558	PR libobjc/14948
2559	* configure.ac: De-precious CC so multilibs work.
2560	* configure: Regenerate.
2561
25622004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2563
2564	* configure.ac: Restore toolexecdir.
2565	* Makefile.in: Restore toolexecdir.
2566	* configure: Regenerate.
2567
25682004-04-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2569
2570	* configure.ac: Remove (unused) glibcpp_prefixdir.
2571	* configure: Regenerate.
2572
2573	* configure.in: Rename to configure.ac.
2574	* Makefile.in: Update to match.
2575
2576	* Makefile.in: Remove toolexecdir, glibcpp_toolexecdir (unused).
2577	Replace glibcpp_toolexeclibdir with toolexeclibdir.
2578	* configure.in: Remove glibcpp_toolexecdir (unused).
2579	Replace glibcpp_toolexeclibdir with toolexeclibdir.  Don't generate
2580	config.h or stamp-h (unused).  Move one comment to the right place.
2581	* configure: Regenerate.
2582	* config.h.in: Remove (unused).
2583
2584	* config.h.in: Regenerate with autoheader.
2585
2586	* Makefile.in: Remove (unused) gcc_version_trigger.
2587	* configure.in: Remove (unused) glibcpp_builddir.  Don't AC_SUBST
2588	gcc_version_trigger.
2589	* configure: Regenerate.
2590
2591	* configure.in: Switch to modern style for AC_INIT, AC_OUTPUT.
2592	Sort file into sections.  Remove dnl where appropriate.  Fix
2593	other style issues.
2594	* configure: Regenerate.
2595
2596	* configure.in: Replace old AC_PROG_CC hack with new one.
2597	Define toplevel_srcdir in terms of srcdir, not top_srcdir (there
2598	are no subdirectory output files, so this is fine).  Change prereq
2599	to autoconf 2.59.
2600	* aclocal.m4: Include ../config/no-executables.m4.
2601	* configure: Regenerate with autoconf 2.59.
2602
2603	* configure.in: Improve comments on gthread_cflags.  Improve m4
2604	quotation, and replace 'if test' with 'case', for --enable-objc-gc.
2605	* configure: Regenerate.
2606
2607	* configure.in: Move PACKAGE and VERSION settings up top.  Remove
2608	unused call to AC_PROG_LN_S.  Default RANLIB to ':'.  Remove
2609	redundant checks for values of RANLIB, AR, INSTALL.
2610	* configure: Regenerate.
2611
2612	* configure.in: Clean up handling of
2613	--enable-version-specific-runtime-libs and related variables;
2614	replace 'if test' with 'case' where reasonable.  Fix comments.
2615	Remove useless libstdcxx_interface.
2616	* configure: Regenerate.
2617
2618	* configure.in: Use _GCC_TOPLEV_NONCANONICAL_TARGET.
2619	Replace uses of target_alias with target_noncanonical.
2620	* aclocal.m4: Include ../config/acx.m4.
2621	* configure: Regenerate.
2622	* Makefile.in: Replace uses of target_alias with target_noncanonical.
2623	Fix copyright statement.
2624
2625	* configure.in: Hand-inline bulky, confusing macros from
2626	aclocal.m4.  Replace references to "GNU Objective C" with "GCC".
2627	Update copyright notice.  Remove stuff for automake, which isn't
2628	used in this directory.  Remove emacs local variables.
2629	* aclocal.m4: Remove hand-inlined macros.  Update copyright notice.
2630	* configure: Regenerate.
2631
26322004-03-16  Manfred Hollstein  <mh@suse.com>
2633
2634	* Makefile.in, configure.in, configure: Update copyright years.
2635
26362004-03-15  Manfred Hollstein  <mh@suse.com>
2637
2638	* Makefile.in (LIBOBJC_VERSION, LIBOBJC_GC_VERSION): Use
2639	definition from configure.in.
2640	* configure.in (PACKAGE): Add definition.
2641	(VERSION): Add definition; substitute it in output files.
2642	* configure: Re-generate.
2643
26442004-03-05  Ziemowit Laski  <zlaski@apple.com>
2645
2646	* objc/hash.h (hash_string, compare_strings):
2647	Add type-casts to make Objective-C++ happy.
2648	* objc/typedstream.h (objc_get_stream_class_version):
2649	Rename parameter from 'class' to 'class_name' to make
2650	Objective-C++ happy.
2651
26522004-03-01  Michael Matz  <matz@suse.de>
2653
2654	* Makefile.in (ALL_CFLAGS): Add -fno-strict-aliasing.
2655
26562004-02-06  Ziemowit Laski  <zlaski@apple.com>
2657
2658	* objc/objc-api.h (objc_super): The 'class' field shall
2659	be named 'super_class' #ifdef __cplusplus.
2660
26612004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
2662
2663	PR target/10781
2664	* encoding.c (rs6000_special_round_type_align): Define.
2665
26662004-01-14  Adam Fedor  <fedor@gnu.org>
2667
2668	PR libobjc/12155
2669	* selector.c (__objc_register_instance_methods_to_class): Free
2670	new_list if not used.
2671
26722004-01-09  Andrew Ruder  <aeruder@ksu.edu>
2673
2674	PR libobjc/11904
2675	* sarray.c (sarray_free): Free array->is_copy_of latter.
2676
26772003-12-01  Zack Weinberg  <zack@codesourcery.com>
2678
2679	PR 11433
2680	* Protocol.m (descriptionForInstanceMethod): Don't dereference
2681	instance_methods if it's NULL.
2682	(descriptionForClassMethod): Likewise for class_methods.
2683
26842003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2685
2686	* Makefile.in (runtime-info.h): Remove -Wp.
2687
26882003-10-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2689
2690	* Makefile.in (CC1OBJ): Remove.
2691	(runtime-info.h): Invoke $(CC) so all MULTIFLAGS are handled
2692	correctly.
2693	Use .m extension for temporary file.
2694	Remove assembler temp file.
2695
26962003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2697
2698	* objc/hash.h (hash_string): Don't use a cast as an lvalue.
2699
27002003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2701
2702	* Makefile.in (runtime-info.h): Use MULTIFLAGS.
2703
27042003-09-09  Alan Modra  <amodra@bigpond.net.au>
2705
2706	* configure: Regenerate.
2707
27082003-08-27  Alexander Malmberg  <alexander@malmberg.org>
2709
2710	* Makefile.in, aclocal.m4: Update to $(libdir)/gcc/ instead of
2711	(libdir)/gcc-lib/ when installing.
2712	* configure: Regenerate.
2713
2714Thu Jul 10 10:27:43 2003  Nicola Pero  <n.pero@mi.flashnet.it>
2715
2716	libobjc/9969
2717	* sendmsg.c (get_imp): Fixed rare threading problem.
2718	(__objc_responds_to): Similar fixes.
2719	(objc_msg_lookup): Similar fixes.
2720	(__objc_init_install_dtable): Lock the runtime before checking if the
2721	table is installed.
2722
27232003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2724
2725	* hash.c, init.c, libobjc.def, libobjc_entry.c, linking.m,
2726	makefile.dos, misc.c, nil_method.c, objects.c, sarray.c,
2727	selector.c, sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c,
2728	thr-mach.c, thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c,
2729	thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c,
2730	thr-win32.c, thr.c: Replace "GNU CC" with "GCC".
2731	* Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
2732	class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
2733	objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h,
2734	objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h,
2735	objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".
2736
2737Tue May 13 14:56:03 2003  Richard Frith-Macdonald <rfm@gnu.org>
2738			  Nicola Pero  <n.pero@mi.flashnet.it>
2739
2740	libobjc/10742
2741	* init.c (class_superclass_of_class): New function.
2742	(create_tree_of_subclasses_inherited_from): Use it.
2743	(__objc_tree_insert_class): Likewise.
2744	(class_is_subclass_of_class): Likewise.
2745
27462003-04-11  David Chad  <davidc@freebsd.org>
2747	    Loren J. Rittle  <ljrittle@acm.org>
2748
2749	libobjc/8562
2750	* objc/hash.h (hash_string): Constify correctly.
2751	(compare_ptrs): Use direct compare.
2752	* objc/objc-list.h (list_nth): Rename index to indx to avoid shadow.
2753	* objc/sarray.h: Global rename index to indx to avoid shadow.
2754
27552003-03-12  Andreas Schwab  <schwab@suse.de>
2756
2757	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
2758	glibcpp_toolexeclibdir.
2759	* configure: Rebuilt.
2760
27612003-02-20  Alexandre Oliva  <aoliva@redhat.com>
2762
2763	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
2764	config.status.
2765	* configure: Rebuilt.
2766
27672003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2768
2769	* aclocal.m4 (glibcpp_toolexeclibdir): Instead of
2770	$(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
2771	version_specific_libs is enabled.
2772	* configure: Rebuilt.
2773
27742003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2775
2776	* Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
2777	(install-libs, install-headers): Prepend $(DESTDIR) to
2778	destination paths in all (un)installation commands.
2779
27802002-12-02  Zack Weinberg  <zack@codesourcery.com>
2781
2782	* thr-objc.c: Include coretypes.h and tm.h.
2783
27842002-12-01  Zack Weinberg  <zack@codesourcery.com>
2785
2786	* encoding.c, sendmsg.c: Include coretypes.h and tm.h.
2787
27882002-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2789
2790	* configure.in: Remove skip-this-dir support.
2791	* configure: Regenerate.
2792
27932002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2794
2795	* Makefile.in (all): Fix multilib parallel build.
2796
2797Thu Sep 12 12:44:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
2798
2799	* sendmsg.c (nil_method): Declare not to take a variable number of
2800	args.
2801	(objc_msg_lookup): Cast nil_method to IMP before returning it.
2802	(objc_msg_lookup_super): The same.
2803
28042002-09-10  Jan Hubicka  <jh@suse.cz>
2805
2806	* nil_method.c (nil_method): No longer defined with variable
2807	arguments.
2808
28092002-07-02  Rodney Brown  <rbrown64@csc.com.au>
2810
2811	* objc/encoding.h: Fix formatting.
2812	* objc/hash.h: Likewise.
2813	* objc/objc-api.h: Likewise.
2814	* objc/runtime.h: Likewise.
2815	* objc/thr.h: Likewise.
2816	* archive.c: Likewise.
2817	* class.c: Likewise.
2818	* encoding.c: Likewise.
2819	* gc.c: Likewise.
2820	* hash.c: Likewise.
2821	* init.c: Likewise.
2822	* misc.c: Likewise.
2823	* nil_method.c: Likewise.
2824	* objects.c: Likewise.
2825	* sarray.c: Likewise.
2826	* selector.c: Likewise.
2827	* sendmsg.c: Likewise.
2828	* thr-mach.c: Likewise.
2829	* thr.c: Likewise.
2830
28312002-06-25  DJ Delorie  <dj@redhat.com>
2832
2833	* aclocal.m4 (GLIBCPP_CONFIGURE): Split out
2834	GLIBCPP_TOPREL_CONFIGURE.
2835	* configure.in: Call it before AC_CANONICAL_SYSTEM.
2836	* configure: Regenerate.
2837
28382002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2839
2840	* Object.m (forward, read, write): Fix unused parameter warnings.
2841	* encoding.c: Include <stdlib.h>.
2842	(target_flags): Mark with attribute unused.
2843	(atoi): Delete.
2844	* runtime.h (__objc_selector_max_index): Change to unsigned int.
2845	(__objc_generate_gc_type_description): Prototype.
2846	* selector.c (__objc_selector_max_index): Change to unsigned int.
2847
2848Mon Jun 17 18:37:42 2002  Nicola Pero  <n.pero@mi.flashnet.it>
2849
2850	* sendmsg.c (__objc_get_forward_imp): Fix warning by making sure
2851	we always have a return value: if __objc_msg_forward does not
2852	supply a forwarding implementation, return the default
2853	__builtin_apply based one.
2854
28552002-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2856
2857	* Object.m: Fix signed/unsigned warning.
2858	* Protocol.m: Likewise.
2859	* archive.c: Always include stdlib.h.
2860	(objc_read_short, objc_read_unsigned_short, objc_read_int,
2861	objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong):
2862	Fix signed/unsigned warning.
2863	(objc_write_type, objc_read_type, objc_write_types,
2864	objc_read_types): Ensure ctype 8-bit safety.
2865	(__objc_no_write, __objc_no_read): Mark unused parameters.
2866	* class.c (class_table_setup): Specify void arg.
2867	* encoding.c (atoi, objc_sizeof_type, objc_alignof_type,
2868	objc_skip_typespec, objc_skip_offset,
2869	objc_layout_structure_next_member): Ensure ctype 8-bit safety.
2870	(objc_layout_structure_next_member): Ensure variables are
2871	initialized.
2872	* gc.c (__objc_generate_gc_type_description,
2873	class_ivar_set_gcinvisible): Mark unused parameters.
2874	* init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark
2875	unused parameters.
2876	(__objc_init_protocols) Fix signed/unsigned warning.
2877	* nil_method.c (nil_method): Mark unused parameters.
2878	* thr.h (objc_thread_callback): Specify void arg.
2879	* sarray.c (sarray_new, sarray_realloc, sarray_free): Fix
2880	signed/unsigned warning.
2881	(sarray_free): Fix formatting.
2882	* selector.c (sel_types_match): Ensure ctype 8-bit safety.
2883	* sendmsg.c (__objc_init_install_dtable) Mark unused parameters.
2884
28852002-06-09  Andreas Jaeger  <aj@suse.de>
2886
2887	* encoding.c (objc_layout_structure_next_member): Remove unused
2888	variable.
2889
28902002-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2891
2892	* Makefile.in (SHELL): Set to @SHELL@.
2893	(WARN_CFLAGS): New.
2894	(ALL_CFLAGS): Add $(WARN_CFLAGS).
2895
28962002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2897
2898	* aclocal.m4: Allow for PWDCMD to override hardcoded pwd.
2899	* configure: Regenerate.
2900
29012002-05-08  Alexandre Oliva  <aoliva@redhat.com>
2902
2903	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
2904	script entry, and set LD to it when configuring multilibs.
2905	* configure: Rebuilt.
2906
29072002-04-19  David O'Brien  <obrien@FreeBSD.org>
2908
2909	* encoding.c (MAX, MIN, ROUNDING): #undef before defining.
2910
29112002-04-09  Hans-Peter Nilsson  <hp@bitrange.com>
2912
2913	PR objc/6107
2914	* objc/objc-api.h (struct objc_protocol_list): Change type of
2915	member count from int to size_t.
2916
29172002-02-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2918
2919	PR libobjc/4039
2920	* aclocal.m4: Replace with version copied from libstdc++-v3.
2921	* configure.in: Update for changes to aclocal and Makefile.
2922	* configure: Regenerate.
2923	* Makefile.in: Correct install of multilibs and shared libs, use
2924	INSTALL_DATA for include files.
2925
2926Mon Dec 17 17:02:12 2001  Nicola Pero  <nicola@brainstorm.co.uk>
2927
2928	* init.c (__objc_exec_class): Fixed bug in the loop on unclaimed
2929	categories - when an unclaimed category was found, the loop was
2930	doing two steps forward instead of one, so that in certain cases
2931	it was failing to properly load all the categories.  (Reported
2932	with fix by Alexander Malmberg <alexander@malmberg.org>).
2933
29342001-11-14  Aldy Hernandez  <aldyh@redhat.com>
2935
2936	* encoding.c: Add target_flags.
2937
29382001-11-07  Aldy Hernandez  <aldyh@redhat.com>
2939
2940	 * objc/objc-api.h (_C_VECTOR): New.
2941
2942	 * encoding.c (VECTOR_TYPE): New.
2943
2944Mon Oct 29 21:29:21 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2945
2946	* class.c: Rewritten the class table to use optimized, lock-free
2947	lookup.  This more than doubles the speed of class method
2948	invocations.  (class_table_setup), (class_table_insert),
2949	(class_table_replace), (class_table_get_safe),
2950	(class_table_next), (class_table_print),
2951	(class_table_print_histogram): New functions.
2952	(__objc_init_class_tables): Use class_table_setup.
2953	(__objc_add_class_to_hash): Use class_table_get_safe and
2954	class_table_insert.  (objc_lookup_class), (objc_get_class): Do not
2955	assert the existence of the table; do not lock the runtime; use
2956	class_table_get_safe.  (objc_next_class): Use class_table_next.
2957	(__objc_resolve_class_links): Use class_table_next.
2958	(class_pose_as): Use class_table_replace.
2959
29602001-09-10  Ovidiu Predescu  <ovidiu@cup.hp.com>
2961
2962	* gc.c: Removed the DEBUG declaration.
2963
2964Wed Jul 18 12:48:56 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2965
2966	* thr.c (objc_mutex_lock): Invoke __objc_thread_id directly,
2967	rather than through objc_thread_id, to save a function call.
2968	(objc_mutex_trylock, objc_mutex_unlock, objc_condition_wait):
2969	Ditto.
2970
2971Mon Jul 16 12:15:00 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2972
2973	* objc/objc-api.h (object_is_class): Fixed - buggy code was trying
2974	to cast an id to a Class, which can not be done.  Make the check
2975	by using CLS_ISMETA on the class pointer instead.
2976	(object_is_meta_class): Similar fix.
2977
29782001-06-09  Alexandre Oliva  <aoliva@redhat.com>, Stephen L Moshier  <moshier@mediaone.net>
2979
2980	* configure.in (AC_EXEEXT): Work around in case it expands to
2981	nothing, as in autoconf 2.50.
2982	* acinclude.m4: Likewise.
2983	* configure: Rebuilt.
2984
29852001-06-08  Nicola Pero  <n.pero@mi.flashnet.it>
2986
2987	* THREADS: Explain that when we compile libobjc inside GCC, we
2988	always use thr-objc.c as a backend, which uses GCC's thread code.
2989
29902001-06-06  Richard Frith-Macdonald  <rrfm@gnu.org>
2991
2992	* init.c (__objc_send_message_in_list): When setting a new entry
2993	in __objc_load_methods use the method IMP as key, but check to see
2994	if the method is in the hashtable by looking at the IMP also.
2995	Also ... call the method after adding it to the hashtable rather
2996	than before ... thus preventing an obscure possibility of infinite
2997	recursion if a +load method itself loads a subclass.
2998
29992001-05-25  Ovidiu Predescu  <ovidiu@cup.hp.com>
3000
3001	* init.c (__objc_send_message_in_list): When setting a new entry
3002	in __objc_load_methods use the method name as key, not the method
3003	IMP (reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>).
3004
30052001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3006
3007	* objc-features.texi: Move to ../gcc/objc.texi.
3008	* fdl.texi: Remove.
3009	* Makefile.in: Don't generate documentation from
3010	objc-features.texi.
3011
30122001-05-01  Mark Mitchell  <mark@codesourcery.com>
3013
3014	* fdl.texi: New file.
3015	* objc-features.texi: Simplify.
3016	* Makefile.in: Adjust accordingly.
3017
30182001-04-30  Mark Mitchell  <mark@codesourcery.com>
3019
3020	* objc-features.texi: Use the GFDL.
3021
3022Wed Mar 21 04:44:58 EST 2001  John Wehle  (john@feith.com)
3023
3024	* encoding.c (REAL_TYPE): Define.
3025
30262001-03-19  David Edelsohn  <edelsohn@gnu.org>
3027
3028	* encoding.c (TYPE_MODE): Define.
3029
30302001-03-14  Nicola Pero  <n.pero@mi.flashnet.it>
3031
3032	* thr.c (objc_thread_add): New function.
3033	(objc_thread_remove): Ditto.
3034	* objc/thr.h: Declare them.
3035	* libobjc.def: Mention them.
3036
30372001-02-28  Ovidiu Predescu  <ovidiu@cup.hp.com>
3038
3039	* objc-features.texi: Document the @compatibility_alias compiler
3040	directive (description from Nicola Pero <n.pero@mi.flashnet.it>).
3041
3042Fri Feb 23 18:12:00 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3043
3044	* sendmsg.c (__objc_forward): Delete strlen() declaration.
3045
30462001-02-08  Geoffrey Keating  <geoffk@redhat.com>
3047
3048	* configure.in: Don't run AC_PROG_CC_WORKS or AC_EXEEXT, because
3049	we're not interested in the result and they might fail.
3050	* configure: Regenerated.
3051
30522001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3053
3054	* objc-features.texi: Use @email.
3055
30562001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3057
3058	* sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside
3059	printf.
3060
30612000-01-11  Richard Earnshaw  <rearnsha@arm.com>
3062
3063	* encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that
3064	determines the value dynamically.
3065
3066Wed Jan  3 00:49:10 2001  Ovidiu Predescu  <ovidiu@cup.hp.com>
3067
3068	* sendmsg.c: Added __objc_msg_forward, a hook that allows external
3069	libraries to provide a function that returns the real forwarding
3070	function. This can alleviate problems __builtin_apply() and
3071	friends have on various platforms. (Solution suggested by Helge
3072	Hess.)
3073
3074	* objc/objc-api.h: Define __objc_msg_forward.
3075
3076	* sendmsg.c: Define gen_rtx_REG.
3077
30782000-12-06      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3079
3080	* thr-rtems.c: New file. Stub to compile.
3081
30822000-09-06  Alexandre Oliva  <aoliva@redhat.com>
3083
3084	* configure: Rebuilt with new libtool.m4.
3085
3086Tue Aug 15 00:38:56 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3087
3088	* configure.in: Create a config.h file. Check for <sched.h>.
3089	* configure: Regenerate.
3090
3091	* config.h.in: Check for <sched.h>.
3092
30932000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
3094
3095	* configure: Regenerate after change to ../libtool.m4.
3096
30972000-08-14  Andreas Schwab  <schwab@suse.de>
3098
3099	* objc-features.texi (Top): Move @menu at end of node.
3100
31012000-08-11  Manfred Hollstein  <manfredh@redhat.com>
3102
3103	* objc-features.texi: Move @node Top before @menu.
3104
3105Sun Aug  6 23:27:49 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3106
3107	* objc-features.texi: Documented the new -fconstant-string-class
3108	option.
3109
3110Sun Aug  6 22:51:16 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3111
3112	* thr-posix.c: Integrated Chris Ball's <cball@fmco.com> changes to
3113	improve the Posix thread support for Objective-C.
3114
31152000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
3116
3117	* aclocal.m4: Replace copy of ../libtool.m4 with
3118	sinclude(../libtool.m4).
3119
3120Fri Jul 28 08:58:02 2000  Nicola Pero  <nicola@brainstorm.co.uk>
3121
3122	* configure.in: Added libtool support; build shared libraries
3123	if --enable-shared was passed on command line.
3124	* Makefile.in: Modified most compilation commands to use libtool.
3125	* aclocal.m4: New symbolic link to the ../libtool.m4, from the
3126	libtool distribution.
3127
3128Sat Jul 29 00:10:21 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
3129
3130	* sarray.c, Object.m: Removed the explicit prototypes for strlen
3131	and memcpy on 64-bit platforms (Suggested by Rodney Brown
3132	<rdb@cup.hp.com>).
3133
31342000-05-12  H.J. Lu  (hjl@gnu.org)
3135
3136	* Makefile.in (GTHREAD_FLAGS): New.
3137	(ALL_CFLAGS): Add $(GTHREAD_FLAGS).
3138	(OBJC_THREAD_FILE): Changed to thr-objc.
3139
3140	* configure.in (GTHREAD_FLAGS): New, check and replace it for
3141	Makefile.
3142	(OBJC_THREAD_FILE): Removed.
3143
3144	* thr-objc.c: New.
3145
31462000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3147
3148	* objc/hash.h: Include string.h.
3149
31502000-04-15  David Edelsohn  <edelsohn@gnu.org>
3151
3152	* Object.m (strlen): 64-bit PowerPC is a 64bit platform as well.
3153
31542000-04-12  Jakub Jelinek  <jakub@redhat.com>
3155
3156	* Object.m (strlen): Provide prototype on all 64bit platforms,
3157	not only alpha.
3158	* sarray.c (memcpy): Likewise.
3159	* encoding.c (objc_layout_finish_structure): Don't use
3160	ROUND_TYPE_ALIGN on sparc.
3161
3162	* encoding.c (objc_layout_structure_next_member): Do the whole
3163	procedure even for the first member, so that we get correct
3164	alignment.
3165
31662000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
3167
3168	* objc/Protocol.h, objc/objc-list.h: Change #endif labels to
3169	comments.
3170
31712000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
3172
3173	* Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS.
3174
3175Thu Sep 23 07:19:12 1999   Chris Ball <cball@fmco.com>
3176
3177	* thr-posix.c (__objc_mutex_deallocate): made deallocate work.
3178
3179Tue Sep 21 07:47:10 1999  Jeffrey A Law  (law@cygnus.com)
3180
3181	* Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to
3182	the compiler when building C code.
3183
3184Fri Aug  6 23:32:29 1999  Daniel Jacobowitz <drow@drow.them.org>
3185
3186	* Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
3187	libdir, libsubdir and tooldir.
3188
3189Mon Jun 21 05:40:15 1999  John David Anglin <dave@hiauly1>
3190
3191	* init.c (__objc_force_linking): Make global.
3192
3193Thu May 20 03:20:59 1999  Jeffrey A Law  (law@cygnus.com)
3194
3195	* configure.in (AC_EXEEXT): Remove call.
3196	(compiler_name): Explicitly check with no extension and .exe
3197	extension.
3198	* configure: Regenerate.
3199
3200Sun Apr 25 01:15:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3201
3202	* Makefile.in (CC1OBJ): Define in terms of CC.
3203	(runtime-info.h): Use.
3204
3205Fri April 8 08:21:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3206
3207	* objc-features.texi: Updated the URL to Boehm's GC page.
3208
3209Fri Mar 26 23:41:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
3210
3211	* archive.c (__objc_code_char, __objc_write_char): Explicitly specify
3212	the char as being signed (patch from Daniel Jacobowitz
3213	<drow@false.org>).
3214
3215Wed Mar 24 22:41:28 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3216
3217	* configure.in (AC_PREREQ): Update to 2.13.
3218	(AC_EXEEXT): Call to find possible file extension.
3219	(compiler_name): Use.
3220	* configure: Regenerate.
3221
3222Wed Jan 27 02:31:01 1999  Jeffrey A Law  (law@cygnus.com)
3223
3224	* Makefile.in (ALL_CFLAGS): Add -DIN_GCC.
3225
3226Tue Jan  5 01:38:53 1999  Jeffrey A Law  (law@cygnus.com)
3227
3228	* configure.in (thread_file): Correct and simplify code to find
3229	the thread file.
3230	* configure: Rebuilt.
3231
32321998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
3233
3234	* configure.in (compiler_name): Add check to detect if this
3235	language's compiler has been built.
3236	* configure: Regenerate.
3237
3238Mon Nov 23 16:50:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3239
3240	*  configure.in: Use AC_PREREQ(2.12.1).
3241
3242Thu Nov 19 20:33:37 1998  Jeffrey A Law  (law@cygnus.com)
3243
3244	* Makefile.in (runtime-info.h): Avoid GNU make extensions.
3245
3246Sun Nov  8 17:46:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3247
3248	* Makefile.in (INCLUDES): Add -I$(srcdir)/$(MULTISRCTOP)../include.
3249
3250Thu Oct 22 14:34:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3251
3252	* configure.in: Use AC_CONFIG_AUX_DIR($topsrcdir).
3253
3254Sat Oct 17 05:21:31 1998  Ovidiu Predescu  <ovidiu@slip.net>
3255
3256	* objc-features.texi (Top): Changed the email address.
3257	* objc-features.texi (Garbage Collection): Use @uref instead of @url.
3258
3259Mon Oct 11 21:25:27 1998  Ovidiu Predescu  <ovidiu@slip.net>
3260
3261	* encoding.c: Redefine get_inner_array_type to get the first entry
3262	in the structure.
3263
3264Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald <richard@brainstorm.co.uk>
3265
3266	* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
3267	(objc_get_type_qualifiers): Similarly.
3268	* objc/encoding.h (_C_BYREF): Define.
3269	(_F_BYREF): Define.
3270
32711998-10-07  David S. Miller  <davem@pierdol.cobaltmicro.com>
3272
3273	* objc/sarray.h: Make boffset be an unsigned long when sparc so it
3274	works out on 64-bit systems.
3275
3276Tue Oct  6 20:32:06 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
3277
3278	* Makefile.in (INCLUDES): Make it multilib-friendly.
3279
3280Fri Oct  2 07:12:14 1998  H.J. Lu  (hjl@gnu.org)
3281
3282	* Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc.
3283
3284Thu Oct  1 22:33:03 1998 Robert Lipe  <robertl@dgii.com>
3285			 Jeffrey A Law  (law@cygnus.com)
3286
3287	* Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
3288	(FLAGS_TO_PASS): Added.
3289	(runtime-info.h): Reference cc1ibj via $MULTIBUILDTOP.
3290
3291	* archive.c: Change config.h to tconfig.h.
3292
3293	* configure.in: Find gcc's object directory even for multilibs.
3294
3295Wed Sep 30 18:17:17 1998  Robert Lipe  <robertl@dgii.com>
3296
3297	* configure.in: Escape ^ in grep string.
3298	* configure: Rebuilt.
3299
3300Wed Sep 30 09:14:52 1998  Jeffrey A Law  (law@cygnus.com)
3301
3302	* All .h files pushed down into the objc/ subdirectory.
3303	* Makefile.in (copy_headers): Corresponding changes.
3304	* configure.in (AC_INIT): Corresponding changes.
3305	* configure: Rebuilt.
3306
33071998-09-30  Ben Elliston  <bje@cygnus.com>
3308	    Jeff Law	  <law@cygnus.com>
3309
3310	* Makefile.in: Rewrite.
3311
3312	* configure.in: Likewise.
3313
3314	* configure: Regenerate.
3315
3316	* All .c files.  Remove "objc" prefix when including objc header
3317	files.  Include tconfig.h, not ../tconfig.h.
3318
3319Mon Sep 21 23:27:10 1998  Ovidiu Predescu <ovidiu@slip.net>
3320
3321	* encoding.c (TREE_TYPE, ARRAY_TYPE): Define.
3322	(get_inner_array_type): Define.
3323
33241998-09-21  Ben Elliston  <bje@cygnus.com>
3325
3326	* New directory.  Moved files from ../gcc/objc.
3327