aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/ChangeLog.apple-ppc
blob: 5c6654f951760ba1a39162a20c8afaddb14d0ec9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
2006-04-28 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4512786
	* objc/objc-act.c (objc_init_exceptions): Remove warning.

2006-04-26 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4523837
	* objc/objc-act.c (objc_build_getter_call): Restore 'receiver' 
	to its original tree in call tree.

2006-04-26 Fariborz Jahanian <fjahanian@apple.com>

        Radar 3803157 (method attributes)
	* objc/objc-act.h (METHOD_TYPE_ATTRIBUTES): New macro.
	* objc/objc-act.c (objc_decl_method_attributes): New.
	(objc_add_method_declaration): Process method's attribute.
	(objc_start_method_definition): Ditto.
	(build_objc_method_call): Inject method attribute into
	built function type.
	(build_v2_build_objc_method_call): Ditto.
	(objc_synthesize_getter): objc_start_method_definition takes
	an extra argument.
	(objc_synthesize_setter): Ditto.
	(really_start_method): Check for consistant attribute
	declaration on method decl. and method def.
	(objc_method_decl): New.

2006-04-19 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4517826
	* objc/objc-act.c (objc_build_getter_call): Check for null tree(s)
	before accessing their fields.

2006-04-12 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4506893
	* objc/objc-act.c (objc_setter_func_call): Set
	in_objc_property_setter_name_context.
	(objc_finish_message_expr): Issue proper error 
	when setter not found and only when property
	is used to call setter.

2006-04-13 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4512937
	* objc/objc-act.c (objc_build_foreach_components): Use an existing
	declaration of 'NSFastEnumerationState' if one is available.

2006-04-10 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4506903
	* objc/objc-act.c (objc_build_getter_call): Lookup property in
	id<protocol>.property as well.

2006-04-12 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4507230
	* objc-act.c (objc_finish_message_expr): Don't warn on 
	calling the internal objc runtime routine.
	(objc_type_valid_for_messaging): New routine to check for valid
	objc object types.
	(objc_finish_foreach_loop): Check for invalid objc objects
	in foreach header.

2006-04-07 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4505126
	* objc-act.c (lookup_property, lookup_property_in_list,
	lookup_property_in_protocol_list): New.
	(objc_build_getter_call): Call lookup_property to find a property.
	Also fix a minor C* property bug uncovered.
	
2006-04-06 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4436866
        (Missing copies attribute)
	* objc-act.h (PROPERTY_COPIES): New field in property node.
	* objc-act.c (objc_set_property_attr): Set property_copies
	flag.
	(objc_add_property_variable): Update field PROPERTY_COPIES
	corresponding to 'copies' attribute.
	(objc_v2_encode_prop_attr): Ancode 'copies' attribute in
	attribute field of metadata.
	(objc_v2_merge_dynamic_property): Merge 'copies' attribute.
	
2006-04-04 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4498373
        (Metadata for objective-c properties)
	* objc-act.h (objc_v2_property_template, UOBJC_V2_PROPERTY_decl,
	prop_names_attr_chain, objc_prop_list_ptr): New global 
	declarations.
	* objc-act.c (build_v2_property_template, build_v2_property_list_template,
	generate_v2_property_tables, build_v2_property_table_initializer, 
	objc_v2_encode_prop_attr, generate_v2_property_list,
	objc_v2_merge_dynamic_property): New functions for property's
	meta-data generation.
	(string_section): prop_names_attr is the new enum for property
	name/attribute strings section.
	(objc_add_property_variable): Fix a latentbug to prevent crash on user
	error.
	(synth_module_prologue): Define a new type for _prop_list_t*.
	(build_objc_string_decl): Add property name/attributes to their own
        list.
	(add_objc_string): Add support for property name/attribute names. 
	(get_objc_string_decl): Add list of property name/attributes among
	those to search for.
	(generate_strings): Generate the property name/attribute data.
	(build_v2_protocol_template): Add the new field "properties"
	to 'struct protocol_t'.
	(build_protocol_initializer): Add the initializer for "properties"
	field.
	(build_v2_category_template): Add the new field "properties"
	to 'struct category_t'.
	(build_category_initializer): Add the initializer for "properties"
	field.
	(build_v2_class_template): Add the new field "properties"
	to 'struct class_ro_t'.
	(build_class_ro_t_initializer): Add the new field "properties"
	to 'struct class_ro_t'.
	(generate_v2_shared_structures): Fixed a latent bug.
	(check_methods): Don't issue error if synthesize declarations
	found in interface don't have an implementation.
	(objc_gen_property_data): Merege 'dynamic' properties into 
	class's implementation.
	(finish_class): Set the context for synthesized instance methods.
	(finish_objc): Call to generate_v2_property_tables to generate
	property metadata.

2006-03-31 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4494634
	* objc-act.c (objc_build_string_object): Call build1 directly.

2006-03-31 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4494634
	* objc-act.c (objc_build_string_object): Suppress strict-alias
	warning when converting to type 'id'.

2006-03-27 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4133425
	* objc-act.c (objc_diagnose_private_ivar): New.

2006-03-22 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4436866
	* objc-act.c (objc_gen_one_property_data): New.
	(objc_gen_property_datae): New.
	(objc_synthesize_getter): New.
	(objc_process_getter_setter): New.
	(objc_synthesize_setter): New.
	(objc_build_property_ivar_name): New.
	(objc_build_property_setter_name): New.
	(objc_v2_build_setter_call): New.
	(objc_setter_func_call): New.
	(build_property_reference): New.
	(match_proto_with_proto): New.
	(is_property): New.
	(finish_class): Generate what needed for property in class
	and category.
	(comp_proto_with_proto): Bulk of code moved to match_proto_with_proto.
	(objc_lookup_ivar): Added support to lookup property name.
	* objc-tree.def (PROPERTY_DECL): New tree node.
	* objc-act.h: Several new macros to access various @property 
	fields.

