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