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