2006-03-22 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4486614
	* objc/objc-act.c (objc_generate_weak_read): Don't attempt
	to generate 'weak' barriers in templates.

2005-03-10 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4466530
	* objc/objc-act.c (synth_module_prologue): -fobjc-direct-dispatch 
	should be a no-op on ppc64

2005-03-09 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4457381
	* objc/objc-act.c (objc_finish_message_expr): Look for message in
	@class's protocol list.

2005-03-08 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4468456
	* objc/objc-act.c (objc_finish_foreach_loop): 'continue' label belongs 
	to current (inner) while-do loop.

2005-02-28 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4327263
	* objc/objc-act.c (init_module_descriptor): Remove file name
	from module descriptors.

2005-02-28 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4156731
	* objc/objc-act.c (gen_type_name_0): Handle Error reporting of
	nameless types.

2005-02-28 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4441049
	* objc/objc-act.c (objc_v2_bitfield_ivar_bitpos): New routine to
	compute ivar bitfield bit position from start of its starting byte.
	(ivar_offset_ref): ivar bitfield byte position recomputed.

2006-02-15   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4439126
        * objc/objc-act.c (objc_finish_file): call cp_finish_file before
	genertating any meta-data so all instantiation have taken place
	(some metadata (such as selectors) may go missing otherwise).

2006-02-15   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4441551
	* objc/objc-act.c (diagnose_selector_cast): New function definition.

