OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libobjc/] [ChangeLog] - Blame information for rev 739

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.