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