2006-02-14   Fariborz Jahanian <fjahanian@apple.com>

	Radar 4445586
	* objc/objc-act.h: PROTOCOL_LANG_SLOT_ELTS has two new slots.
	(PROTOCOL_OPTIONAL_CLS_METHODS, PROTOCOL_OPTIONAL_NST_METHODS): Renamed to
	reflect the slot they belong to.
	* objc/objc-act.c ((PROTOCOL_OPTIONAL_CLS_METHODS, 
	PROTOCOL_OPTIONAL_NST_METHODS): Ditto.
	
2006-02-14   Fariborz Jahanian <fjahanian@apple.com>

	Radar 4441049
	* objc/objc-act.h: ivar_offset_hash_list new decl.
	* objc/objc-act.c (hash_name_enter, hash_name_lookup): New functions.
	(create_global_decl, create_extern_decl): Use the hash tables for looking
	up the global/extern variables used to represent various meta-data.
	(build_classlist_translation_table, generate_v2_category): Create a 
	new extern variable not global.
	(objc_generate_weak_read): For C++ template expressions type
	is NULL. Ignore such expressions.
	(objc_v2_build_ivar_ref): This routine cannot handle bitfields.
	(build_v2_ivar_t_template, ivar_offset_ref): Use correct type for
	field offsets which match that of the middle-end.
	(hash_init): New hash table initialization.	

2006-02-08   Fariborz Jahanian <fjahanian@apple.com>

	Radar 4437670 (new abi stuff)
	* objc/objc-act.c: Use internale names for pre-defined types
	for the new abi.
	(synth_module_prologue): Declare new builtin function objc_getProtocol.
	(objc_finish_message_expr): Use the new API for @protocol usage.
	(generate_v2_protocol_list): Use correct protocol list name.
	(build_v2_protocol_reference): Ue correct protocol reference name.
	
2006-02-3   Fariborz Jahanian <fjahanian@apple.com>

	Radar 4431864
	* objc/objc-act.c (objc_set_global_decl_fields): New routine to set 
	the flags for a new global declaration.
	(start_var_decl): Call objc_set_global_decl_fields to set the global flags.
	(create_global_decl): Use the pre-existinig extern declaration, if one 
	exists, to declare the new global declaration.

2006-02-02   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4426814
	* objc/objc-act.h (objc_assign_weak_decl, objc_read_weak_decl): New globals
	for two weak function calls; objc_read_weak and objc_assign_weak.
	* objc/objc-act.c (objc_build_weak_read, objc_build_weak_read,
	objc_generate_weak_read, objc_remove_weak_read): New functions defs.
	(objc_build_global_assignment): Takes an added argument for generation
	of 'strong' or 'weak' assignment calls.
	(objc_is_gcable_type): Now returns 1(strong), -1(weak) or 0(neither).
	(objc_is_strong_p): Now returns 1(strong), -1(weak) or 0(neither).
	(objc_generate_write_barrier): Is not capable of generating both
	weak and strong write barriers.
	(build_next_objc_exception_stuff): Declare the new functions.

2006-01-30  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4386773
	* objc/objc-act.c (objc_set_method_opt): New function.
	(objc_start_protocol, objc_finish_interface): Reset 
	objc_method_optional_flag flag.
	(objc_add_method_declaration): Pass on the new 
	flag to objc_add_method.
	(objc_add_method): Add optional methods to new chain in
	the protocol class.
	* objc/objc-act.h (CLASS_OPTIONAL_CLS_METHODS, 
	CLASS_OPTIONAL_NST_METHODS): New macros accessing a protocol
	class's optional method chains.
	
2006-01-27 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4345837
	* objc/objc-act.c (hash_class_name_enter): New.
	(hash_class_name_lookup): New.
	(objc_declare_alias): Enter alias name into hash table.
	(objc_declare_class): Enter class name into hash table.
	(objc_is_class_name): Do a hash look up of class name.
	(hash_init): Initialize the two new hash tables.
	* objc-act.h: Added cls_name_hash_list and als_name_hash_list 
	declarations, removed class_chain and alias_chain.

2006-01-24 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4310884
	* objc/objc-act.c (objc_build_struct): Rebuild TYPE_LANG_SPECIFIC for
	new class type after call to finish_struct.

2006-01-23 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4360146
	* objc/objc-act.h: (metaclasslist_ref_chain): New global declaration.
	* objc/objc-act.c (build_v2_method_list_template): New routine to
	declare "struct method_list_t".
	(objc_v2_get_metaclass_reference): New routine to build list
	of metaclass references.
	(objc_build_internal_classname): Takes new argument to build
	either internal class or metaclass name.
	(synth_module_prologue, objc_get_class_reference, 
	objc_build_protocol_expr, continue_class): Generate new meta-data in 
	hybrid abi as well.
	(init_v2_def_list): Routine is removed.
	(init_objc_symtab): New abi dependent code is removed since objc_symtab is
	not generated in new and hybrid abi.
	(forward_declare_categories): For hybrid abi generate both new and old 
	category meta-data names.
	(generate_objc_symtab_decl, objc_v2_build_ivar_ref, 
	build_private_template, build_super_template, synth_id_with_class_suffix): Add 
	test for hybrid abi.
	(build_classlist_translation_table): New argument to check for generation
	of metaclass reference table.
	(build_method_list_template): Remove dependency on abi flag.
	(generate_v2_dispatch_tables, generate_v2_method_descriptors): Call 
	build_v2_method_list_template.
	(get_super_receiver): For super call in class method add metaclass name to 
	reference chain.
	(finish_objc): Generate new and old metadata/declarations for hybrid abi. 
	Build metaclass reference table.

2006-01-18  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4294910
	* objc/objc-act.c (build_objc_fast_enum_state_type, 
	objc_create_named_tmp_var, objc_finish_foreach_loop, 
	objc_build_foreach_components): New functions.
	(objc_build_component_ref): Made global.
	(synth_module_prologue): Define 'struct __objcFastEnumerationState'
	type and objc_enumerationMutation functions.
	* objc/objc-act.h (objc_fast_enum_state_type, 
	objc_enum_mutation_decl): New declarations.
	
2006-01-18 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4360146
	* objc/objc-act.c (objc_add_to_class_list_chain,
	build_class_list_address_table, objc_add_to_category_list_chain,
	build_category_list_address_table, 
	objc_add_to_nonlazy_category_list_chain, 
	objc_add_to_nonlazy_class_list_chain): New functions.
	(objc_start_method_definition): Insert declaration of class 
	method "load" in one of the __nonlazy_class or __nonlazy_category 
	lists.
	(forward_declare_categories): Change name of category meta-data so
	it ends up in its correct section.
	(synth_forward_declarations): Comment changed.
	(generate_v2_dispatch_tables): Correct name of meta-data
	table for category methods.
	(generate_v2_category): Add to list of pointers in 
	__category_list section.
	(generate_v2_shared_structures): Fix the bug whereby offset of 
	first ivar was not computed correctly. 
	(synth_id_with_class_suffix): Fix the problem with duplicate category 
	symbol names.
	(finish_objc): Generate various new symbol lists. 
	* objc/objc-act.h: Assortment of new global declarations.
		
2006-01-10 Fariborz Jahanian <fjahanian@apple.com>

       Radar 4404766
       * objc/objc-act.c (JBLEN): define 64bit version of this macro as well.

2005-12-22  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4360146
        * objc/objc-act.c (generate_v2_ivar_lists): Remove generation of class 
	variabe offset for the root of inheritance in new abi.

2005-12-21  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4360146
	* objc/objc-act.c (create_hidden_decl): New.
	(ivar_offset_ref): Visibility of private ivar offset 
	variables must be "hidden".

2005-12-21  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4360146
        * objc/objc-act.c (objc_is_ivar): Perform correct name lookup for
	ivar names when generating ivar offset variables.
	(finish_objc): Don't generate objc_module meta-data in new abi.
	(generate_objc_symtab_decl): Don't generate objc_symtab meta-data 
	in new abi.
	(generate_v2_ivar_lists): Change names of class and instance ivars 
	in new abi so they end up in .data section.
	(generate_v2_dispatch_tables): Change names of method meta-data
	in new abi so they end up in .data section.
	(generate_v2_method_descriptors): Ditto.

2005-12-16  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4360146
	* objc/objc-act.c (ivar_offset_ref): Uniquify ivar offset variable 
	names not based on offect value but based on their name.
	(generate_v2_ivar_lists): Use OBJC_TYPE_NAME macro so c++ works as well.
	(generate_v2_protocol_list): Use objc_v2_protocol_template and not
	objc_protocol_template.
	(build_class_ro_t_initializer): Type of class_ro_t.baseProtocols
	initializer must be protocol_list_t*.
	(generate_v2_protocols): Type of protocol_t.protocol_list 
	initizlier is protocol_list_t *.


	
2005-12-15  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4229905
	* objc/objc-act.c (objc_compare_types): New.

2005-12-09  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4360146

	* objc/objc-act.h (PROTOCOL_LANG_SLOT_ELTS): Bump it by one.
	(PROTOCOL_V2_FORWARD_DECL): Correct its definition.
	(OCTI_V2_CAT_TEMPL): New definition.
	(objc_v2_category_template): New declaration.

	* objc/objc-act.c (OBJC_VERSION): Internal version number is 10
	for objc abi version 2.0.
	(build_classlist_reference): This function is removed.
	(synth_v2_forward_declarations): New
	(init_v2_def_list): New
	(objc_v2_get_class_reference): New
	(objc_build_internal_classname): New
	(build_v2_category_template): New
	(generate_v2_category): New
	(synth_module_prologue): Now build all built-in messaging functions for
	abi version 2.0 as well.
	Build new protocol_t type for abi version 2.0.
	(init_objc_symtab): For abi vesion 2.0, initialize _objc_symtab.defs field 
	to the new definition of ivars.
	(forward_declare_categories): For abi version 2.0 declare a new object
	for category metadata.
	(build_classlist_reference_decl): New name for visible pointer to class_t meta
	data for abi version 2.0.
	(build_classlist_translation_table): Build initializers for each externally 
	visible class reference.
	(objc_get_class_reference): Call objc_v2_get_class_reference to add a new 
	visible class reference to the classlist_ref_chain chain.
	(objc_v2_build_ivar_ref): Remove call to objc_is_public to avoid duplicate
	error reporting.
	(objc_v2_build_ivar_ref): Preserve type of the field on the new abi's
	ivar reference expression.
	(synth_forward_declarations): Remove version 2.0 specfic code (it now goes 
	in its own routine).
	(build_super_template): Build the second field, renamed to "cls", for abi version
	1.0 or 2.0 with different types.
	(ivar_offset_ref): New logic to avoid duplicate generation of offset variables
	with identical offset values.
	(build_v2_ivar_list_initializer): Skip over unnamed bitfields.
	(generate_v2_shared_structures): Remove call to build_classlist_reference.
	(receiver_is_class_object): Search 'classlist_ref_chain' or 'cls_ref_chain'
	list, dependending on the abi, for the identifier node for the referenced class. 	
	(objc_finish_message_expr): New messaging is also generated for abi version 2.0.
	(generate_v2_protocols):  Add class name to the list of visible classes whose 
	metadata address must be exported.
	(objc_build_protocol_expr): When generating @protocol expression, for abi version 2.0,
	the version 2.0 protocol meta-data need be generated.
	(continue_class): Separate the work depending on abi version.
	(objc_declare_protocols): Initialize PROTOCOL_V2_FORWARD_DECL.
	(start_protocol): Ditto.
	(get_super_receiver): In code generation for [super self], set super_t.cls field properly
	for abi version 2.0.
	(finish_objc): Top-level meta-data generation routine. Depending on abi version, call the
	version 1.0 or version 2.0 version of routines for various meta data generation.
	
2005-12-06  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4360146

        * objc/objc-act.c (objc_is_ivar, create_ivar_offset_name):
        New utility routines.
        (objc_v2_build_ivar_ref): Main routine to generate the new ivar
        reference code.
        (create_extern_decl): Modified to generate unique 'extern' variable
        declarations at file scope.
        (synth_module_prologue):Type of UOBJC_V2_VTABLE_decl is corrected.
        (ivar_offset_ref): Use create_ivar_offset_name to create name for ivar
        offset variable. Create global offset variables for public/protected
        ivars.
        (generate_v2_shared_structures): Miscellanous type correction and
        cleanups.
        (build_ivar_reference): For ivar references call objc_v2_build_ivar_ref
        to generate ivar references using ivar offset variable.

2006-03-10  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4407151
        * objc/objc-act.c (objc_is_class_name): template parameter is not
        an objective class name.
        (objc_generate_cxx_cdtors): Check for the null
        objc_implementation_context.
	
2006-02-07  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4219590
	* objc/objc-act.c (objc_start_method_definition): Initialize break/continue
	labels.

2005-11-29  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4349690

	* objc/objc-act.c (update_var_decl): New.
	(generate_strings, generate_shared_structures): Reuse old decl 
	and update it.
	(generate_category): A new argument added so the old
	decl can be updated and used.
	
2005-11-29  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4349670

	* objc/objc-act.c (init_objc_symtab): Use 'short' type for constant
	initializer initializing a 'short' field.

2005-11-18  Fariborz Jahanian <fjahanian@apple.com>

	objc new meta-data definitions - part 2

	* objc/objc-act.c (build_v2_ivar_t_template): New
	(build_v2_ivar_list_t_template): New
	(generate_v2_ivar_lists): New
	(build_v2_ivar_list_initializer): New
	(generate_v2_ivars_list): New
	(generate_v2_dispatch_tables): New
	(ivar_offset_ref): New
	(generate_v2_ivar_offset_ref_lists): New
	(generate_v2_protocol_list): New
	(build_v2_protocol_reference): New
	(generate_v2_protocol_references): New
	(generate_v2_protocols): New
	(build_v2_descriptor_table_initializer): New
	(generate_v2_method_descriptors): New
	(synth_module_prologue): Declare type 'struct ivar_list_t*'
        (build_message_reference_decl): Use a new indexing for building
     	message_ref names.
	(generate_descriptor_table): Added the 'newabi' arg to initilize the
	'entsize' field for 'method_list_t' meta data.	
	(build_protocol_initializer): Added the 'newabi' arg so as not
	to initialize the non-existing 'isa' field for 'struct protocol_t'
	meta data in the new abi.
	(build_method_list_template): For new abi add 'entsize' field to
	'struct method_list_t'.
	(generate_dispatch_table): Added the 'newabi' argument so for new
	abi we set the 'entsize' field of 'struct method_list_t'.	
	(generate_protocol_list): Removed the 'newabi' argument and its use.
	New abi now has its own generate_v2_protocol_list routine.
	(generate_v2_shared_structures): Call generate_v2_protocol_references
	and generate_v2_protocol_list. 
	(finish_objc): Generate new ivar-list, method-list, protocol-list
	meta data.

	* objc/objc-act.h: Assortment of new macro and global variable declarations.

2005-11-14  Fariborz Jahanian <fjahanian@apple.com>

	objc new messaging - part 3

	* objc/objc-act.c (build_message_reference_decl): New
	(build_selector_messenger_reference): Declare the variable
	with type "struct message_ref_t" for later initialization.
	(build_message_ref_translation_table): Initialize the 
	variable of type "struct message_ref_t" with the {message_name,
	selector}.
	(objc_copy_to_temp_side_effect_params): Fix gcc_assert(...).

2005-11-11  Fariborz Jahanian <fjahanian@apple.com>

	objc new messaging - part 2

	* objc/objc-act.c (build_selector_messenger_reference): New
	(build_message_ref_translation_table): New
	(objc_copy_to_temp_side_effect_params): New
	(objc_create_temporary_var): New
	(build_message_ref_template): Reorder fields in message_ref_t
	struct for better code gen.
	(objc_finish_message_expr): Initialization of message_ref_t table
	is now done at link-time. Also, check conditions for object comparison
	with 'nil'. 
	(build_newabi_build_objc_method_call): Check for object being 'nil' before
	making the call to message handlers.
	(finish_objc): Generate 'struct message_ref_t' translation table.

	* objc/objc-act.h: Assortment of new macro and global variable declarations.

2005-11-08  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4330422

	* objc/objc-act.c (objc_non_volatilized_type): New

2005-11-07  Fariborz Jahanian <fjahanian@apple.com>

	objc new messaging - part 1

	* objc/objc-act.c (synth_module_prologue): Generate builtin function 
	decls for all messaging calls.
	(build_message_ref_template): Declare 'struct _message_ref_t' and
	'struct _super_message_ref_t' types.
	(generate_newabi_shared_structures): Fix reported bugs on 'instanceStart' 
	and 'ivars' fields of the class meta data.
	(get_arg_type_list): For new abi, select objc_newabi_super_selector_type or
	objc_newabi_selector_type for selector type.
	(objc_finish_message_expr): For new abi, generate new messaging run-time 
	calls.
	(build_objc_method_call): New.
	* objc/objc-act.h: Assorment of new defines and new global declaration in
	support of new messaging calls.

2005-11-01  Fariborz Jahanian <fjahanian@apple.com>

	objc new meta-data definitions - part 1

	* objc/objc-act.c (create_global_decl): New
	(create_extern_decl): New
	(build_classlist_reference_decl): New
	(build_classlist_translation_table): New
	(build_newabi_protocol_template): New
	(build_newabi_class_template): New
	(newabi_append_ro): New
	(build_class_t_initializer): New
	(generate_newabi_shared_structures): New
	(synth_module_prologue): Declare IMP type objc_imp_type
        and use it as needed.
	Declare new globals and call build_newabi_protocol_template(...) when
	-fobjc-newabi is specified.
	(build_private_template): Save type of an Interface in CLASS_TYPE field.
	(generate_protocol_list): New argument added.
	(synth_forward_declarations): With -fabj-newabi build new class and metaclass 
	"class_t" types.
	(continue_class): Save class and metaclass declarations.
	(finish_objc): Restore global class and metaclass declarations.
	With -fobjc-newabi call generate_newabi_shared_structures(...).
	Also build classlist translation table if needed.
	* objc/objc-act.h (imp_entry): class_newabi_decl and meta_newabi_decl fields 
	added.	
	(enum objc_tree_index): New enumerators added.
	Several global variables declared.
	* config/darwin-protos.h (objc_classlist_section, objc_data_section): New declarations.
	* config/darwin.c (machopic_select_section): Added conditional calls to
	objc_classlist_section() and objc_data_section().
	* config/darwin.h: (objc_classlist_section, objc_data_section): New functions.
	(objc_section_init): New sections to initialize.
	
2005-10-10  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4301047

	* objc-act.c (encode_type): Remove the hack.

2005-10-17  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4290840

	* objc-act.c (objc_start_method_definition): Check for error_mark_node for
	the selector name and make a quick exit.

2005-10-12  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4291785

	* objc-act.c (objc_get_interface_ivars): New function.
	(objc_detect_field_duplicates): Ditto.
	(objc_collecting_ivars): New flag.
	(continue_class): Set and reset objc_collecting_ivars for context.
	* objc-act.h (TOTAL_CLASS_RAW_IVARS): New field for interface types.
	
2005-10-10  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4291099
	* objc-act.c (objc_generate_write_barrier): Add write-barriers for 
	c++'s ctor initializer list.

2005-10-07  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4204796
	* objc-act.c (objc_build_volatilized_type): Build 'volatilzed'
	types with proper attribute set and correctly.
	(objc_volatilize_decl): Remove unneeded code.
	(objc_type_quals_match): Use the new attribute to check on
	'volatilzed' type.
	(hash_init): removed unneeded code.
	
2005-10-04  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4278236
	* objc-act.c (objc_declare_class): Pick the right
	type tree.

2005-10-04  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4281748
	* objc-act.c (objc_check_global_decl): New

2005-10-07  Fariborz Jahanian <fjahanian@apple.com>

	radar 4292010
	* objc-act.c (objc_generate_write_barrier): Turn off gc-specific 
	warning till post chardonnay.

2005-10-06  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4280641
	* objc-act.c (TAG_MSGSEND_FPRET): New objc runtime call name.
	(synth_module_prologue): Build bultin function for this runtime
	function (x86 only).
	(build_objc_method_call): Call this runtime for methods returning
	floats and if not call to super receiver.
	* objc-act.h (OCTI_UMSG_FPRET_DECL): New definition.
	(umsg_fpret_decl): New definition.
	
2005-09-29  Ziemowit Laski  <zlaski@apple.com>

	Radar 4136489
	* objc-act.c (objc_is_gcable_type): Remove second parameter;
	handle __weak attribute.
	(objc_is_strong_p): New function.
	(objc_is_object_ptr): Check main variant of pointee.
	(objc_is_gcable_p): Hande __weak attribute.
	(objc_generate_write_barrier): For GC-able objects, always generate
	a strong-cast write barrier as a last resort, unless the object's
	type is marked __weak.

2005-08-23  Stuart Hastings <stuart@apple.com>
	    Ziemowit Laski  <zlaski@apple.com>

	Radar 4209854
	* objc-act.c (objc_decay_parm_type): New function.
	(get_arg_type_list): Decay types for all named arguments.
	(objc_push_parm): Rebuild the PARM_DECL if its type has
	been decayed.

2005-08-22  Ziemowit Laski  <zlaski@apple.com>

	Radar 4174166
	* objc-act.c (objc_compare_types): Compare function
	pointers; indicate success if the right-hand side has
	a return type that is covariant, and the argument types
	contravariant, with those of the left side.

2005-08-22  Ziemowit Laski  <zlaski@apple.com>

	Radar 4216500
	* objc-act.c (objc_get_protocol_qualified_type): When looking
	at a typedef, retrieve the precise type it describes (rather
	than merely looking up a class by name).

2005-07-20  Ziemowit Laski  <zlaski@apple.com>

	Radar 4136935
	* objc-act.c (pointee_is_readonly): New function.
	(encode_pointer, encode_aggregate_within, encode_type):
	Attempt to emulate GCC 3.3 when generating type encodings.

2005-07-18  Ziemowit Laski  <zlaski@apple.com>

	Radar 4175534
	* objc-act.c (objc_compare_types): A new silent comparison
	mode (-4), differing from regular comparison (-3) in that
	'false' is returned instead of issuing warnings.

2005-07-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 4168740 (via mainline)
	* objc-act.c (objc_build_struct): Pass in an actual @interface
	instead of its name, and annotate the struct created (and all
	existing variants thereof) with the @interface.
	(objc_compare_types): Treat forward-declared ObjC classes
	as stand-alone (root) classes for purposes of type comparisons.
	(build_private_template): Move some code to objc_build_struct().

2005-07-07  Ziemowit Laski  <zlaski@apple.com>

	PR objc/22274
 	* objc-act.c (objc_build_string_object): For GNU-style constants,
	use the @interface type rather than the built-in type.

2005-07-05 Devang Patel  <dpatel@apple.com>

	Radar 4168086	
	* lang-specs.h: While making PCH, invoke as if -fsave-repository
	is used when -save-temps is not used.

2005-07-01  Ziemowit Laski  <zlaski@apple.com>

	Radar 4153181
	* objc-act.c (objc_build_volatilized_type): New function.
	(objc_volatilize_decl): Call objc_build_volatilized_type()
	instead of build_qualified_type().

2005-06-30 Devang Patel  <dpatel@apple.com>

	* lang-specs.h: While making PCH, invoke as if -fsave-repository
	is used.

2005-06-28  Ziemowit Laski  <zlaski@apple.com>

	Radar 4140824
	* objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO
	portion of TYPE_LANG_SPECIFIC info for all variants of
	a class before calling finish_struct(), and restore
	same TYPE_OBJC_INFO afterwards.

2005-06-22  Ziemowit Laski  <zlaski@apple.com>

	Radar 4154928
	* objc-act.c (objc_common_type): New function.

2005-06-21  Ziemowit Laski  <zlaski@apple.com>

	Radar 4149909
	* objc-act.c (objc_build_internal_const_str_type): New function.
	(check_string_class_template): Use objc_get_class_ivars() instead
	of TYPE_FIELDS() to retrieve ivar list.
	(AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather
	than the field itself.
	(objc_build_string_object): Synthesize a "__builtin_ObjCString"
	type and use it to lay out compile-time string objects.
	* objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type):
	New.

2005-05-19  Ziemowit Laski  <zlaski@apple.com>

	Radar 4035492
	* objc-act.c (objc_build_struct, objc_derived_from_p,
	objc_build_component_ref, objc_copy_binfo, objc_xref_basetypes,
	objc_lookup_protocol, objc_compare_protocols, objc_volatilize_decl,
	encode_aggregate_fields, volatilized_hash, volatilized_eq,
	objc_compare_types, objc_type_quals_match):
	New functions.
	(DERIVED_FROM_P): New ObjC macro, corresponding to C++ macro
	of same name.
	(get_class_ivars): Add second parameter indicating if entire
	hierarchy is desired.
	(struct volatilized_type): New type.
	(volatilized_htab): New hash table.
	(objc_types_compatible_p, objc_comptypes): Remove functions.
	(synth_module_prologue): Do not initialize 'unused_list'.
	(objc_get_class_reference): Fix ObjC++ impedance mismatches.
	(objc_declare_alias): Implement as a typedef.
	(objc_substitute_decl, objc_gimplify_expr): Reformat.
	(objc_get_class_ivars): Adjust call to get_class_ivars().
	(next_sjlj_build_enter_and_setjmp, synth_forward_declarations,
	build_ivar_reference, get_super_receiver): Call
	objc_build_component_ref() instead of build_component_ref().
	(objc_begin_catch_clause): Use DERIVED_FROM_P() instead of
	objc_comptypes().
	(build_private_template): Call objc_build_struct() instead of
	start_struct() and finish_struct().
	(hash_init): Initialize volatilized_htab.
	(objc_is_public): Adjust calls to objc_get_ivars(); adjust
	ObjC++ impedance mismatches.
	(encode_aggregate_within): Streamline by calling
	encode_aggregate_fields().
	* objc-act.h (objc_types_compatible_p): Remove prototype.
	(OCTI_UNUSED_LIST, unused_list): Remove slot.
	* objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.

2005-04-19  Ziemowit Laski  <zlaski@apple.com>

	Radar 4056870
	* objc-act.c (start_class): Traverse @compatibility_alias
	declaration when looking up super class; produce error
	message if super class only has a @class declaration.

2005-04-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 4073569
	* objc-act.c (objc_finish_message_expr): When sending
	messages to classes that were _only_ forward-declared
	(via '@class'), do not issue "may not respond" to
	warnings.

2005-04-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 4055183
	* objc-act.c (objc_rewrite_function_call): New function.

2005-03-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3995882
	* objc-act.c (objc_begin_try_stmt): When doing _setjmp()/
	_longjmp() EH, call objc_mark_locals_volatile().

2005-02-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 4006978
	* objc-act.c (objc_is_public): Remove unneeded code.

2005-02-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3635843, 3922342
	* objc-act.c (OBJC_VERSION): Bump to '6' for the NeXT.
	(objc_is_gcable_type, objc_substitute_decl, 
	objc_build_ivar_assignment, objc_build_global_assignment,
	objc_build_strong_cast_assignment, objc_is_gcable_p,
	objc_is_ivar_reference_p, objc_is_global_reference_p,
	objc_generate_write_barrier): New functions.
	(TAG_ASSIGNIVAR, TAG_ASSIGNGLOBAL, TAG_ASSIGNSTRONGCAST,
	TAG_MSGSEND_FAST, TAG_ASSIGNIVAR_FAST, OFFS_MSGSEND_FAST,
	OFFS_ASSIGNIVAR_FAST): New macros.
	(synth_module_prologue): Synthesize 'objc_msgSend_Fast'
	function prototype.
	(build_next_objc_exception_stuff): Synthesize
	'objc_assign_ivar', 'objc_assign_ivar_Fast',
	'objc_assign_global' and 'objc_assign_strongCast'
	function prototypes.
	(build_objc_method_call): Call 'objc_msgSend_Fast'
	instead of 'objc_msgSend' if '-fobjc-direct-dispatch'
	has been specified.
	(finish_objc): Generate image info if '-fobjc-gc'
	has been specified.
	(generate_objc_image_info): Set a bit indicating if
	'-fobjc-gc' has been specified.
	* objc-act.h (OCTI_UMSG_FAST_DECL, OCTI_ASSIGN_IVAR_DECL,
	OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
	OCTI_ASSIGN_STRONGCAST_DECL): New enum slots.
	(umsg_fast_decl, objc_assign_ivar_decl, 
	objc_assign_ivar_fast_decl, objc_assign_global_decl,
	objc_assign_strong_cast_decl): New slot accessors.

2005-02-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3962013 (Part 2)
	* objc-act.c (objc_types_share_size_and_alignment): New
	function.
	(check_duplicates): Update comment.
	(comp_proto_with_proto): If types do not match, call
	objc_types_share_size_and_alignment() as a fallback in
	non-strict mode.

2005-02-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3978619
	* objc-act.c (should_call_super_dealloc): New variable.
	(objc_finish_message_expr): If calling [super dealloc],
	clear the should_call_super_dealloc variable.
	(start_method_def): If defining a 'dealloc' method in a
	non-root class, set the should_call_super_dealloc variable.
	(objc_finish_method_definition): Print a warning if
	the should_call_super_dealloc is set.

2005-02-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3982256
	* objc-act.c: Update copyright notice; include langhooks-def.h.
	(objc_types_compatible_p): New lang hook function.
	* objc-act.h: Update copyright notice.
	(objc_types_compatible_p): New prototype.
	* objc-lang.c: Update copyright notice.
	(LANG_HOOKS_TYPES_COMPATIBLE_P): Point at objc_types_compatible_p().

2005-02-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 3987972
	* objc-act.c (objc_start_function): Reset
	'current_function_returns_value' and 'current_function_returns_null'
	global flags.

2005-01-30  Ziemowit Laski  <zlaski@apple.com>

	Radar 3962013
	* objc-act.c (comp_proto_with_proto): Add a STRICT parameter
	to allow for relaxed type comparisons.
	(check_duplicates): If '-Wno-strict-selector-match' is specified,
	do not warn about multiple method signatures if they differ only
	in their ObjC types.
	(add_method_to_hash_list, objc_add_method, really_start_method):
	Adjust calls to comp_proto_with_proto().

2005-01-27  Matt Austern  <austern@apple.com>

	Radar 3971445
	* objc-act.c (objc_finish_file): In Objective-C++ mode, set at_eof
	before calling instantiate_pending_templates. 

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	* objc-act.c (objc_get_class_reference): Move stray 
	APPLE LOCAL marker.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3955336
	* objc-act.c (objc_get_class_reference): In Objective-C++,
	make sure a type is declared in the global namespace before
	looking it up as an ObjC class.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3953044 (PR objc/19321)
	* objc-act.c (get_arg_type_list): Decay function arguments into
	pointers.
	(objc_push_parm): Likewise; bring PARM_DECL construction closer
	in line with what the C front-end does.
	(objc_get_parm_info): Call pushdecl() and finish_decl() on
	each PARM_DECL, like the C front-end does.
	(start_method_def): Remove redundant ARRAY_TYPE decay.
	(objc_start_function): Bring closer in line with what the
	C front-end does for functions.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3951689
	* objc-act.c (next_sjlj_build_enter_and_setjmp): For
	Objective-C++, convert _setjmp() argument to type the
	function expects.
	(objc_finish_try_stmt, objc_build_synchronized): Return
	the resulting statement	node.

2005-01-14  Mike Stump  <mrs@apple.com>

	Radar 3948135
	* lang-specs.h ("@objective-c"): Use cc1obj when -E is used so
	that -fzero-link is accepted.

2005-01-12  Ziemowit Laski  <zlaski@apple.com>

	Radar 3882153
	* objc-act.c (objc_finish_file): Do not synthesize metadata
	when generating a PCH file.

2005-01-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3918079
	* objc-act.c (OBJC_LOOKUP_CLASS, OBJC_LOOKUP_NO_SUPER): New
	flags.
	(lookup_method_static): Generalize third argument to indicate
	whether to search superclasses for a method.
	(really_start_method): When looking for matching method in
	the @interface, do not look in superclasses.

2005-01-06  Ziemowit Laski  <zlaski@apple.com>

	Radar 3925982
	* objc-act.c (objc_method_parm_type): Return the type found
	rather than its main variant.
	(encode_aggregate_within): Streamline util_obstack accesses;
	allow for records and/or pointers thereto to be const-qualified.

2005-01-03  Ziemowit Laski  <zlaski@apple.com>

	Radar 3926282 (PR objc/18971)
	* objc-act.c (get_arg_type_list, start_method_def): Decay
	array arguments into pointers.
	(gen_type_name_0): Learn to pretty-print array types.

2004-11-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3761423
	* objc-act.c (build_private_template): Return 'void';
	move fix for Radar 3261135 from continue_class().
	(objc_is_public): Robustify for use with ObjC++; examine
	"raw" ivars of the ObjC class instead of side-effected 
	fields of the underlying struct.
	(continue_class): Return "raw" ivar list instead of
	struct field list; move Radar 3261135 to
	build_private_template(), and call it.

2004-11-01  Ziemowit Laski  <zlaski@apple.com>

	Radar 2810013 (fix from mainline)
	* objc-act.c (objc_lookup_ivar): The new OTHER parameter
	contains the result of the ID lookup by the C or C++
	front-end; in class methods, use OTHER if it exists;
	in instance methods, use OTHER only if it is locally
	declared.

2004-10-27  Ziemowit Laski  <zlaski@apple.com>

	Radar 3854155
	* objc-act.c (generate_shared_structures): Add a CLS_FLAGS
	parameter whose value gets ORed into the INFO field of
	the class descriptor.
	(CLS_HAS_CXX_STRUCTORS): New metadata bit.
	(objc_generate_cxx_cdtors): Set flag in current imp_entry
	if either '-.cxx_construct' or '-.cxx_destruct' were
	synthesized...
	(continue_class): ...after initially clearing it herre.
	(finish_objc): Adjust call to generate_shared_structures(),
	passing in CLS_HAS_CXX_STRUCTORS for classes with non-POD
	ivars.
	* objc-act.h (struct imp_entry): New has_cxx_cdtors field.

2004-10-26  Ziemowit Laski  <zlaski@apple.com>

	Radar 3833116 (fix from mainline)
	* objc-act.c (finish_class): Do not synthesize bogus
	'extern objc_object *_Foo;' declarations for @interface Foo.

2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>

	Radar 3845826 (PR objc/17923)
	* objc-act.c (objc_build_string_object): Create a CONST_DECL
	for the NeXT runtime case.

2004-10-21  Ziemowit Laski  <zlaski@apple.com>

	Radar 3540965
	* objc-act.c (objc_generate_cxx_ctor_or_dtor,
	objc_generate_cxx_cdtors): New functions.
	(TAG_CXX_CONSTRUCT, TAG_CXX_DESTRUCT): New macros.
	(objc_finish_implementation): Call objc_generate_cxx_cdtors()
	if -fobjc-call-cxx-cdtors has been specified.
	(add_instance_variable): Emit different diagnostics for
	-fobjc-call-cxx-cdtors than for -fno-objc-call-cxx-cdtors.

2004-10-13  Ziemowit Laski  <zlaski@apple.com>

	Radar 3677258
	* objc-act.c (add_class): Add a 'name' parameter, and point it
	back at 'class' via IDENTIFIER_INTERFACE_VALUE accessor.
	(lookup_interface): Look in IDENTIFIER_INTERFACE_VALUE accessor
	instead of searching for class in a list.
	(start_class): Adjust calls to add_class().
	* objc-act.h (IDENTIFIER_INTERFACE_VALUE): Reformat.