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
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
|
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_is_reserved_word): Removed.
2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
* objc-act.c (objc_add_method_declaration): Handle and ignore
attributes.
(objc_start_method_definition): Likewise.
(objc_generate_cxx_ctor_or_dtor): Pass NULL attributes to ctor/dtor.
(objc_build_keyword_decl): Handle and ignore attributes.
2010-09-28 Richard Henderson <rth@redhat.com>
* objc-act.c (objc_eh_personality): Use targetm.except_unwind_info.
2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
* objc-act.c (objc_start_class_interface): Handle and ignore attributes.
(objc_start_category_interface): Likewise.
(objc_start_protocol): Likewise.
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
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.
2010-09-28 Nicola Pero <nicola@nicola.brainstorm.co.uk>
* objc-act.c (encode_type): Fixed encoding enums with the next
runtime.
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
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.
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (encode_type): Do not add 'r' with the next runtime.
(encode_aggregate_within): Reorganized code to be more readable.
(encode_aggregate_fields): Updated second argument to be 'bool'
instead of 'int'.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/45763
PR objc/25450
PR objc/25464
* objc-act.c: Improved comments for encoding functions.
(encode_aggregate_within): For the GNU runtime, rewritten some
obsfuscated code to clarify the various cases.
(encode_aggregate): Function removed.
(encode_array): Generate an error if asked to encode an incomplete
array as part of generating instance variables. Else, when
encoding an incomplete array inside a structure, encode it as an
array of zero size.
(encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as
'^c' instead of '*'.
(encode_gnu_bitfield): Encode enumerated types exactly in the same
type as integer types instead of using a hardcoded 'i'. If asked
to encode a non-integer type as a bitfield, do not abort
compilation immediately; instead generate an error, then skip the
type.
(encode_type): Use a 'switch' instead of a sequence of 'if's.
Added a 'default' clause that gets executed if the type can not be
matched, and that encodes it as '?' (unknown) and produces a
warning. For the GNU runtime, encode enumerated types exactly in
the same way as integer types instead of using a hardcoded 'i'.
Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'.
Encode C++ reference types as pointers. Call encode_vector to
encode vectors.
(encode_vector): New function.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. I modified the
changes to be used only when compiling for the NeXT runtime.
2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
Radar 4301047
* objc-act.c (encode_type): Remove the hack.
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.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
Radar 4229905
* objc-act.c (objc_have_common_types): New function.
2005-06-22 Ziemowit Laski <zlaski@apple.com>
Radar 4154928
* objc-act.c (objc_common_type): New function.
2010-09-27 Richard Guenther <rguenther@suse.de>
* objc-act.c (objc_get_class_reference): Use CP_TYPE_CONTEXT.
(objc_is_global_reference_p): Use DECL_FILE_SCOPE_P.
2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c: Removed historical, obsolete comment at the top of
the file.
2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/23710
* objc-act.c (objc_start_method_definition): Do not abort upon a
'method definition not in @implementation context' error. Return
'false' instead.
2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/25965
* objc-act.c (objc_get_interface_ivars): New function.
(objc_collecting_ivars): New variable.
(continue_class): Set and reset objc_collecting_ivars for context.
2010-09-15 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2006-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.
2006-02-07 Fariborz Jahanian <fjahanian@apple.com>
Radar 4219590
* objc/objc-act.c (objc_start_method_definition): Initialize
break/continue labels.
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).
2010-09-10 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/objc-act.c (objc_begin_try_stmt): Generate an error if
-fobjc-exceptions was not used. (objc_build_throw_stmt): Same
change.
2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
* objc-act.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2010-07-10 Iain Sandoe <iains@gcc.gnu.org>
PR objc/44140
* objc-act.c: build_objc_string_decl() remove declaration.
(finish_var_decl): Remove forcing of var output and marking
as "Used".
(init_def_list): Use integer_zero_node.
(init_objc_symtab): Use integer_zero_node, make the short
integer type specific on relevant nodes.
(generate_objc_symtab_decl): Remove call to
forward_declare_categories(). Use null_pointer_node where
appropriate.
(build_module_descriptor): Comment and mark this item as
DECL_PRESERVE_P.
(generate_static_references): Use gcc_unreachable instead of
abort ().
(diagnose_missing_method): New.
(build_next_selector_translation_table): New.
(build_gnu_selector_translation_table): New.
(add_objc_string): Merge code from build_objc_string_decl...
... and delete build_objc_string_decl().
(generate_dispatch_table): Make integer types explicit.
(generate_category): Pass implent and arrange for the data
to be extracted within the routine. Do not start new vars,
but finish the ones collcted during parsing.
(generate_shared_structures): Likewise.
(finish_objc): Reorder code so that we finish variables before
referencing them. Save the global data before calling meta-data
creation routines, and pass the current reference to the two
main routines. Only call generate_objc_image_info () for the
NeXT runtime.
(generate_classref_translation_entry): Comment on and make this
item DECL_PRESERVE_P.
(handle_class_ref): Use varpool interfaces, comment on and make
this item DECL_PRESERVE_P.
(handle_impent): Likewise.
(generate_objc_image_info): Only generate when the content is
non-zero. Make integer types explict.
2010-07-03 Nathan Froyd <froydnj@codesourcery.com>
PR objc/24867
* objc-act.c (build_sized_array_type): New function.
(add_objc_string): Use it.
(generate_protocol_list): Likewise.
(generate_objc_image_info): Likewise.
(add_field_decl): New function.
(objc_build_struct): Use a VEC rather than building a TREE_LIST.
(generate_struct_by_value_array): Use add_field_decl.
(build_objc_symtab_template): Likewise.
(build_module_descriptor): Likewise.
(build_objc_exception_stuff): Likewise.
(build_protocol_template): Likewise.
(build_method_prototype_list_template): Likewise.
(build_method_prototype_template): Likewise.
(build_category_template): Likewise.
(build_selector_template): Likewise.
(build_class_template): Likewise.
(build_super_template): Likewise.
(build_ivar_template): Likewise.
(build_ivar_list_template): Likewise.
(build_method_list_template): Likewise.
(build_method_template): Likewise.
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* objc-act.c: Do not include except.h.
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
allocation.
* objc-act.c (objc_volatilize_decl): Likewise.
(objc_build_string_object): Likewise.
(hash_init): Likewise.
(hash_enter): Likewise.
(hash_add_attr): Likewise.
(add_class): Likewise.
(start_class): Likewise.
2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
* objc-act.c: Update include path for moved files.
* objc-lang.c: Likewise.
* config-lang.in: Update paths in gtfiles for files in c-family/.
2010-06-01 Nathan Froyd <froydnj@codesourcery.com>
* objc-act.c (build_next_objc_exception_stuff): Give setjmp a
varargs type instead of a zero-argument type.
2010-05-30 Nathan Froyd <froydnj@codesourcery.com>
* objc-act.c (synth_module_prologue): Use build_function_type_list
instead of build_function_type.
(build_module_initializer_routine): Likewise.
(build_next_objc_exception_stuff): Likewise.
(build_objc_exception_stuff): Likewise.
2010-05-27 Joseph Myers <joseph@codesourcery.com>
* objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
* Make-lang.in (objc/objc-act.o): Update dependencies.
2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
* objc-act.h: Do not include gimple.h.
* objc-act.c: Do not include rtl.h, expr.h, libfuncs.h, and tm_p.h.
Include gimple.h. Explain why except.h has to be included.
* objc-lang.c: Do not include diagnostics.h.
* Make-lang.in: Update dependencies.
2010-05-25 Nathan Froyd <froydnj@codesourcery.com>
* objc-act.c (objc_build_constructor): Adjust OBJCPLUS impedance
mismatch code for VECs.
2010-05-25 Nathan Froyd <froydnj@codesourcery.com>
* objc-act.c (objc_build_constructor): Take a VEC instead of a tree.
Use build_constructor instead of build_constructor_from_list.
(objc_build_string_object): Build a VEC argument for
objc_build_constructor.
(init_def_list): Likewise.
(init_objc_symtab): Likewise.
(init_module_descriptor): Likewise.
(generate_static_references): Likewise.
(build_selector_translation_table): Likewise.
(build_descriptor_table_initializer): Likewise.
(generate_descriptor_table): Likewise.
(build_protocol_initializer): Likewise.
(build_ivar_list_initializer): Likewise.
(generate_ivars_list): Likewise.
(build_dispatch_table_initializer): Likewise.
(generate_dispatch_table): Likewise.
(generate_protocol_list): Likewise.
(build_category_initializer): Likewise.
(build_shared_structure_initializer): Likewise.
(generate_objc_image_info): Likewise.
2010-04-30 Iain Sandoe <iains@gcc.gnu.org>
PR objc++/32052
* objc-act.c (encode_aggregate_within): Encode structure tags
with template args for ObjC++.
2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
* objc-act.c: Do not include varray.h.
2010-04-07 Jakub Jelinek <jakub@redhat.com>
PR c/18624
* objc-act.c (finish_var_decl, objc_begin_catch_clause,
really_start_method, get_super_receiver, handle_class_ref): Set
DECL_READ_P in addition to TREE_USED.
2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
PR objc/35996
* objc-act.c (objc_init): Warn that -fobjc-gc is ignored for
-fgnu-runtime and set flag_objc_gc to zero.
2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
PR objc++/23716
* objc-act.c (build_module_initializer_routine): Make the argument
to objc_start_function NULL_TREE when compiling ObjC++.
2010-02-18 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
Mike Stump <mikestump@comcast.net>
PR objc/43061
* objc-act.c (finish_var_decl): Set the generated symbols as "used".
2009-12-17 Shujing Zhao <pearly.zhao@oracle.com>
* objc-act.c (objc_substitute_decl, build_ivar_reference,
get_super_receiver): Update build_indirect_ref calls.
2009-11-28 Jakub Jelinek <jakub@redhat.com>
* objc-act.c (generate_shared_structures): Remove unused sc_spec and
decl_specs variables.
(objc_build_message_expr): Remove unused loc variable.
(objc_finish_message_expr): Remove unused saved_rtype variable.
(encode_field_decl): Remove unused type variable.
PR obj-c++/42156
* objc-act.c (objc_build_struct): INIT_TYPE_OBJC_INFO for
type variants that don't have it initialized yet.
2009-09-14 Jan Hubicka <jh@suse.cz>
* objc-act.c (objc_add_static_instance): Do not set DECL_COMMON.
2009-09-14 Richard Henderson <rth@redhat.com>
* objc-act.c (objc_init_exceptions): Don't call
default_init_unwind_resume_libfunc.
(objc_build_exc_ptr): Use __builtin_eh_pointer.
2009-09-13 Richard Guenther <rguenther@suse.de>
Rafael Avila de Espindola <espindola@google.com>
* objc-act.c (objc_eh_runtime_type): Export.
(objc_init_exceptions): Remove. Move warning code ...
(objc_begin_try_stmt): ... here
(objc_build_throw_stmt): ... and here.
(objc_eh_personality_decl): New.
(objc_eh_personality): New function.
* objc-act.h (objc_eh_runtime_type): Declare.
(objc_eh_personality): Likewise.
* objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
(LANG_HOOKS_EH_PERSONALITY): Likewise.
2009-09-03 Diego Novillo <dnovillo@google.com>
* objc-lang.c (lang_hooks): Remove const qualifier.
2009-08-20 Richard Guenther <rguenther@suse.de>
* objc-act.c: Include c-lang.h
* Make-lang.in (objc/objc-act.o): Add c-lang.h dependency.
2009-07-17 Aldy Hernandez <aldyh@redhat.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 40435
* objc-act.c: Add location argument to all calls to
build_fold_addr_expr.
2009-07-14 Taras Glek <tglek@mozilla.com>
Rafael Espindola <espindola@google.com>
* Make-lang.in (objc.install-plugin): New target for
installing plugin headers.
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
EXPR_LOCATION.
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* objc-act.c: Replace %J by an explicit location. Update all
calls.
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* objc-act.c: Replace %H by an explicit location. Update all
calls.
2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
PR objc/28050
* objc-act.c (objc_build_message_args): Return if ARGS is the
error_mark_node.
2009-06-19 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_in_struct, objc_struct_types): Remove.
(objc_struct_info): New static variable.
(objc_start_struct): Pass &objc_struct_info, not &objc_in_struct
and &objc_struct_types, to start_struct.
(objc_finish_struct): Likewise for finish_struct.
2009-06-15 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_start_function): Don't set
label_context_stack_se or label_context_stack_vm.
2009-06-12 Aldy Hernandez <aldyh@redhat.com>
* objc-act.c (finish_var_decl): Pass location to finish_decl.
(objc_get_parm_info): Same.
(get_super_receiver): Same.
* objc-act.c (objc_build_component_ref): Pass location to
build_compound_ref.
(build_module_initializer_routine): Pass location to
c_end_compound_stmt.
(objc_generate_static_init_call): Pass location to build_stmt.
(build_typed_selector_reference): New location argument.
(build_selector_reference): Same.
(objc_substitute_decl): Pass location to build_array_ref.
(next_sjlj_build_try_catch_finally): Pass location to build_stmt.
(objc_begin_catch_clause): Same.
(objc_finish_try_stmt): Same.
(objc_finish_catch_clause): Pass location to c_end_compound_stmt.
(objc_build_throw_stmt): New argument.
(generate_shared_structures): Pass location to build_c_cast.
(objc_build_message_expr): Use local location.
(objc_finish_message_expr): Use input_location.
(build_objc_method_call): New argument.
(objc_build_selector_expr): Same.
(get_super_receiver): Pass location to build_c_cast,
build_modify_expr, build_compound_expr.
* objc-act.c: Add location to all calls to start_struct, build_decl,
finish_struct.
2009-06-09 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_gimplify_expr): Change return type to int.
* objc-act.h: Update declaration.
2009-06-08 Alexandre Oliva <aoliva@redhat.com>
* objc-act.c (objc_init): Skip print_struct_values during
-fcompare-debug-second.
2009-06-03 Ian Lance Taylor <iant@google.com>
* Make-lang.in (cc1obj-checksum.o): Depend upon $(CONFIG_H) and
$(SYSTEM_H).
2009-05-27 Ian Lance Taylor <iant@google.com>
* Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
$(LINKER).
(cc1obj$(exeext)): Likewise.
2009-05-26 Ian Lance Taylor <iant@google.com>
* Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
(cc1obj$(exeext)): Likewise.
2009-05-20 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
than NULL_TREE to build_special_member_call.
2009-05-10 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_building_struct): New static variable.
(objc_in_struct, objc_struct_types): New static variables.
(objc_start_struct, objc_finish_struct): New static functions.
(generate_struct_by_value_array): Call objc_start_struct instead
of start_struct, and call objc_finish_struct instead of
finish_struct.
(objc_build_struct, build_objc_symtab_template): Likewise.
(build_module_descriptor): Likewise.
(build_next_objc_exception_stuff): Likewise.
(build_protocol_template): Likewise.
(build_method_prototype_list_template): Likewise.
(build_method_prototype_template): Likewise.
(build_category_template, build_selector_template): Likewise.
(build_class_template, build_super_template): Likewise.
(build_ivar_template, build_ivar_list_template): Likewise.
(build_method_list_template): Likewise.
(build_method_template): Likewise.
2009-05-10 Joseph Myers <joseph@codesourcery.com>
* objc-act.c: Include intl.h.
(objc_lookup_protocol): Use complete sentences for diagnostics
with %qE for identifiers and translating results of
gen_type_name_0 to locale character set.
(objc_check_decl, check_protocol_recursively,
lookup_and_install_protocols, objc_build_string_object,
objc_get_class_reference, objc_declare_alias, objc_declare_class,
objc_get_class_ivars, error_with_ivar, check_duplicates,
objc_finish_message_expr, objc_build_protocol_expr,
objc_build_selector_expr, build_ivar_reference, objc_add_method,
add_category, add_instance_variable, objc_is_public,
check_methods, check_methods_accessible, check_protocol,
start_class, finish_class, start_protocol, really_start_method,
get_super_receiver, objc_lookup_ivar): Use %E and %qE for
identifiers in diagnostics. Translate generated text to locale
character set as needed.
(check_protocol, check_protocols): Change name parameter to type
tree.
(lang_report_error_function): Remove.
2009-04-27 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_gimplify_expr): Add casts to enum type.
2009-04-24 Ian Lance Taylor <iant@google.com>
* objc-act.c (get_super_receiver): Update calls to
build_modify_expr to pass new argument.
2009-04-21 Taras Glek <tglek@mozilla.com>
* objc-act.c: Update GTY annotations to new syntax
* objc-act.h: Likewise
2009-04-21 Joseph Myers <joseph@codesourcery.com>
* ChangeLog: Add copyright and license notices.
2009-04-20 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_rewrite_function_call): Change parameter from
params to first_param. Change all callers.
2009-03-30 Dominique d'Humieres <dominiq@lps.ens.fr>
PR bootstrap/39583
* objc-act.c (in_late_binary_op): Define for Objective-C++.
2009-03-29 Joseph Myers <joseph@codesourcery.com>
PR c/456
PR c/5675
PR c/19976
PR c/29116
PR c/31871
PR c/35198
* objc-act.c (objc_finish_try_stmt): Set in_late_binary_op.
2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
PR bootstrap/38262
* Make-lang.in (cc1obj-dummy, cc1obj): Add BACKENDLIBS,
remove GMPLIBS.
2008-10-06 Aldy Hernandez <aldyh@redhat.com>
* objc-act.c (objc_build_string_object): Pass location to
build_unary_op.
(init_def_list): Same.
(init_objc_symtab): Same.
(init_module_descriptor): Same.
(build_module_initializer_routine): Same.
(generate_static_references): Same.
(build_typed_selector_reference): Same.
(add_objc_string): Same.
(objc_substitute_decl): Same.
(objc_build_ivar_assignment): Same.
(objc_build_global_assignment): Same.
(objc_build_strong_cast_assignment): Same.
(generate_protocols): Same.
(build_protocol_initializer): Same.
(build_dispatch_table_initializer): Same.
(generate_protocol_list): Same.
(build_category_initializer): Same.
(build_shared_structure_initializer): Same.
(generate_shared_structures): Same.
(objc_build_protocol_expr): Same.
(build_ivar_reference): Same.
(get_super_receiver): Same.
2008-09-23 Aldy Hernandez <aldyh@redhat.com>
* objc-act.c (next_sjlj_build_enter_and_setjmp): Call
c_common_truthvalue_conversion with location.
(next_sjlj_build_catch_list): Same.
(next_sjlj_build_try_catch_finally): Same.
2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR objc/37460
* objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
* objc-act.h (objc_get_callee_fndecl): Remove prototype.
* objc-act.c (objc_get_callee_fndecl): Kill.
2008-09-17 Jan Hubicka <jh@suse.cz>
PR c++/18071
* objc/objc-act.c (objc_finish_method_definition): Do not set
DECL_INLINE.
2008-09-01 Aldy Hernandez <aldyh@redhat.com>
* objc-act.c (build_typed_selector_reference): Pass input_location to
build_unary_op calls.
(build_selector_reference): Same, but to build_array_ref.
(objc_substitute_decl): Same.
(build_ivar_reference): Same, but to build_indirect_ref.
(get_super_receiver): Same.
2008-07-28 Richard Guenther <rguenther@suse.de>
Merge from gimple-tuples-branch.
2008-07-18 Aldy Hernandez <aldyh@redhat.com>
* Make-lang.in (objc-lang.o): Depend on GIMPLE_H.
(objc-act.o): Rename TREE_GIMPLE_H to GIMPLE_H.
* objc-act.h: Include gimple.h instead of tree-gimple.h.
* ipa-reference.c: Same.
2007-11-10 Aldy Hernandez <aldyh@redhat.com>
* objc-act.c (objc_gimplify_expr): Change pre and post to sequences.
* objc-act.h (objc_gimplify_expr): Change prototype accordingly.
2008-07-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* objc-act.c: Fix comment typos.
2008-07-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* objc-act.c (objc_start_class_interface,
objc_start_category_interface, objc_start_class_implementation,
objc_start_category_implementation, objc_build_struct,
generate_static_references, build_private_template,
lookup_category, objc_add_method, add_category,
add_instance_variable, objc_is_public, conforms_to_protocol,
start_class, continue_class, finish_class): Avoid C++ keywords.
2008-07-14 Jason Merrill <jason@redhat.com>
PR objc++/36723
* objc-act.c (objc_build_constructor): Update C++ tweak.
2007-07-14 Rafael Ávila de Espíndola <espindola@google.com>
* objc-act.c (synth_module_prologue): Use TREE_NO_WARNING instead
of DECL_IN_SYSTEM_HEADER.
2008-07-11 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_is_reserved_word): Always check for RID_CLASS,
etc., not just when OBJCPLUS is defined.
2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* objc-act.c (setup_string_decl, objc_build_string_object,
hash_interface, eq_interface, objc_begin_try_stmt,
encode_method_prototype, build_ivar_list_initializer,
objc_build_encode_expr): Fix for -Wc++-compat.
2008-05-12 Tomas Bily <tbily@suse.cz>
* objc-act.c (objc_generate_write_barrier, objc_finish_message_expr):
Use CONVERT_EXPR_P.
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT.
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (objc_OBJS): New variable.
2008-03-27 Tom Tromey <tromey@redhat.com>
* Make-lang.in: Revert automatic dependency patch.
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
PR obj-c++/35704
* objc-act.c (objc_build_component_ref): Fix call to
finish_class_member_access_expr.
(objc_generate_cxx_ctor_or_dtor): Fix call to
build_special_member_call.
2008-03-25 Andrew Pinski <pinskia@gmail.com>
PR objc/29197
* objc-act.c (encode_type): Handle when type is error_mark_node.
(objc_push_parm): Handle when the type of parm is error_mark_node.
2008-03-25 Tom Tromey <tromey@redhat.com>
* Make-lang.in (objc_OBJS): New variable.
(cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove.
2008-03-21 Andreas Tobler <a.tobler@schweiz.org>
PR bootstrap/35660
* objc-act.c (objc_generate_cxx_ctor_or_dtor): Rename IS_AGGR_TYPE to
MAYBE_CLASS_TYPE_P.
(objc_generate_cxx_cdtors): Likewise.
(add_instance_variable): Likewise.
2008-02-26 Tom Tromey <tromey@redhat.com>
* objc-act.c (objc_init): Remove old location code.
2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
PR other/35107
* Make-lang.in (cc1obj-dummy, cc1obj): Add $(GMPLIBS).
2007-07-30 Nick Clifton <nickc@redhat.com>
* Make-lang.in: Change copyright header to refer to version 3 of
the GNU General Public License and to point readers at the
COPYING3 file and the FSF's license web page.
* lang-specs.h, objc-act.c, objc-tree.def, objc-act.h,
config-lang.in, objc-lang.c: Likewise.
2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* objc-act.c (objc_get_callee_fndecl): Constify.
* objc-act.h (objc_get_callee_fndecl): Likewise.
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* objc-act.c (volatilized_hash, volatilized_eq, string_hash,
string_eq): Constify.
2007-04-04 Stuart Hastings <stuart@apple.com>
PR 31281
* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
* Make-lang.in: Add dummy lang.install-pdf target.
2007-02-18 Kazu Hirata <kazu@codesourcery.com>
* objc/objc-act.c: Fix comment typos.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* objc-act.c (receiver_is_class_object): Use new CALL_EXPR accessors.
(objc_get_callee_fndecl): Likewise.
2007-01-23 Andrew Pinski <pinskia@gmail.com>
PR objc/27438
* objc-act.c (objc_add_static_instance): Mark the decl as
TREE_USED.
2007-01-20 Andrew Pinski <pinskia@gmail.com>
PR objc/30479
* objc-act.c (hash_interface): Use IDENTIFIER_HASH_VALUE instead
of htab_hash_pointer.
(lookup_interface): Likewise.
(add_class): Likewise.
2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
* objc-act.c (objc_build_volatilized_type): Keep track of
canonical types.
(objc_get_protocol_qualified_type): Ditto.
2006-11-02 Andreas Tobler <a.tobler@schweiz.org>
* objc-act.c (objc_finish_file): Remove ifdef clause for OBJCPLUS and
content where we called cp_finish_file.
2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
* objc-act.c (synth_module_prologue): Replace calls to
builtin_function with add_builtin_function.
(build_next_objc_exception_stuff): Replace calls to
builtin_function with add_builtin_function.
(build_objc_exception_stuff): Replace calls to
builtin_function with add_builtin_function.
2006-10-10 Brooks Moses <bmoses@stanford.edu>
* Make-lang.in: Added empty "objc.pdf" target.
2006-09-26 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/29195
* objc-act.c (objc_push_parm): If we change the type of the
decl, relayout the decl.
2006-09-19 Eric Christopher <echristo@apple.com>
* objc-act.c (JBLEN): Rename to OBJC_JBLEN,
default to something innocuous.
(build_next_objc_exception_stuff): Rename JBLEN.
2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
2006-07-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR obj-c++/28434
* objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes.
2006-06-06 Mike Stump <mrs@apple.com>
* objc-act.c: Remove prototype for objc_build_volatilized_type.
2006-05-24 Mike Stump <mrs@apple.com>
* objc-act.c (build_next_objc_exception_stuff): Use JBLEN instead of _JBLEN.
2006-05-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR objc/27240
* objc-act.c (objc_is_public): Return early on invalid type.
2006-03-02 Fariborz Jahanian <fjahanian@apple.com>
* objc-act.c (init_module_descriptor): Remove file name from
module descriptor.
(gen_type_name_0): Fix ICE when issuing warning.
2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
* Make-lang.in (OBJC): Remove
(OBJECTIVE-C): Remove
(objective-c): Remove
(.PHONY): Remove objective-c and ObjC
2005-12-14 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/25360
* objc/objc-act.c (encode_type): Encode Complex types as 'j' followed
by the inner type.
2005-12-12 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/25348
* objc-act.c (encode_array): Handle arrays to zero sized types.
2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
* Make-lang.in (objc.all.build, objc.install-normal): Remove.
2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
* Make-lang.in: Remove all dependencies on s-gtype.
2005-12-02 Richard Guenther <rguenther@suse.de>
* objc-act.c (objc_build_exc_ptr, next_sjlj_build_enter_and_setjmp
next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
build_objc_method_call, objc_rewrite_function_call): Use buildN
instead of build.
2005-10-20 Geoffrey Keating <geoffk@apple.com>
* objc-act.c (synth_module_prologue): Clear TREE_NOTHROW
on objc_msgSend and like builtin functions.
2005-10-17 Andreas Krebbel <krebbel1@de.ibm.com>
* objc-act.c (objc_build_component_ref): Adjust call to
finish_class_member_access_expr due to a changed prototype.
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/23306
* objc-act.c (generate_strings): Remove and move code to
finish decl to ...
(add_objc_string): here when creating a new string decl.
(finish_objc): Don't call generate_strings.
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/23381
* objc-act.c (next_sjlj_build_try_catch_finally): Set
TREE_SIDE_EFFECTS on catch_seq after building it.
2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
part of PR objc/21992
* objc-act.c (handle_class_ref): The ref decl is always referenced.
2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
Make CONSTRUCTOR use VEC to store initializers.
* objc-act.c (objc_build_constructor): Use build_constructor_from_list
instead of build_constructor.
2005-07-08 Daniel Berlin <dberlin@dberlin.org>
* objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
removed.
* objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
(KEYWORD_KEY_NAME): Use decl_minimal.
(METHOD_SEL_NAME): Ditto..
(METHOD_SEL_ARGS): Use decl_non_common.
(METHOD_ADD_ARGS): Ditto.
(METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
(METHOD_DEFINITION): Ditto.
(METHOD_ENCODING): Ditto.
* objc-lang.c: (objc_init_ts): New function.
2005-07-07 Ziemowit Laski <zlaski@apple.com>
* 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-03 Kazu Hirata <kazu@codesourcery.com>
* Make-lang.in (cc1plus-checksum.c): Use
build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
* objc-act.c: Use %q to quote in diagnostics.
2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
* objc-act.c: Use '+' flag instead of %J. Use 'q' flag for
quoting.
2005-06-30 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_build_volatilized_type): New function.
(objc_volatilize_decl): Call objc_build_volatilized_type()
instead of build_qualified_type().
2005-06-29 Ziemowit Laski <zlaski@apple.com>
* 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-06-28 Paul Brook <paul@codesourcery.com>
* objc-act.c (objc_init_exceptions): Call
default_init_unwind_resume_libfunc.
2005-06-27 Ziemowit Laski <zlaski@apple.com>
* 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-25 Kelley Cook <kcook@gcc.gnu.org>
* all files: Update FSF address in copyright headers.
2005-06-15 Joseph S. Myers <joseph@codesourcery.com>
* objc-act.c (my_build_string_pointer): New.
(objc_get_class_reference, get_super_receiver): Call
my_build_string_pointer instead of my_build_string when building
function arguments.
2005-05-25 Mike Stump <mrs@mrs.kithrup.com>
* objc-act.c (volatilized_hash): Avoid warnings on 64-bit
machines.
2005-05-24 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_build_struct): New function.
(objc_derived_from_p): Likewise.
(objc_build_component_ref): Likewise.
(objc_copy_binfo): Likewise.
(objc_xref_basetypes): Likewise.
(objc_lookup_protocol): Likewise.
(objc_compare_protocols): Likewise.
(objc_volatilize_decl): Likewise.
(encode_aggregate_fields): Likewise.
(volatilized_hash): Likewise.
(volatilized_eq): Likewise.
(objc_compare_types): Likewise.
(objc_type_quals_match): Likewise.
(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-05-18 Geoffrey Keating <geoffk@apple.com>
* Make-lang.in (cc1obj-dummy): New.
(cc1obj-checksum.c): New.
(cc1obj-checksum.o): New.
(cc1obj): Add cc1obj-checksum.o.
2005-05-18 Mike Stump <mrs@apple.com>
PR objc/21641
* objc-act.c (struct interface_tuple): Mark it up for GC.
(interface_htab): It is really a struct interface_tuple.
2005-05-17 Ziemowit Laski <zlaski@apple.com>
Mike Stump <mrs@apple.com>
Yet more Objective-C++...
* objc-act.c (objc_finish_try_stmt): Add return value.
(objc_build_synchronized): Likewise.
* objc-act.c (objc_is_gcable_type): Add.
(objc_substitute_decl): Add.
(objc_build_ivar_assignment): Add.
(objc_build_global_assignment): Add.
(objc_build_strong_cast_assignment): Add.
(objc_is_ivar_reference_p): Add.
(objc_is_global_reference_p): Add.
(objc_generate_write_barrier): Add.
(objc_rewrite_function_call): Add.
(objc_gimplify_expr): Add Objective-C++ support.
* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
(SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Add.
(INIT_TYPE_OBJC_INFO): Add Objective-C++ support.
(DUP_TYPE_OBJC_INFO): Likewise.
(struct imp_entry): Add field has_cxx_cdtors.
(struct imp_entry *imp_list): Add OCTI_UMSG_FAST_DECL,
OCTI_METH_LIST_TEMPL, OCTI_METH_PROTO_LIST_TEMPL,
OCTI_IVAR_LIST_TEMPL, OCTI_ASSIGN_IVAR_DECL,
OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
OCTI_ASSIGN_STRONGCAST_DECL.
(umsg_fast_decl): Add.
(objc_assign_ivar_decl): Add.
(objc_assign_ivar_fast_decl): Add.
(objc_assign_global_decl): Add.
(objc_assign_strong_cast_decl): Add.
(objc_method_list_ptr): Add.
(objc_method_proto_list_ptr): Add.
(objc_ivar_list_ptr): Add.
* objc-act.c (should_call_super_dealloc): Add.
(OBJC_VERSION): Bump to 6.
(objc_is_gcable_type): Add.
(objc_substitute_decl): Add.
(objc_build_ivar_assignment): Add.
(objc_build_global_assignment): Add.
(objc_build_strong_cast_assignment): Add.
(objc_is_gcable_p): Add.
(objc_is_ivar_reference_p): Add.
(objc_is_global_reference_p): Add.
(generate_shared_structures): Add flags parameter.
(objc_generate_cxx_ctor_or_dtor): Add.
(objc_generate_cxx_cdtors): Add.
(add_class): Add name parameter.
(objc_types_share_size_and_alignment): Add.
(comp_proto_with_proto): Add strict parameter.
(CLS_HAS_CXX_STRUCTORS): Add.
(TAG_ASSIGNIVAR): Add.
(TAG_ASSIGNGLOBAL): Add.
(TAG_ASSIGNSTRONGCAST): Add.
(TAG_MSGSEND_FAST): Add.
(TAG_ASSIGNIVAR_FAST): Add.
(TAG_CXX_CONSTRUCT): Add.
(TAG_CXX_DESTRUCT): Add.
(OBJC_LOOKUP_CLASS): Add.
(OBJC_LOOKUP_NO_SUPER): Add.
(objc_finish_file): Add pch support.
(objc_finish_implementation): Add Objective-C++ support.
(synth_module_prologue): Likewise.
(synth_module_prologue): Add fast dispatching.
(objc_get_class_reference): Add Objective-C++ support.
(objc_generate_write_barrier): Likewise.
(next_sjlj_build_enter_and_setjmp): Likewise.
(objc_begin_try_stmt): Likewise.
(build_next_objc_exception_stuff): Add fast ivar support.
(build_private_template): Mark the record as used so debug
information is generated.
(build_protocol_template): Add Objective-C++ support.
(objc_method_parm_type) Likewise.
(objc_generate_cxx_ctor_or_dtor): Likewise.
(objc_generate_cxx_cdtors): Likewise.
(build_protocol_initializer): Likewise.
(build_category_template): Likewise.
(build_class_template): Likewise.
(build_method_list_template): Likewise.
(build_category_initializer): Likewise.
(build_shared_structure_initializer): Likewise.
(objc_finish_message_expr): Likewise.
(build_objc_method_call): Add fast dispatch support.
(lookup_method_static): Add support to end search at superclasses.
(add_method_to_hash_list): Add strict parameter to
comp_proto_with_proto.
(objc_add_method): Likewise.
(objc_add_method): Also set the interface_value.
(add_instance_variable): Add Objective-C++ support.
(objc_is_public): Likewise.
(start_class): Likewise.
(continue_class): Likewise.
(encode_aggregate_within): Likewise.
(start_method_def): Likewise.
(objc_start_function): Clear current_function_returns_value
and current_function_returns_null.
(really_start_method): Add Objective-C++ support.
(objc_finish_method_definition): Add warning for missing
[super dealloc].
(finish_objc): Add Objective-C++ support.
(generate_objc_image_info): Likewise.
(objc_lookup_ivar): Likewise.
* objc-act.h (TYPE_HAS_OBJC_INFO): Likewise.
(INIT_TYPE_OBJC_INFO): Likewise.
(DUP_TYPE_OBJC_INFO): Likewise.
2005-04-23 DJ Delorie <dj@redhat.com>
* objc-act.c: Adjust warning() callers.
2005-04-21 Roger Sayle <roger@eyesopen.com>
* objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
this field of an objc method decl.
* objc-act.c (build_method_decl): Take an additional "ellipsis"
argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
(objc_build_method_signature): Accept additional "ellipsis"
argument and pass it to build_method_decl.
(get_arg_type_list, start_method_def, gen_method_decl): Use
the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
TREE_OVERFLOW field of a TREE_LIST node.
2005-04-20 Joseph S. Myers <joseph@codesourcery.com>
PR c/12913
* objc-act.c (objc_start_function): Create stack level for context
of identifiers with variably modified type.
2005-03-30 Joseph S. Myers <joseph@codesourcery.com>
PR c/772
PR c/17913
* objc-act.c (objc_start_function): Push context on
label_context_stack.
2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
* objc-act.c (next_sjlj_build_enter_and_setjmp,
next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally):
Call c_common_truthvalue_conversion.
2005-02-25 Joseph S. Myers <joseph@codesourcery.com>
* Make-lang.in (objc/objc-parse.o-warn, objc/objc-parse.o,
objc/objc-parse.c, objc/objc-parse.y): Remove
(OBJC_OBJS, objc.srcextra, objc.tags, objc.mostlyclean,
objc.distclean, objc.maintainer-clean): Update for new parser.
* config-lang.in (gtfiles): Update for new parser.
2005-01-29 Kazu Hirata <kazu@cs.umass.edu>
* lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update
copyright.
2005-01-27 Matt Austern <austern@apple.com>
* objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before
calling instantiate_pending_templates.
2005-01-26 Alexander Malmberg <alexander@malmberg.org>
PR objc/18862
* objc-act.c (build_selector_translation_table): Use
input_location in the diagnostic for the GNU runtime or if
TREE_PURPOSE (chain) is NULL.
2005-01-25 Alexander Malmberg <alexander@malmberg.org>
PR objc/18408
* objc-act.c (objc_types_compatible_p): New function.
* objc-act.h (objc_types_compatible_p): Declare.
* objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
2005-01-16 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_push_parm): Call c_type_promotes_to()
via a lang-hook.
2005-01-15 Ziemowit Laski <zlaski@apple.com>
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-14 Mike Stump <mrs@apple.com>
* lang-specs.h ("@objective-c"): Use cc1obj when -E is used so
that -fobjc-exceptions is accepted.
2004-12-30 Ziemowit Laski <zlaski@apple.com>
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-12-15 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (build_private_template): Change to return 'void'; do
not set ivar_context, uprivate_record or objc_instance_type.
(objc_comptypes, gen_type_name_0): For types 'id' and 'Class',
retrieve protocol list from the pointee rather than the pointer itself;
check TYPE_HAS_OBJC_INFO(...) precondition before accessing
TYPE_OBJC_PROTOCOL_LIST.
(objc_get_protocol_qualified_type): For types 'id' and 'Class',
construct a variant of the pointee as well as the pointer, and
store protocol information in the former. When creating variants
of RECORD_TYPEs, clone their TYPE_LANG_SPECIFIC fields and propagate
TYPE_OBJC_INTERFACE information.
(objc_declare_class): If a TYPE_DECL is looked up, retrieve the
underlying RECORD_TYPE to check for presence of TYPE_OBJC_INTERFACE;
for newly-created RECORD_TYPEs, create a tentative TYPE_OBJC_INTERFACE
holding an IDENTIFIER_NODE.
(objc_finish_message_expr): Check TYPE_HAS_OBJC_INFO(...) before
accessing TYPE_OBJC_PROTOCOL_LIST; Use TYPE_OBJC_INTERFACE instead
of calling lookup_interface(); allow for TYPE_OBJC_INTERFACE holding
an IDENTIFIER_NODE (meaning a @class forward-declaration only).
(objc_is_public): Check TYPE_OBJC_INTERFACE instead of calling
lookup_interface().
(continue_class): For @implementations, set ivar_context,
uprivate_record and objc_instance_type, for @interfaces, call
build_private_template().
(encode_pointer): Check TYPE_HAS_OBJC_INFO(...) before accessing
TYPE_OBJC_INTERFACE.
(objc_types_are_equivalent): Check TYPE_HAS_OBJC_INFO(...) before
accessing TYPE_OBJC_PROTOCOL_LIST.
* objc-act.h (OBJC_INFO_SLOT_ELTS, TYPE_OBJC_INFO, INIT_TYPE_OBJC_INFO,
DUP_TYPE_OBJC_INFO, ALLOC_OBJC_TYPE_LANG_SPECIFIC,
SIZEOF_OBJC_TYPE_LANG_SPECIFIC): New macros.
(TYPE_OBJC_INTERFACE): Replaces TREE_STATIC_INSTANCE and now points
to an actual @interface; stored in TYPE_LANG_SPECIFIC(...).
(TYPE_OBJC_PROTOCOL_LIST): Replaces TYPE_PROTOCOL_LIST; stored in
TYPE_LANG_SPECIFIC(...).
(TREE_STATIC_INSTANCE, TYPE_PROTOCOL_LIST): Delete.
(IS_ID, IS_CLASS, IS_PROTOCOL_QUALIFIED_UNTYPED, IS_SUPER,
TYPED_OBJECT): Check for POINTER_TYPE rather than POINTER_TYPE_P;
adjust for use of TYPE_OBJC_INTERFACE and TYPE_OBJC_PROTOCOL_LIST
instead of TREE_STATIC_INSTANCE and TYPE_PROTOCOL_LIST.
2004-11-29 Joseph Myers <joseph@codesourcery.com>
PR c/7544
* Make-lang.in (objc/objc-act.o): Update dependencies.
* objc-act.c (objc_finish_file): Call
maybe_apply_pending_pragma_weaks if not OBJCPLUS.
2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/18406
* obj-act.c (encode_type): 96bits doubles are encoded the
same way as 64bit and 128bit doubles are.
2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
* objc-act.c: Use %q, %< and %> for quoting in diagnostics.
2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/16546
* objc-act.c (generate_method_descriptors): Remove setting
the new decls' type to variable_length_type.
(generate_ivar_lists): Likewise.
(generate_dispatch_tables): Likewise.
2004-10-30 Ziemowit Laski <zlaski@apple.com>
* 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-26 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (finish_class): Do not synthesize bogus
'extern objc_object *_Foo;' declarations for @interface Foo.
2004-10-25 Ziemowit Laski <zlaski@apple.com>
David Ayers <d.ayers@inode.at>
* objc-act.c (objc_comptypes): Use IS_PROTOCOL_QUALIFIED_UNTYPED
instead of IS_PROTOCOL_QUALIFIED_ID; add comparisons for:
'Class <Protocol> != id <Protocol>'; 'Class <Protocol> != <class> *';
'Class <Protocol> == id' and 'Class <Protocol> == Class'.
(objc_is_id): Add test for 'super'.
(objc_finish_message_expr): Allow for messaging of 'Class <Proto>'
receivers; if class methods are not found in protocol lists, search
for instance methods therein and warn if one is found. Look in
global hash tables for suitable method as a last resort when messaging
'id <Proto>', 'Class <Proto>' and invalid receiver types.
(objc_add_method): Insert instance methods listed in protocols into
the global class method hash table.
* objc-act.h (IS_PROTOCOL_QUALIFIED_ID): Rename to
IS_PROTOCOL_QUALIFIED_UNTYPED and allow for 'Class <Proto>' in
addition to 'id <Proto>'.
2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/17923
* objc-act.c (objc_build_string_object): Create a CONST_DECL
for the NeXT runtime case.
2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
* objc-act.c: Fix comment typos.
2004-09-24 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (init_objc_symtab, init_module_descriptor,
build_shared_structure_initializer): When initializing 'long'
fields, ensure that the initializer value is also 'long'.
2004-09-24 Zack Weinberg <zack@codesourcery.com>
* objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION
throughout.
(objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION.
(build_selector_translation_table): Use %J in diagnostic
instead of diddling input_line. Fix spelling.
2004-09-21 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_fold_objc_type_ref): New function.
* objc-act.h (objc_fold_objc_type_ref): New prototype.
2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
* objc-act.c (objc_start_function, really_start_method,
objc_get_parm_info, start_method_def): Update to new arg_info
structures.
2004-09-07 Ziemowit Laski <zlaski@apple.com>
* Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of
objc/objc-act.h.
(objc/objc-act.o): Depend on $(HASHTAB_H).
* objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and
objcp-decl.h instead of c-tree.h.
(build_module_descriptor, get_class_ivars, synth_id_with_class_suffix,
error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl,
build_protocol_template): Adjust prototypes.
(build_module_initializer_routine, start_class, continue_class,
finish_class, start_method_def, objc_start_function, start_protocol,
build_method_decl, objc_add_method, add_instance_variable,
build_ivar_reference, is_ivar, is_private, get_super_receiver,
build_selector_table_decl, objc_push_parm, objc_get_parm_info,
gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl,
create_field_decl): New prototypes.
(objc_expand_function_end, comp_method_with_proto, objc_expr_last,
gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl,
define_decl, create_builtin_decl, gen_declspecs): Remove prototypes.
(TYPE_ID): Rename to OBJECT_TYPEDEF_NAME.
(CLASS_TYPEDEF_NAME): New.
(TAG_EXECCLASS): Change from a global variable to a #define.
(TAG_RETURN_STRUCT): Delete.
(TAG_GNUINIT): New, holds '__objc_gnu_init' name.
(objc_inherit_code, objc_public_flag): New, moved from c-parse.in.
(string_descriptor): New struct.
(string_htab): New hash table.
(string_hash, string_eq): New prototypes.
(generate_struct_by_value_array): Call create_field_decl() instead of
create_builtin_decl().
(objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS;
In ObjC++ mode, call cxx_init() instead of c_objc_common_init().
(objc_finish_file): In ObjC++, call instantiate_pending_templates()
and cp_finish_file().
(define_decl, get_static_reference, get_protocol_reference,
create_builtin_decl): Remove functions.
(objc_start_class_interface, objc_start_category_interface,
objc_start_protocol, objc_continue_interface, objc_finish_interface,
objc_start_class_implementation, objc_start_category_implementation,
objc_continue_implementation, objc_finish_implementation,
objc_set_visibility, objc_set_method_type,
objc_build_method_signature, objc_add_method_declaration,
objc_start_method_definition, objc_add_instance_variable,
objc_get_protocol_qualified_type, create_field_decl,
start_var_decl, finish_var_decl): New functions.
(setup_string_decl): Simplify since it is only called once.
(synth_module_prologue): Call build_class_template(); predefine 'id'
and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug
hooks for duration of function; fix GNU runtime messenger signatures
to correspond to reality; forward-declare '__objc_exec_class' for the
GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate
'extern "C" { ... }' wrappers around synthesized declarations; call
build_protocol_template() and build_category_template().
(string_hash, string_eq): New functions.
(objc_build_string_object): Check metaclass correctness only once;
store string literals in hash table.
(objc_build_constructor): Do not convert initializer elements;
adjust for ObjC++ impedance mismatch.
(build_objc_symtab_template): Call create_field_decl() instead of
create_builtin_decl().
(init_objc_symtab): Add missing conversion to initializer element.
(build_metadata_decl): Call start_var_decl() instead of define_decl().
(generate_objc_symtab_decl): Do not call build_category_template();
call start_var_decl() and finish_var_decl() instead of start_decl()
and finish_decl().
(build_module_descriptor): Call create_field_decl() instead of
grokfield(); call start_var_decl() and finish_var_decl() instead of
start_decl() and finish_decl(); always mark module descriptor as
used; move GNU runtime-specific functionality to
build_module_initializer_routine().
(build_module_initializer_routine): New function, broken off of
build_module_descriptor().
(objc_static_init_needed_p, objc_generate_static_init_call): New
functions.
(generate_static_references, generate_strings,
build_selector_translation_table, generate_descriptor_table,
generate_ivars_list, generate_dispatch_table, generate_category): Call
start_var_decl() and finish_var_decl() instead of start_decl() and
finish_decl(); build a type directly instead of via groktypename().
(build_selector_reference_decl, build_selector_table_decl,
build_class_reference_decl, build_protocol_reference,
generate_objc_image_info): Call start_var_decl() instead of
build_decl().
(build_selector_reference): For GNU runtime, do not call
build_selector_reference_decl().
(build_selector, build_typed_selector_reference): Always convert
result to the selector type.
(add_objc_string): Cast return value to 'char *'.
(build_method_prototype_template, build_selector_template,
build_method_template): Use actual selector type for fields
pointing to selectors.
(finish_objc): For GNU runtime, call
build_module_initializer_routine() after build_module_descriptor().
(generate_protocol_list, generate_shared_structures): Call
start_var_decl() and finish_var_decl() instead of start_decl() and
finish_decl(); build a type directly instead of via
groktypename().
(synth_id_with_class_suffix): Return a string.
(get_arg_type_list): For instance methods, use the instance type for
'self'; do not call groktypename_in_parm_context().
(build_objc_string_decl): Squash redeclaration errors in ObjC++.
(objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME;
handle RECORD_TYPEs in ObjC as well as ObjC++.
(objc_is_id): New function.
(objc_is_object_ptr): Return the canonical type node.
(objc_get_class_ivars): Simplify using get_class_ivars().
(get_class_ivars): Remove second parameter; create a fresh copy
of the ivar list for each call; do not check for existence of
super class.
(objc_eh_runtime_type): Mark #ifndef OBJCPLUS.
(objc_init_exceptions): When using SJLJ-style exceptions, require
the use of '-fobjc-exceptions' flag; do not require it for DWARF-style
exceptions.
(objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use
objc_object_type instead of objc_id_type.
(objc_begin_catch_clause): Convert the incoming PARM_DECL into
a VAR_DECL before placing it in the appropriate scope; do not
call define_decl(); adjust call to c_begin_compound_stmt();
use objc_object_type instead of objc_id_type.
(build_next_objc_exception_stuff): Call create_field_decl() instead
of create_builtin_decl(); construct type directly instead of calling
groktypename(); use OBJC_VOID_AT_END to mark end of function parameters.
(build_private_template): Adjust call to get_class_ivars(); build
a type directly instead of via groktypename().
(build_protocol_template, build_method_prototype_list_template,
build_method_prototype_template, build_category_template,
build_selector_template, build_class_template, build_super_template,
build_ivar_template, build_ivar_list_template,
build_method_list_template, build_method_template):
Call create_field_decl() instead of grokfield().
(objc_method_parm_type): Do not call groktypename().
(generate_descriptor_table): Call start_var_decl() and
finish_var_decl() instead of start_decl() and finish_decl().
(generate_method_descriptors, build_protocol_initializer,
generate_dispatch_tables, build_category_initializer,
build_shared_structure_initializer): Do not call groktypename().
(generate_protocols): Call start_var_decl() and finish_var_decl()
instead of start_decl() and finish_decl(); do not call groktypename().
(error_with_ivar): Remove last parameter.
(check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition
to CLASS_IVARS lists; adjust calls to error_with_ivar().
(generate_ivar_lists): Convert one of the initializer elements; do
not call groktypename().
(get_arg_type_list, start_method_def, gen_method_def): Account for
new representation of variable arguments and '...' in Objective-C
methods; add Objective-C++ impedance matching code.
(is_objc_type_qualifier): Remove function.
(adjust_type_for_id_default): Simplify; there is no longer a need to
wade through declspecs.
(lookup_interface, start_class, continue_class,
finish_class, start_method_def, start_protocol, build_method_decl,
objc_add_method, add_instance_variable, build_ivar_reference,
is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue):
Make into static functions.
(receiver_is_class_object): Use new IS_CLASS() macro.
(objc_build_message_expr): Tweak ObjC++ message argument handling;
call objc_finish_message_expr() instead of finish_message_expr().
(finish_message_expr): Rename to objc_finish_message_expr(); use
OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME.
call gen_type_name() instead of gen_declaration(); call objc_is_id()
instead of using IS_ID and IS_CLASS; Use objc_class_name instead of
calling get_identifier("Class"); handle CONVERT_EXPRs in receiver.
(build_objc_method_call, warn_with_method): Do not call groktypename().
(build_ivar_reference): Call convert() instead of clobbering in a
type.
(hash_init): Initialize string_htab hash table.
(add_instance_variable): Simplify parameter list; do not call grokfield();
do not populate CLASS_IVARS list.
(start_class): Check for the existence of super class, if one was specified.
(continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not
call build_class_template(); adjust call to get_class_ivars(); call
build_decl(), pushdecl() and finish_decl() instead of define_decl().
(finish_class): Call build_decl(), pushdecl() and finish_decl() instead
of define_decl().
(add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size.
(start_protocol): Do not call build_protocol_template(); use
PROTOCOL_BINFO_ELTS for the tree vector size.
(encode_type_qualifiers): Do not handle the 'const' qualifier here.
(encode_pointer): Encode 'const char *' as 'r*', for backwards
compatibility.
(encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld".
(encode_type): Handle the 'const' qualifier here.
(objc_parmlist): New global variable, sued by objc_push_parm and
objc_get_parm_info().
(objc_push_parm, objc_get_parm_info): New functions.
(objc_expr_last): Remove function.
(synth_self_and_ucmd_args): For instance methods, use the instance
type for 'self'; call objc_push_parm() instead of push_parm_decl().
(start_method_def): Do not call push_scope(), declare_parm_level(),
pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last();
just use objc_push_parm() and objc_get_parm_info().
(comp_method_with_proto): Remove function.
(objc_types_are_equivalent): Strip away indirections before comparing
underlying types.
(comp_proto_with_proto): Do not call groktypename(); types are no
longer in raw declspec format.
(objc_start_function): New function.
(really_start_method): Call comp_proto_with_proto() instead of
comp_method_with_proto(); call objc_start_function() instead of
hand-crafting a function declarator.
(continue_method_def, objc_expand_function_end): Remove functions.
(get_super_receiver): Call objc_get_current_scope() instead of
get_current_scope(); reference 'super_class' field (instead of
'class').
(finish_method_def): Rename to objc_finish_method_definition() and
add a function decl parameter; move method encoding call from
objc_expand_function_end().
(is_complex_decl, adorn_decl, gen_declarator, gen_declspecs,
gen_declaration_1): Remove functions.
(tmpbuf, RAW_DECLSPEC): Remove.
(gen_declaration): Remove second parameter; simplify to deal
with TYPE_P nodes instead of raw declspecs.
(gen_type_name, gen_type_name_0): New functions.
(gen_method_decl): Remove second parameter; call gen_type_name()
instead of gen_declaration_1().
(dump_interface): Adjust calls to gen_declaration() and
gen_method_decl(); do not allocate a separate string buffer.
(init_objc): Allocate a larger string buffer to accommodate
dump_interface(); adjust call to build_module_descriptor();
add call to build_module_initializer_routine() for the GNU
runtime.
(generate_classref_translation_entry): Do not call start_decl(); call
finish_var_decl() instead of finish_decl(); call convert() instead of
build_c_cast().
* objc-act.h (CLASS_OWN_IVARS): Remove accessor.
(CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is
gone.
(OCTI_GNU_INIT_DECL, GNU_INIT_decl): New.
(OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove.
(OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME,
objc_object_type and objc_object_name, respectively.
(OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference,
objc_class_name): New.
(IS_CLASS): New macro.
(IS_ID, IS_SUPER): Robustify.
(OCTI_EXECCLASS_DECL, execclass_decl): New.
(finish_file, start_class, continue_class, finish_class,
start_method_def, continue_method_def, finish_method_def,
start_protocol, finish_protocol, objc_build_throw_stmt,
objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
objc_build_synchronized_epilogue, objc_build_try_prologue,
objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue,
objc_build_finally_prologue, objc_build_finally_epilogue,
is_ivar, is_private, is_public, add_instance_variable, objc_add_method,
get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name,
get_class_reference, get_static_reference, get_object_reference,
build_message_expr, finish_message_expr, build_selector_expr,
build_ivar_reference, build_keyword_decl, build_method_decl,
build_protocol_expr, build_objc_string_object, objc_declare_alias,
objc_declare_class, objc_declare_protocols, objc_comptypes,
objc_check_decl, build_encode_expr): Remove prototypes.
(imp_count, cat_count): Make GGC-aware.
(OBJC_SET_TYPE_NAME): New macro.
2004-09-03 Ziemowit Laski <zlaski@apple.com>
* config-lang.in: Update copyright notice.
(lang_requires): Indicate that ObjC requires C to be built first.
2004-09-01 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_check_decl): Use OBJC_TYPE_NAME macro instead of
TYPE_NAME.
(build_objc_string_object): Rename to objc_build_string_object().
(get_class_reference): Rename to objc_get_class_reference().
(get_class_ivars_from_name): Rename to objc_get_class_ivars().
(next_sjlj_build_catch_list, get_super_receiver): Call
objc_get_class_reference() instead of get_class_reference().
(build_keyword_decl): Rename to objc_build_keyword_decl().
(build_message_expr): Rename to objc_build_message_expr().
(build_protocol_expr): Rename to objc_build_protocol_expr().
(build_selector_expr): Rename to objc_build_selector_expr().
(build_encode_expr): Rename to objc_build_encode_expr().
* objc-act.h (get_class_ivars_from_name): Rename prototype to
objc_get_class_ivars().
(get_class_reference): Rename prototype to objc_get_class_reference().
(build_message_expr): Rename prototype to objc_build_message_expr().
(build_selector_expr): Rename prototype to objc_build_selector_expr().
(build_keyword_decl): Rename prototype to objc_build_keyword_decl().
(build_protocol_expr): Rename prototype to objc_build_prototype_expr().
(build_objc_string_object): Rename prototype to
objc_build_string_object().
2004-09-01 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (lookup_interface): Make function 'static' and add a
local prototype.
(objc_check_decl, get_class_reference, objc_declare_alias,
objc_declare_class, objc_is_object_ptr): Call objc_is_class_name()
instead of is_class_name().
(get_super_receiver, objc_clear_super_receiver): Call
objc_get_current_scope() instead of get_current_scope().
(is_class_name): Rename to objc_is_class_name.
(lookup_objc_ivar): Rename to objc_lookup_ivar.
2004-08-28 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_is_reserved_word): New function.
2004-08-15 Ziemowit Laski <zlaski@apple.com>
* Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H),
$(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h.
(objc/objc-parse.o): Do not depend on gtype-objc.h.
* objc-act.c: Do not include gtype-objc.h.
(finish_file): Rename to objc_finish_file().
* objc-act.h (finish_file): Update copyright notice; remove prototype.
* objc-lang.c: Update copyright notice; include diagnostic.h,
c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include
toplev.h.
(finish_file): New hook routine.
(LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
Move to c-objc-common.h.
Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
|