Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

    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
 1778
 1779
 1780
 1781
 1782
 1783
 1784
 1785
 1786
 1787
 1788
 1789
 1790
 1791
 1792
 1793
 1794
 1795
 1796
 1797
 1798
 1799
 1800
 1801
 1802
 1803
 1804
 1805
 1806
 1807
 1808
 1809
 1810
 1811
 1812
 1813
 1814
 1815
 1816
 1817
 1818
 1819
 1820
 1821
 1822
 1823
 1824
 1825
 1826
 1827
 1828
 1829
 1830
 1831
 1832
 1833
 1834
 1835
 1836
 1837
 1838
 1839
 1840
 1841
 1842
 1843
 1844
 1845
 1846
 1847
 1848
 1849
 1850
 1851
 1852
 1853
 1854
 1855
 1856
 1857
 1858
 1859
 1860
 1861
 1862
 1863
 1864
 1865
 1866
 1867
 1868
 1869
 1870
 1871
 1872
 1873
 1874
 1875
 1876
 1877
 1878
 1879
 1880
 1881
 1882
 1883
 1884
 1885
 1886
 1887
 1888
 1889
 1890
 1891
 1892
 1893
 1894
 1895
 1896
 1897
 1898
 1899
 1900
 1901
 1902
 1903
 1904
 1905
 1906
 1907
 1908
 1909
 1910
 1911
 1912
 1913
 1914
 1915
 1916
 1917
 1918
 1919
 1920
 1921
 1922
 1923
 1924
 1925
 1926
 1927
 1928
 1929
 1930
 1931
 1932
 1933
 1934
 1935
 1936
 1937
 1938
 1939
 1940
 1941
 1942
 1943
 1944
 1945
 1946
 1947
 1948
 1949
 1950
 1951
 1952
 1953
 1954
 1955
 1956
 1957
 1958
 1959
 1960
 1961
 1962
 1963
 1964
 1965
 1966
 1967
 1968
 1969
 1970
 1971
 1972
 1973
 1974
 1975
 1976
 1977
 1978
 1979
 1980
 1981
 1982
 1983
 1984
 1985
 1986
 1987
 1988
 1989
 1990
 1991
 1992
 1993
 1994
 1995
 1996
 1997
 1998
 1999
 2000
 2001
 2002
 2003
 2004
 2005
 2006
 2007
 2008
 2009
 2010
 2011
 2012
 2013
 2014
 2015
 2016
 2017
 2018
 2019
 2020
 2021
 2022
 2023
 2024
 2025
 2026
 2027
 2028
 2029
 2030
 2031
 2032
 2033
 2034
 2035
 2036
 2037
 2038
 2039
 2040
 2041
 2042
 2043
 2044
 2045
 2046
 2047
 2048
 2049
 2050
 2051
 2052
 2053
 2054
 2055
 2056
 2057
 2058
 2059
 2060
 2061
 2062
 2063
 2064
 2065
 2066
 2067
 2068
 2069
 2070
 2071
 2072
 2073
 2074
 2075
 2076
 2077
 2078
 2079
 2080
 2081
 2082
 2083
 2084
 2085
 2086
 2087
 2088
 2089
 2090
 2091
 2092
 2093
 2094
 2095
 2096
 2097
 2098
 2099
 2100
 2101
 2102
 2103
 2104
 2105
 2106
 2107
 2108
 2109
 2110
 2111
 2112
 2113
 2114
 2115
 2116
 2117
 2118
 2119
 2120
 2121
 2122
 2123
 2124
 2125
 2126
 2127
 2128
 2129
 2130
 2131
 2132
 2133
 2134
 2135
 2136
 2137
 2138
 2139
 2140
 2141
 2142
 2143
 2144
 2145
 2146
 2147
 2148
 2149
 2150
 2151
 2152
 2153
 2154
 2155
 2156
 2157
 2158
 2159
 2160
 2161
 2162
 2163
 2164
 2165
 2166
 2167
 2168
 2169
 2170
 2171
 2172
 2173
 2174
 2175
 2176
 2177
 2178
 2179
 2180
 2181
 2182
 2183
 2184
 2185
 2186
 2187
 2188
 2189
 2190
 2191
 2192
 2193
 2194
 2195
 2196
 2197
 2198
 2199
 2200
 2201
 2202
 2203
 2204
 2205
 2206
 2207
 2208
 2209
 2210
 2211
 2212
 2213
 2214
 2215
 2216
 2217
 2218
 2219
 2220
 2221
 2222
 2223
 2224
 2225
 2226
 2227
 2228
 2229
 2230
 2231
 2232
 2233
 2234
 2235
 2236
 2237
 2238
 2239
 2240
 2241
 2242
 2243
 2244
 2245
 2246
 2247
 2248
 2249
 2250
 2251
 2252
 2253
 2254
 2255
 2256
 2257
 2258
 2259
 2260
 2261
 2262
 2263
 2264
 2265
 2266
 2267
 2268
 2269
 2270
 2271
 2272
 2273
 2274
 2275
 2276
 2277
 2278
 2279
 2280
 2281
 2282
 2283
 2284
 2285
 2286
 2287
 2288
 2289
 2290
 2291
 2292
 2293
 2294
 2295
 2296
 2297
 2298
 2299
 2300
 2301
 2302
 2303
 2304
 2305
 2306
 2307
 2308
 2309
 2310
 2311
 2312
 2313
 2314
 2315
 2316
 2317
 2318
 2319
 2320
 2321
 2322
 2323
 2324
 2325
 2326
 2327
 2328
 2329
 2330
 2331
 2332
 2333
 2334
 2335
 2336
 2337
 2338
 2339
 2340
 2341
 2342
 2343
 2344
 2345
 2346
 2347
 2348
 2349
 2350
 2351
 2352
 2353
 2354
 2355
 2356
 2357
 2358
 2359
 2360
 2361
 2362
 2363
 2364
 2365
 2366
 2367
 2368
 2369
 2370
 2371
 2372
 2373
 2374
 2375
 2376
 2377
 2378
 2379
 2380
 2381
 2382
 2383
 2384
 2385
 2386
 2387
 2388
 2389
 2390
 2391
 2392
 2393
 2394
 2395
 2396
 2397
 2398
 2399
 2400
 2401
 2402
 2403
 2404
 2405
 2406
 2407
 2408
 2409
 2410
 2411
 2412
 2413
 2414
 2415
 2416
 2417
 2418
 2419
 2420
 2421
 2422
 2423
 2424
 2425
 2426
 2427
 2428
 2429
 2430
 2431
 2432
 2433
 2434
 2435
 2436
 2437
 2438
 2439
 2440
 2441
 2442
 2443
 2444
 2445
 2446
 2447
 2448
 2449
 2450
 2451
 2452
 2453
 2454
 2455
 2456
 2457
 2458
 2459
 2460
 2461
 2462
 2463
 2464
 2465
 2466
 2467
 2468
 2469
 2470
 2471
 2472
 2473
 2474
 2475
 2476
 2477
 2478
 2479
 2480
 2481
 2482
 2483
 2484
 2485
 2486
 2487
 2488
 2489
 2490
 2491
 2492
 2493
 2494
 2495
 2496
 2497
 2498
 2499
 2500
 2501
 2502
 2503
 2504
 2505
 2506
 2507
 2508
 2509
 2510
 2511
 2512
 2513
 2514
 2515
 2516
 2517
 2518
 2519
 2520
 2521
 2522
 2523
 2524
 2525
 2526
 2527
 2528
 2529
 2530
 2531
 2532
 2533
 2534
 2535
 2536
 2537
 2538
 2539
 2540
 2541
 2542
 2543
 2544
 2545
 2546
 2547
 2548
 2549
 2550
 2551
 2552
 2553
 2554
 2555
 2556
 2557
 2558
 2559
 2560
 2561
 2562
 2563
 2564
 2565
 2566
 2567
 2568
 2569
 2570
 2571
 2572
 2573
 2574
 2575
 2576
 2577
 2578
 2579
 2580
 2581
 2582
 2583
 2584
 2585
 2586
 2587
 2588
 2589
 2590
 2591
 2592
 2593
 2594
 2595
 2596
 2597
 2598
 2599
 2600
 2601
 2602
 2603
 2604
 2605
 2606
 2607
 2608
 2609
 2610
 2611
 2612
 2613
 2614
 2615
 2616
 2617
 2618
 2619
 2620
 2621
 2622
 2623
 2624
 2625
 2626
 2627
 2628
 2629
 2630
 2631
 2632
 2633
 2634
 2635
 2636
 2637
 2638
 2639
 2640
 2641
 2642
 2643
 2644
 2645
 2646
 2647
 2648
 2649
 2650
 2651
 2652
 2653
 2654
 2655
 2656
 2657
 2658
 2659
 2660
 2661
 2662
 2663
 2664
 2665
 2666
 2667
 2668
 2669
 2670
 2671
 2672
 2673
 2674
 2675
 2676
 2677
 2678
 2679
 2680
 2681
 2682
 2683
 2684
 2685
 2686
 2687
 2688
 2689
 2690
 2691
 2692
 2693
 2694
 2695
 2696
 2697
 2698
 2699
 2700
 2701
 2702
 2703
 2704
 2705
 2706
 2707
 2708
 2709
 2710
 2711
 2712
 2713
 2714
 2715
 2716
 2717
 2718
 2719
 2720
 2721
 2722
 2723
 2724
 2725
 2726
 2727
 2728
 2729
 2730
 2731
 2732
 2733
 2734
 2735
 2736
 2737
 2738
 2739
 2740
 2741
 2742
 2743
 2744
 2745
 2746
 2747
 2748
 2749
 2750
 2751
 2752
 2753
 2754
 2755
 2756
 2757
 2758
 2759
 2760
 2761
 2762
 2763
 2764
 2765
 2766
 2767
 2768
 2769
 2770
 2771
 2772
 2773
 2774
 2775
 2776
 2777
 2778
 2779
 2780
 2781
 2782
 2783
 2784
 2785
 2786
 2787
 2788
 2789
 2790
 2791
 2792
 2793
 2794
 2795
 2796
 2797
 2798
 2799
 2800
 2801
 2802
 2803
 2804
 2805
 2806
 2807
 2808
 2809
 2810
 2811
 2812
 2813
 2814
 2815
 2816
 2817
 2818
 2819
 2820
 2821
 2822
 2823
 2824
 2825
 2826
 2827
 2828
 2829
 2830
 2831
 2832
 2833
 2834
 2835
 2836
 2837
 2838
 2839
 2840
 2841
 2842
 2843
 2844
 2845
 2846
 2847
 2848
 2849
 2850
 2851
 2852
 2853
 2854
 2855
 2856
 2857
 2858
 2859
 2860
 2861
 2862
 2863
 2864
 2865
 2866
 2867
 2868
 2869
 2870
 2871
 2872
 2873
 2874
 2875
 2876
 2877
 2878
 2879
 2880
 2881
 2882
 2883
 2884
 2885
 2886
 2887
 2888
 2889
 2890
 2891
 2892
 2893
 2894
 2895
 2896
 2897
 2898
 2899
 2900
 2901
 2902
 2903
 2904
 2905
 2906
 2907
 2908
 2909
 2910
 2911
 2912
 2913
 2914
 2915
 2916
 2917
 2918
 2919
 2920
 2921
 2922
 2923
 2924
 2925
 2926
 2927
 2928
 2929
 2930
 2931
 2932
 2933
 2934
 2935
 2936
 2937
 2938
 2939
 2940
 2941
 2942
 2943
 2944
 2945
 2946
 2947
 2948
 2949
 2950
 2951
 2952
 2953
 2954
 2955
 2956
 2957
 2958
 2959
 2960
 2961
 2962
 2963
 2964
 2965
 2966
 2967
 2968
 2969
 2970
 2971
 2972
 2973
 2974
 2975
 2976
 2977
 2978
 2979
 2980
 2981
 2982
 2983
 2984
 2985
 2986
 2987
 2988
 2989
 2990
 2991
 2992
 2993
 2994
 2995
 2996
 2997
 2998
 2999
 3000
 3001
 3002
 3003
 3004
 3005
 3006
 3007
 3008
 3009
 3010
 3011
 3012
 3013
 3014
 3015
 3016
 3017
 3018
 3019
 3020
 3021
 3022
 3023
 3024
 3025
 3026
 3027
 3028
 3029
 3030
 3031
 3032
 3033
 3034
 3035
 3036
 3037
 3038
 3039
 3040
 3041
 3042
 3043
 3044
 3045
 3046
 3047
 3048
 3049
 3050
 3051
 3052
 3053
 3054
 3055
 3056
 3057
 3058
 3059
 3060
 3061
 3062
 3063
 3064
 3065
 3066
 3067
 3068
 3069
 3070
 3071
 3072
 3073
 3074
 3075
 3076
 3077
 3078
 3079
 3080
 3081
 3082
 3083
 3084
 3085
 3086
 3087
 3088
 3089
 3090
 3091
 3092
 3093
 3094
 3095
 3096
 3097
 3098
 3099
 3100
 3101
 3102
 3103
 3104
 3105
 3106
 3107
 3108
 3109
 3110
 3111
 3112
 3113
 3114
 3115
 3116
 3117
 3118
 3119
 3120
 3121
 3122
 3123
 3124
 3125
 3126
 3127
 3128
 3129
 3130
 3131
 3132
 3133
 3134
 3135
 3136
 3137
 3138
 3139
 3140
 3141
 3142
 3143
 3144
 3145
 3146
 3147
 3148
 3149
 3150
 3151
 3152
 3153
 3154
 3155
 3156
 3157
 3158
 3159
 3160
 3161
 3162
 3163
 3164
 3165
 3166
 3167
 3168
 3169
 3170
 3171
 3172
 3173
 3174
 3175
 3176
 3177
 3178
 3179
 3180
 3181
 3182
 3183
 3184
 3185
 3186
 3187
 3188
 3189
 3190
 3191
 3192
 3193
 3194
 3195
 3196
 3197
 3198
 3199
 3200
 3201
 3202
 3203
 3204
 3205
 3206
 3207
 3208
 3209
 3210
 3211
 3212
 3213
 3214
 3215
 3216
 3217
 3218
 3219
 3220
 3221
 3222
 3223
 3224
 3225
 3226
 3227
 3228
 3229
 3230
 3231
 3232
 3233
 3234
 3235
 3236
 3237
 3238
 3239
 3240
 3241
 3242
 3243
 3244
 3245
 3246
 3247
 3248
 3249
 3250
 3251
 3252
 3253
 3254
 3255
 3256
 3257
 3258
 3259
 3260
 3261
 3262
 3263
 3264
 3265
 3266
 3267
 3268
 3269
 3270
 3271
 3272
 3273
 3274
 3275
 3276
 3277
 3278
 3279
 3280
 3281
 3282
 3283
 3284
 3285
 3286
 3287
 3288
 3289
 3290
 3291
 3292
 3293
 3294
 3295
 3296
 3297
 3298
 3299
 3300
 3301
 3302
 3303
 3304
 3305
 3306
 3307
 3308
 3309
 3310
 3311
 3312
 3313
 3314
 3315
 3316
 3317
 3318
 3319
 3320
 3321
 3322
 3323
 3324
 3325
 3326
 3327
 3328
 3329
 3330
 3331
 3332
 3333
 3334
 3335
 3336
 3337
 3338
 3339
 3340
 3341
 3342
 3343
 3344
 3345
 3346
 3347
 3348
 3349
 3350
 3351
 3352
 3353
 3354
 3355
 3356
 3357
 3358
 3359
 3360
 3361
 3362
 3363
 3364
 3365
 3366
 3367
 3368
 3369
 3370
 3371
 3372
 3373
 3374
 3375
 3376
 3377
 3378
 3379
 3380
 3381
 3382
 3383
 3384
 3385
 3386
 3387
 3388
 3389
 3390
 3391
 3392
 3393
 3394
 3395
 3396
 3397
 3398
 3399
 3400
 3401
 3402
 3403
 3404
 3405
 3406
 3407
 3408
 3409
 3410
 3411
 3412
 3413
 3414
 3415
 3416
 3417
 3418
 3419
 3420
 3421
 3422
 3423
 3424
 3425
 3426
 3427
 3428
 3429
 3430
 3431
 3432
 3433
 3434
 3435
 3436
 3437
 3438
 3439
 3440
 3441
 3442
 3443
 3444
 3445
 3446
 3447
 3448
 3449
 3450
 3451
 3452
 3453
 3454
 3455
 3456
 3457
 3458
 3459
 3460
 3461
 3462
 3463
 3464
 3465
 3466
 3467
 3468
 3469
 3470
 3471
 3472
 3473
 3474
 3475
 3476
 3477
 3478
 3479
 3480
 3481
 3482
 3483
 3484
 3485
 3486
 3487
 3488
 3489
 3490
 3491
 3492
 3493
 3494
 3495
 3496
 3497
 3498
 3499
 3500
 3501
 3502
 3503
 3504
 3505
 3506
 3507
 3508
 3509
 3510
 3511
 3512
 3513
 3514
 3515
 3516
 3517
 3518
 3519
 3520
 3521
 3522
 3523
 3524
 3525
 3526
 3527
 3528
 3529
 3530
 3531
 3532
 3533
 3534
 3535
 3536
 3537
 3538
 3539
 3540
 3541
 3542
 3543
 3544
 3545
 3546
 3547
 3548
 3549
 3550
 3551
 3552
 3553
 3554
 3555
 3556
 3557
 3558
 3559
 3560
 3561
 3562
 3563
 3564
 3565
 3566
 3567
 3568
 3569
 3570
 3571
 3572
 3573
 3574
 3575
 3576
 3577
 3578
 3579
 3580
 3581
 3582
 3583
 3584
 3585
 3586
 3587
 3588
 3589
 3590
 3591
 3592
 3593
 3594
 3595
 3596
 3597
 3598
 3599
 3600
 3601
 3602
 3603
 3604
 3605
 3606
 3607
 3608
 3609
 3610
 3611
 3612
 3613
 3614
 3615
 3616
 3617
 3618
 3619
 3620
 3621
 3622
 3623
 3624
 3625
 3626
 3627
 3628
 3629
 3630
 3631
 3632
 3633
 3634
 3635
 3636
 3637
 3638
 3639
 3640
 3641
 3642
 3643
 3644
 3645
 3646
 3647
 3648
 3649
 3650
 3651
 3652
 3653
 3654
 3655
 3656
 3657
 3658
 3659
 3660
 3661
 3662
 3663
 3664
 3665
 3666
 3667
 3668
 3669
 3670
 3671
 3672
 3673
 3674
 3675
 3676
 3677
 3678
 3679
 3680
 3681
 3682
 3683
 3684
 3685
 3686
 3687
 3688
 3689
 3690
 3691
 3692
 3693
 3694
 3695
 3696
 3697
 3698
 3699
 3700
 3701
 3702
 3703
 3704
 3705
 3706
 3707
 3708
 3709
 3710
 3711
 3712
 3713
 3714
 3715
 3716
 3717
 3718
 3719
 3720
 3721
 3722
 3723
 3724
 3725
 3726
 3727
 3728
 3729
 3730
 3731
 3732
 3733
 3734
 3735
 3736
 3737
 3738
 3739
 3740
 3741
 3742
 3743
 3744
 3745
 3746
 3747
 3748
 3749
 3750
 3751
 3752
 3753
 3754
 3755
 3756
 3757
 3758
 3759
 3760
 3761
 3762
 3763
 3764
 3765
 3766
 3767
 3768
 3769
 3770
 3771
 3772
 3773
 3774
 3775
 3776
 3777
 3778
 3779
 3780
 3781
 3782
 3783
 3784
 3785
 3786
 3787
 3788
 3789
 3790
 3791
 3792
 3793
 3794
 3795
 3796
 3797
 3798
 3799
 3800
 3801
 3802
 3803
 3804
 3805
 3806
 3807
 3808
 3809
 3810
 3811
 3812
 3813
 3814
 3815
 3816
 3817
 3818
 3819
 3820
 3821
 3822
 3823
 3824
 3825
 3826
 3827
 3828
 3829
 3830
 3831
 3832
 3833
 3834
 3835
 3836
 3837
 3838
 3839
 3840
 3841
 3842
 3843
 3844
 3845
 3846
 3847
 3848
 3849
 3850
 3851
 3852
 3853
 3854
 3855
 3856
 3857
 3858
 3859
 3860
 3861
 3862
 3863
 3864
 3865
 3866
 3867
 3868
 3869
 3870
 3871
 3872
 3873
 3874
 3875
 3876
 3877
 3878
 3879
 3880
 3881
 3882
 3883
 3884
 3885
 3886
 3887
 3888
 3889
 3890
 3891
 3892
 3893
 3894
 3895
 3896
 3897
 3898
 3899
 3900
 3901
 3902
 3903
 3904
 3905
 3906
 3907
 3908
 3909
 3910
 3911
 3912
 3913
 3914
 3915
 3916
 3917
 3918
 3919
 3920
 3921
 3922
 3923
 3924
 3925
 3926
 3927
 3928
 3929
 3930
 3931
 3932
 3933
 3934
 3935
 3936
 3937
 3938
 3939
 3940
 3941
 3942
 3943
 3944
 3945
 3946
 3947
 3948
 3949
 3950
 3951
 3952
 3953
 3954
 3955
 3956
 3957
 3958
 3959
 3960
 3961
 3962
 3963
 3964
 3965
 3966
 3967
 3968
 3969
 3970
 3971
 3972
 3973
 3974
 3975
 3976
 3977
 3978
 3979
 3980
 3981
 3982
 3983
 3984
 3985
 3986
 3987
 3988
 3989
 3990
 3991
 3992
 3993
 3994
 3995
 3996
 3997
 3998
 3999
 4000
 4001
 4002
 4003
 4004
 4005
 4006
 4007
 4008
 4009
 4010
 4011
 4012
 4013
 4014
 4015
 4016
 4017
 4018
 4019
 4020
 4021
 4022
 4023
 4024
 4025
 4026
 4027
 4028
 4029
 4030
 4031
 4032
 4033
 4034
 4035
 4036
 4037
 4038
 4039
 4040
 4041
 4042
 4043
 4044
 4045
 4046
 4047
 4048
 4049
 4050
 4051
 4052
 4053
 4054
 4055
 4056
 4057
 4058
 4059
 4060
 4061
 4062
 4063
 4064
 4065
 4066
 4067
 4068
 4069
 4070
 4071
 4072
 4073
 4074
 4075
 4076
 4077
 4078
 4079
 4080
 4081
 4082
 4083
 4084
 4085
 4086
 4087
 4088
 4089
 4090
 4091
 4092
 4093
 4094
 4095
 4096
 4097
 4098
 4099
 4100
 4101
 4102
 4103
 4104
 4105
 4106
 4107
 4108
 4109
 4110
 4111
 4112
 4113
 4114
 4115
 4116
 4117
 4118
 4119
 4120
 4121
 4122
 4123
 4124
 4125
 4126
 4127
 4128
 4129
 4130
 4131
 4132
 4133
 4134
 4135
 4136
 4137
 4138
 4139
 4140
 4141
 4142
 4143
 4144
 4145
 4146
 4147
 4148
 4149
 4150
 4151
 4152
 4153
 4154
 4155
 4156
 4157
 4158
 4159
 4160
 4161
 4162
 4163
 4164
 4165
 4166
 4167
 4168
 4169
 4170
 4171
 4172
 4173
 4174
 4175
 4176
 4177
 4178
 4179
 4180
 4181
 4182
 4183
 4184
 4185
 4186
 4187
 4188
 4189
 4190
 4191
 4192
 4193
 4194
 4195
 4196
 4197
 4198
 4199
 4200
 4201
 4202
 4203
 4204
 4205
 4206
 4207
 4208
 4209
 4210
 4211
 4212
 4213
 4214
 4215
 4216
 4217
 4218
 4219
 4220
 4221
 4222
 4223
 4224
 4225
 4226
 4227
 4228
 4229
 4230
 4231
 4232
 4233
 4234
 4235
 4236
 4237
 4238
 4239
 4240
 4241
 4242
 4243
 4244
 4245
 4246
 4247
 4248
 4249
 4250
 4251
 4252
 4253
 4254
 4255
 4256
 4257
 4258
 4259
 4260
 4261
 4262
 4263
 4264
 4265
 4266
 4267
 4268
 4269
 4270
 4271
 4272
 4273
 4274
 4275
 4276
 4277
 4278
 4279
 4280
 4281
 4282
 4283
 4284
 4285
 4286
 4287
 4288
 4289
 4290
 4291
 4292
 4293
 4294
 4295
 4296
 4297
 4298
 4299
 4300
 4301
 4302
 4303
 4304
 4305
 4306
 4307
 4308
 4309
 4310
 4311
 4312
 4313
 4314
 4315
 4316
 4317
 4318
 4319
 4320
 4321
 4322
 4323
 4324
 4325
 4326
 4327
 4328
 4329
 4330
 4331
 4332
 4333
 4334
 4335
 4336
 4337
 4338
 4339
 4340
 4341
 4342
 4343
 4344
 4345
 4346
 4347
 4348
 4349
 4350
 4351
 4352
 4353
 4354
 4355
 4356
 4357
 4358
 4359
 4360
 4361
 4362
 4363
 4364
 4365
 4366
 4367
 4368
 4369
 4370
 4371
 4372
 4373
 4374
 4375
 4376
 4377
 4378
 4379
 4380
 4381
 4382
 4383
 4384
 4385
 4386
 4387
 4388
 4389
 4390
 4391
 4392
 4393
 4394
 4395
 4396
 4397
 4398
 4399
 4400
 4401
 4402
 4403
 4404
 4405
 4406
 4407
 4408
 4409
 4410
 4411
 4412
 4413
 4414
 4415
 4416
 4417
 4418
 4419
 4420
 4421
 4422
 4423
 4424
 4425
 4426
 4427
 4428
 4429
 4430
 4431
 4432
 4433
 4434
 4435
 4436
 4437
 4438
 4439
 4440
 4441
 4442
 4443
 4444
 4445
 4446
 4447
 4448
 4449
 4450
 4451
 4452
 4453
 4454
 4455
 4456
 4457
 4458
 4459
 4460
 4461
 4462
 4463
 4464
 4465
 4466
 4467
 4468
 4469
 4470
 4471
 4472
 4473
 4474
 4475
 4476
 4477
 4478
 4479
 4480
 4481
 4482
 4483
 4484
 4485
 4486
 4487
 4488
 4489
 4490
 4491
 4492
 4493
 4494
 4495
 4496
 4497
 4498
 4499
 4500
 4501
 4502
 4503
 4504
 4505
 4506
 4507
 4508
 4509
 4510
 4511
 4512
 4513
 4514
 4515
 4516
 4517
 4518
 4519
 4520
 4521
 4522
 4523
 4524
 4525
 4526
 4527
 4528
 4529
 4530
 4531
 4532
 4533
 4534
 4535
 4536
 4537
 4538
 4539
 4540
 4541
 4542
 4543
 4544
 4545
 4546
 4547
 4548
 4549
 4550
 4551
 4552
 4553
 4554
 4555
 4556
 4557
 4558
 4559
 4560
 4561
 4562
 4563
 4564
 4565
 4566
 4567
 4568
 4569
 4570
 4571
 4572
 4573
 4574
 4575
 4576
 4577
 4578
 4579
 4580
 4581
 4582
 4583
 4584
 4585
 4586
 4587
 4588
 4589
 4590
 4591
 4592
 4593
 4594
 4595
 4596
 4597
 4598
 4599
 4600
 4601
 4602
 4603
 4604
 4605
 4606
 4607
 4608
 4609
 4610
 4611
 4612
 4613
 4614
 4615
 4616
 4617
 4618
 4619
 4620
 4621
 4622
 4623
 4624
 4625
 4626
 4627
 4628
 4629
 4630
 4631
 4632
 4633
 4634
 4635
 4636
 4637
 4638
 4639
 4640
 4641
 4642
 4643
 4644
 4645
 4646
 4647
 4648
 4649
 4650
 4651
 4652
 4653
 4654
 4655
 4656
 4657
 4658
 4659
 4660
 4661
 4662
 4663
 4664
 4665
 4666
 4667
 4668
 4669
 4670
 4671
 4672
 4673
 4674
 4675
 4676
 4677
 4678
 4679
 4680
 4681
 4682
 4683
 4684
 4685
 4686
 4687
 4688
 4689
 4690
 4691
 4692
 4693
 4694
 4695
 4696
 4697
 4698
 4699
 4700
 4701
 4702
 4703
 4704
 4705
 4706
 4707
 4708
 4709
 4710
 4711
 4712
 4713
 4714
 4715
 4716
 4717
 4718
 4719
 4720
 4721
 4722
 4723
 4724
 4725
 4726
 4727
 4728
 4729
 4730
 4731
 4732
 4733
 4734
 4735
 4736
 4737
 4738
 4739
 4740
 4741
 4742
 4743
 4744
 4745
 4746
 4747
 4748
 4749
 4750
 4751
 4752
 4753
 4754
 4755
 4756
 4757
 4758
 4759
 4760
 4761
 4762
 4763
 4764
 4765
 4766
 4767
 4768
 4769
 4770
 4771
 4772
 4773
 4774
 4775
 4776
 4777
 4778
 4779
 4780
 4781
 4782
 4783
 4784
 4785
 4786
 4787
 4788
 4789
 4790
 4791
 4792
 4793
 4794
 4795
 4796
 4797
 4798
 4799
 4800
 4801
 4802
 4803
 4804
 4805
 4806
 4807
 4808
 4809
 4810
 4811
 4812
 4813
 4814
 4815
 4816
 4817
 4818
 4819
 4820
 4821
 4822
 4823
 4824
 4825
 4826
 4827
 4828
 4829
 4830
 4831
 4832
 4833
 4834
 4835
 4836
 4837
 4838
 4839
 4840
 4841
 4842
 4843
 4844
 4845
 4846
 4847
 4848
 4849
 4850
 4851
 4852
 4853
 4854
 4855
 4856
 4857
 4858
 4859
 4860
 4861
 4862
 4863
 4864
 4865
 4866
 4867
 4868
 4869
 4870
 4871
 4872
 4873
 4874
 4875
 4876
 4877
 4878
 4879
 4880
 4881
 4882
 4883
 4884
 4885
 4886
 4887
 4888
 4889
 4890
 4891
 4892
 4893
 4894
 4895
 4896
 4897
 4898
 4899
 4900
 4901
 4902
 4903
 4904
 4905
 4906
 4907
 4908
 4909
 4910
 4911
 4912
 4913
 4914
 4915
 4916
 4917
 4918
 4919
 4920
 4921
 4922
 4923
 4924
 4925
 4926
 4927
 4928
 4929
 4930
 4931
 4932
 4933
 4934
 4935
 4936
 4937
 4938
 4939
 4940
 4941
 4942
 4943
 4944
 4945
 4946
 4947
 4948
 4949
 4950
 4951
 4952
 4953
 4954
 4955
 4956
 4957
 4958
 4959
 4960
 4961
 4962
 4963
 4964
 4965
 4966
 4967
 4968
 4969
 4970
 4971
 4972
 4973
 4974
 4975
 4976
 4977
 4978
 4979
 4980
 4981
 4982
 4983
 4984
 4985
 4986
 4987
 4988
 4989
 4990
 4991
 4992
 4993
 4994
 4995
 4996
 4997
 4998
 4999
 5000
 5001
 5002
 5003
 5004
 5005
 5006
 5007
 5008
 5009
 5010
 5011
 5012
 5013
 5014
 5015
 5016
 5017
 5018
 5019
 5020
 5021
 5022
 5023
 5024
 5025
 5026
 5027
 5028
 5029
 5030
 5031
 5032
 5033
 5034
 5035
 5036
 5037
 5038
 5039
 5040
 5041
 5042
 5043
 5044
 5045
 5046
 5047
 5048
 5049
 5050
 5051
 5052
 5053
 5054
 5055
 5056
 5057
 5058
 5059
 5060
 5061
 5062
 5063
 5064
 5065
 5066
 5067
 5068
 5069
 5070
 5071
 5072
 5073
 5074
 5075
 5076
 5077
 5078
 5079
 5080
 5081
 5082
 5083
 5084
 5085
 5086
 5087
 5088
 5089
 5090
 5091
 5092
 5093
 5094
 5095
 5096
 5097
 5098
 5099
 5100
 5101
 5102
 5103
 5104
 5105
 5106
 5107
 5108
 5109
 5110
 5111
 5112
 5113
 5114
 5115
 5116
 5117
 5118
 5119
 5120
 5121
 5122
 5123
 5124
 5125
 5126
 5127
 5128
 5129
 5130
 5131
 5132
 5133
 5134
 5135
 5136
 5137
 5138
 5139
 5140
 5141
 5142
 5143
 5144
 5145
 5146
 5147
 5148
 5149
 5150
 5151
 5152
 5153
 5154
 5155
 5156
 5157
 5158
 5159
 5160
 5161
 5162
 5163
 5164
 5165
 5166
 5167
 5168
 5169
 5170
 5171
 5172
 5173
 5174
 5175
 5176
 5177
 5178
 5179
 5180
 5181
 5182
 5183
 5184
 5185
 5186
 5187
 5188
 5189
 5190
 5191
 5192
 5193
 5194
 5195
 5196
 5197
 5198
 5199
 5200
 5201
 5202
 5203
 5204
 5205
 5206
 5207
 5208
 5209
 5210
 5211
 5212
 5213
 5214
 5215
 5216
 5217
 5218
 5219
 5220
 5221
 5222
 5223
 5224
 5225
 5226
 5227
 5228
 5229
 5230
 5231
 5232
 5233
 5234
 5235
 5236
 5237
 5238
 5239
 5240
 5241
 5242
 5243
 5244
 5245
 5246
 5247
 5248
 5249
 5250
 5251
 5252
 5253
 5254
 5255
 5256
 5257
 5258
 5259
 5260
 5261
 5262
 5263
 5264
 5265
 5266
 5267
 5268
 5269
 5270
 5271
 5272
 5273
 5274
 5275
 5276
 5277
 5278
 5279
 5280
 5281
 5282
 5283
 5284
 5285
 5286
 5287
 5288
 5289
 5290
 5291
 5292
 5293
 5294
 5295
 5296
 5297
 5298
 5299
 5300
 5301
 5302
 5303
 5304
 5305
 5306
 5307
 5308
 5309
 5310
 5311
 5312
 5313
 5314
 5315
 5316
 5317
 5318
 5319
 5320
 5321
 5322
 5323
 5324
 5325
 5326
 5327
 5328
 5329
 5330
 5331
 5332
 5333
 5334
 5335
 5336
 5337
 5338
 5339
 5340
 5341
 5342
 5343
 5344
 5345
 5346
 5347
 5348
 5349
 5350
 5351
 5352
 5353
 5354
 5355
 5356
 5357
 5358
 5359
 5360
 5361
 5362
 5363
 5364
 5365
 5366
 5367
 5368
 5369
 5370
 5371
 5372
 5373
 5374
 5375
 5376
 5377
 5378
 5379
 5380
 5381
 5382
 5383
 5384
 5385
 5386
 5387
 5388
 5389
 5390
 5391
 5392
 5393
 5394
 5395
 5396
 5397
 5398
 5399
 5400
 5401
 5402
 5403
 5404
 5405
 5406
 5407
 5408
 5409
 5410
 5411
 5412
 5413
 5414
 5415
 5416
 5417
 5418
 5419
 5420
 5421
 5422
 5423
 5424
 5425
 5426
 5427
 5428
 5429
 5430
 5431
 5432
 5433
 5434
 5435
 5436
 5437
 5438
 5439
 5440
 5441
 5442
 5443
 5444
 5445
 5446
 5447
 5448
 5449
 5450
 5451
 5452
 5453
 5454
 5455
 5456
 5457
 5458
 5459
 5460
 5461
 5462
 5463
 5464
 5465
 5466
 5467
 5468
 5469
 5470
 5471
 5472
 5473
 5474
 5475
 5476
 5477
 5478
 5479
 5480
 5481
 5482
 5483
 5484
 5485
 5486
 5487
 5488
 5489
 5490
 5491
 5492
 5493
 5494
 5495
 5496
 5497
 5498
 5499
 5500
 5501
 5502
 5503
 5504
 5505
 5506
 5507
 5508
 5509
 5510
 5511
 5512
 5513
 5514
 5515
 5516
 5517
 5518
 5519
 5520
 5521
 5522
 5523
 5524
 5525
 5526
 5527
 5528
 5529
 5530
 5531
 5532
 5533
 5534
 5535
 5536
 5537
 5538
 5539
 5540
 5541
 5542
 5543
 5544
 5545
 5546
 5547
 5548
 5549
 5550
 5551
 5552
 5553
 5554
 5555
 5556
 5557
 5558
 5559
 5560
 5561
 5562
 5563
 5564
 5565
 5566
 5567
 5568
 5569
 5570
 5571
 5572
 5573
 5574
 5575
 5576
 5577
 5578
 5579
 5580
 5581
 5582
 5583
 5584
 5585
 5586
 5587
 5588
 5589
 5590
 5591
 5592
 5593
 5594
 5595
 5596
 5597
 5598
 5599
 5600
 5601
 5602
 5603
 5604
 5605
 5606
 5607
 5608
 5609
 5610
 5611
 5612
 5613
 5614
 5615
 5616
 5617
 5618
 5619
 5620
 5621
 5622
 5623
 5624
 5625
 5626
 5627
 5628
 5629
 5630
 5631
 5632
 5633
 5634
 5635
 5636
 5637
 5638
 5639
 5640
 5641
 5642
 5643
 5644
 5645
 5646
 5647
 5648
 5649
 5650
 5651
 5652
 5653
 5654
 5655
 5656
 5657
 5658
 5659
 5660
 5661
 5662
 5663
 5664
 5665
 5666
 5667
 5668
 5669
 5670
 5671
 5672
 5673
 5674
 5675
 5676
 5677
 5678
 5679
 5680
 5681
 5682
 5683
 5684
 5685
 5686
 5687
 5688
 5689
 5690
 5691
 5692
 5693
 5694
 5695
 5696
 5697
 5698
 5699
 5700
 5701
 5702
 5703
 5704
 5705
 5706
 5707
 5708
 5709
 5710
 5711
 5712
 5713
 5714
 5715
 5716
 5717
 5718
 5719
 5720
 5721
 5722
 5723
 5724
 5725
 5726
 5727
 5728
 5729
 5730
 5731
 5732
 5733
 5734
 5735
 5736
 5737
 5738
 5739
 5740
 5741
 5742
 5743
 5744
 5745
 5746
 5747
 5748
 5749
 5750
 5751
 5752
 5753
 5754
 5755
 5756
 5757
 5758
 5759
 5760
 5761
 5762
 5763
 5764
 5765
 5766
 5767
 5768
 5769
 5770
 5771
 5772
 5773
 5774
 5775
 5776
 5777
 5778
 5779
 5780
 5781
 5782
 5783
 5784
 5785
 5786
 5787
 5788
 5789
 5790
 5791
 5792
 5793
 5794
 5795
 5796
 5797
 5798
 5799
 5800
 5801
 5802
 5803
 5804
 5805
 5806
 5807
 5808
 5809
 5810
 5811
 5812
 5813
 5814
 5815
 5816
 5817
 5818
 5819
 5820
 5821
 5822
 5823
 5824
 5825
 5826
 5827
 5828
 5829
 5830
 5831
 5832
 5833
 5834
 5835
 5836
 5837
 5838
 5839
 5840
 5841
 5842
 5843
 5844
 5845
 5846
 5847
 5848
 5849
 5850
 5851
 5852
 5853
 5854
 5855
 5856
 5857
 5858
 5859
 5860
 5861
 5862
 5863
 5864
 5865
 5866
 5867
 5868
 5869
 5870
 5871
 5872
 5873
 5874
 5875
 5876
 5877
 5878
 5879
 5880
 5881
 5882
 5883
 5884
 5885
 5886
 5887
 5888
 5889
 5890
 5891
 5892
 5893
 5894
 5895
 5896
 5897
 5898
 5899
 5900
 5901
 5902
 5903
 5904
 5905
 5906
 5907
 5908
 5909
 5910
 5911
 5912
 5913
 5914
 5915
 5916
 5917
 5918
 5919
 5920
 5921
 5922
 5923
 5924
 5925
 5926
 5927
 5928
 5929
 5930
 5931
 5932
 5933
 5934
 5935
 5936
 5937
 5938
 5939
 5940
 5941
 5942
 5943
 5944
 5945
 5946
 5947
 5948
 5949
 5950
 5951
 5952
 5953
 5954
 5955
 5956
 5957
 5958
 5959
 5960
 5961
 5962
 5963
 5964
 5965
 5966
 5967
 5968
 5969
 5970
 5971
 5972
 5973
 5974
 5975
 5976
 5977
 5978
 5979
 5980
 5981
 5982
 5983
 5984
 5985
 5986
 5987
 5988
 5989
 5990
 5991
 5992
 5993
 5994
 5995
 5996
 5997
 5998
 5999
 6000
 6001
 6002
 6003
 6004
 6005
 6006
 6007
 6008
 6009
 6010
 6011
 6012
 6013
 6014
 6015
 6016
 6017
 6018
 6019
 6020
 6021
 6022
 6023
 6024
 6025
 6026
 6027
 6028
 6029
 6030
 6031
 6032
 6033
 6034
 6035
 6036
 6037
 6038
 6039
 6040
 6041
 6042
 6043
 6044
 6045
 6046
 6047
 6048
 6049
 6050
 6051
 6052
 6053
 6054
 6055
 6056
 6057
 6058
 6059
 6060
 6061
 6062
 6063
 6064
 6065
 6066
 6067
 6068
 6069
 6070
 6071
 6072
 6073
 6074
 6075
 6076
 6077
 6078
 6079
 6080
 6081
 6082
 6083
 6084
 6085
 6086
 6087
 6088
 6089
 6090
 6091
 6092
 6093
 6094
 6095
 6096
 6097
 6098
 6099
 6100
 6101
 6102
 6103
 6104
 6105
 6106
 6107
 6108
 6109
 6110
 6111
 6112
 6113
 6114
 6115
 6116
 6117
 6118
 6119
 6120
 6121
 6122
 6123
 6124
 6125
 6126
 6127
 6128
 6129
 6130
 6131
 6132
 6133
 6134
 6135
 6136
 6137
 6138
 6139
 6140
 6141
 6142
 6143
 6144
 6145
 6146
 6147
 6148
 6149
 6150
 6151
 6152
 6153
 6154
 6155
 6156
 6157
 6158
 6159
 6160
 6161
 6162
 6163
 6164
 6165
 6166
 6167
 6168
 6169
 6170
 6171
 6172
 6173
 6174
 6175
 6176
 6177
 6178
 6179
 6180
 6181
 6182
 6183
 6184
 6185
 6186
 6187
 6188
 6189
 6190
 6191
 6192
 6193
 6194
 6195
 6196
 6197
 6198
 6199
 6200
 6201
 6202
 6203
 6204
 6205
 6206
 6207
 6208
 6209
 6210
 6211
 6212
 6213
 6214
 6215
 6216
 6217
 6218
 6219
 6220
 6221
 6222
 6223
 6224
 6225
 6226
 6227
 6228
 6229
 6230
 6231
 6232
 6233
 6234
 6235
 6236
 6237
 6238
 6239
 6240
 6241
 6242
 6243
 6244
 6245
 6246
 6247
 6248
 6249
 6250
 6251
 6252
 6253
 6254
 6255
 6256
 6257
 6258
 6259
 6260
 6261
 6262
 6263
 6264
 6265
 6266
 6267
 6268
 6269
 6270
 6271
 6272
 6273
 6274
 6275
 6276
 6277
 6278
 6279
 6280
 6281
 6282
 6283
 6284
 6285
 6286
 6287
 6288
 6289
 6290
 6291
 6292
 6293
 6294
 6295
 6296
 6297
 6298
 6299
 6300
 6301
 6302
 6303
 6304
 6305
 6306
 6307
 6308
 6309
 6310
 6311
 6312
 6313
 6314
 6315
 6316
 6317
 6318
 6319
 6320
 6321
 6322
 6323
 6324
 6325
 6326
 6327
 6328
 6329
 6330
 6331
 6332
 6333
 6334
 6335
 6336
 6337
 6338
 6339
 6340
 6341
 6342
 6343
 6344
 6345
 6346
 6347
 6348
 6349
 6350
 6351
 6352
 6353
 6354
 6355
 6356
 6357
 6358
 6359
 6360
 6361
 6362
 6363
 6364
 6365
 6366
 6367
 6368
 6369
 6370
 6371
 6372
 6373
 6374
 6375
 6376
 6377
 6378
 6379
 6380
 6381
 6382
 6383
 6384
 6385
 6386
 6387
 6388
 6389
 6390
 6391
 6392
 6393
 6394
 6395
 6396
 6397
 6398
 6399
 6400
 6401
 6402
 6403
 6404
 6405
 6406
 6407
 6408
 6409
 6410
 6411
 6412
 6413
 6414
 6415
 6416
 6417
 6418
 6419
 6420
 6421
 6422
 6423
 6424
 6425
 6426
 6427
 6428
 6429
 6430
 6431
 6432
 6433
 6434
 6435
 6436
 6437
 6438
 6439
 6440
 6441
 6442
 6443
 6444
 6445
 6446
 6447
 6448
 6449
 6450
 6451
 6452
 6453
 6454
 6455
 6456
 6457
 6458
 6459
 6460
 6461
 6462
 6463
 6464
 6465
 6466
 6467
 6468
 6469
 6470
 6471
 6472
 6473
 6474
 6475
 6476
 6477
 6478
 6479
 6480
 6481
 6482
 6483
 6484
 6485
 6486
 6487
 6488
 6489
 6490
 6491
 6492
 6493
 6494
 6495
 6496
 6497
 6498
 6499
 6500
 6501
 6502
 6503
 6504
 6505
 6506
 6507
 6508
 6509
 6510
 6511
 6512
 6513
 6514
 6515
 6516
 6517
 6518
 6519
 6520
 6521
 6522
 6523
 6524
 6525
 6526
 6527
 6528
 6529
 6530
 6531
 6532
 6533
 6534
 6535
 6536
 6537
 6538
 6539
 6540
 6541
 6542
 6543
 6544
 6545
 6546
 6547
 6548
 6549
 6550
 6551
 6552
 6553
 6554
 6555
 6556
 6557
 6558
 6559
 6560
 6561
 6562
 6563
 6564
 6565
 6566
 6567
 6568
 6569
 6570
 6571
 6572
 6573
 6574
 6575
 6576
 6577
 6578
 6579
 6580
 6581
 6582
 6583
 6584
 6585
 6586
 6587
 6588
 6589
 6590
 6591
 6592
 6593
 6594
 6595
 6596
 6597
 6598
 6599
 6600
 6601
 6602
 6603
 6604
 6605
 6606
 6607
 6608
 6609
 6610
 6611
 6612
 6613
 6614
 6615
 6616
 6617
 6618
 6619
 6620
 6621
 6622
 6623
 6624
 6625
 6626
 6627
 6628
 6629
 6630
 6631
 6632
 6633
 6634
 6635
 6636
 6637
 6638
 6639
 6640
 6641
 6642
 6643
 6644
 6645
 6646
 6647
 6648
 6649
 6650
 6651
 6652
 6653
 6654
 6655
 6656
 6657
 6658
 6659
 6660
 6661
 6662
 6663
 6664
 6665
 6666
 6667
 6668
 6669
 6670
 6671
 6672
 6673
 6674
 6675
 6676
 6677
 6678
 6679
 6680
 6681
 6682
 6683
 6684
 6685
 6686
 6687
 6688
 6689
 6690
 6691
 6692
 6693
 6694
 6695
 6696
 6697
 6698
 6699
 6700
 6701
 6702
 6703
 6704
 6705
 6706
 6707
 6708
 6709
 6710
 6711
 6712
 6713
 6714
 6715
 6716
 6717
 6718
 6719
 6720
 6721
 6722
 6723
 6724
 6725
 6726
 6727
 6728
 6729
 6730
 6731
 6732
 6733
 6734
 6735
 6736
 6737
 6738
 6739
 6740
 6741
 6742
 6743
 6744
 6745
 6746
 6747
 6748
 6749
 6750
 6751
 6752
 6753
 6754
 6755
 6756
 6757
 6758
 6759
 6760
 6761
 6762
 6763
 6764
 6765
 6766
 6767
 6768
 6769
 6770
 6771
 6772
 6773
 6774
 6775
 6776
 6777
 6778
 6779
 6780
 6781
 6782
 6783
 6784
 6785
 6786
 6787
 6788
 6789
 6790
 6791
 6792
 6793
 6794
 6795
 6796
 6797
 6798
 6799
 6800
 6801
 6802
 6803
 6804
 6805
 6806
 6807
 6808
 6809
 6810
 6811
 6812
 6813
 6814
 6815
 6816
 6817
 6818
 6819
 6820
 6821
 6822
 6823
 6824
 6825
 6826
 6827
 6828
 6829
 6830
 6831
 6832
 6833
 6834
 6835
 6836
 6837
 6838
 6839
 6840
 6841
 6842
 6843
 6844
 6845
 6846
 6847
 6848
 6849
 6850
 6851
 6852
 6853
 6854
 6855
 6856
 6857
 6858
 6859
 6860
 6861
 6862
 6863
 6864
 6865
 6866
 6867
 6868
 6869
 6870
 6871
 6872
 6873
 6874
 6875
 6876
 6877
 6878
 6879
 6880
 6881
 6882
 6883
 6884
 6885
 6886
 6887
 6888
 6889
 6890
 6891
 6892
 6893
 6894
 6895
 6896
 6897
 6898
 6899
 6900
 6901
 6902
 6903
 6904
 6905
 6906
 6907
 6908
 6909
 6910
 6911
 6912
 6913
 6914
 6915
 6916
 6917
 6918
 6919
 6920
 6921
 6922
 6923
 6924
 6925
 6926
 6927
 6928
 6929
 6930
 6931
 6932
 6933
 6934
 6935
 6936
 6937
 6938
 6939
 6940
 6941
 6942
 6943
 6944
 6945
 6946
 6947
 6948
 6949
 6950
 6951
 6952
 6953
 6954
 6955
 6956
 6957
 6958
 6959
 6960
 6961
 6962
 6963
 6964
 6965
 6966
 6967
 6968
 6969
 6970
 6971
 6972
 6973
 6974
 6975
 6976
 6977
 6978
 6979
 6980
 6981
 6982
 6983
 6984
 6985
 6986
 6987
 6988
 6989
 6990
 6991
 6992
 6993
 6994
 6995
 6996
 6997
 6998
 6999
 7000
 7001
 7002
 7003
 7004
 7005
 7006
 7007
 7008
 7009
 7010
 7011
 7012
 7013
 7014
 7015
 7016
 7017
 7018
 7019
 7020
 7021
 7022
 7023
 7024
 7025
 7026
 7027
 7028
 7029
 7030
 7031
 7032
 7033
 7034
 7035
 7036
 7037
 7038
 7039
 7040
 7041
 7042
 7043
 7044
 7045
 7046
 7047
 7048
 7049
 7050
 7051
 7052
 7053
 7054
 7055
 7056
 7057
 7058
 7059
 7060
 7061
 7062
 7063
 7064
 7065
 7066
 7067
 7068
 7069
 7070
 7071
 7072
 7073
 7074
 7075
 7076
 7077
 7078
 7079
 7080
 7081
 7082
 7083
 7084
 7085
 7086
 7087
 7088
 7089
 7090
 7091
 7092
 7093
 7094
 7095
 7096
 7097
 7098
 7099
 7100
 7101
 7102
 7103
 7104
 7105
 7106
 7107
 7108
 7109
 7110
 7111
 7112
 7113
 7114
 7115
 7116
 7117
 7118
 7119
 7120
 7121
 7122
 7123
 7124
 7125
 7126
 7127
 7128
 7129
 7130
 7131
 7132
 7133
 7134
 7135
 7136
 7137
 7138
 7139
 7140
 7141
 7142
 7143
 7144
 7145
 7146
 7147
 7148
 7149
 7150
 7151
 7152
 7153
 7154
 7155
 7156
 7157
 7158
 7159
 7160
 7161
 7162
 7163
 7164
 7165
 7166
 7167
 7168
 7169
 7170
 7171
 7172
 7173
 7174
 7175
 7176
 7177
 7178
 7179
 7180
 7181
 7182
 7183
 7184
 7185
 7186
 7187
 7188
 7189
 7190
 7191
 7192
 7193
 7194
 7195
 7196
 7197
 7198
 7199
 7200
 7201
 7202
 7203
 7204
 7205
 7206
 7207
 7208
 7209
 7210
 7211
 7212
 7213
 7214
 7215
 7216
 7217
 7218
 7219
 7220
 7221
 7222
 7223
 7224
 7225
 7226
 7227
 7228
 7229
 7230
 7231
 7232
 7233
 7234
 7235
 7236
 7237
 7238
 7239
 7240
 7241
 7242
 7243
 7244
 7245
 7246
 7247
 7248
 7249
 7250
 7251
 7252
 7253
 7254
 7255
 7256
 7257
 7258
 7259
 7260
 7261
 7262
 7263
 7264
 7265
 7266
 7267
 7268
 7269
 7270
 7271
 7272
 7273
 7274
 7275
 7276
 7277
 7278
 7279
 7280
 7281
 7282
 7283
 7284
 7285
 7286
 7287
 7288
 7289
 7290
 7291
 7292
 7293
 7294
 7295
 7296
 7297
 7298
 7299
 7300
 7301
 7302
 7303
 7304
 7305
 7306
 7307
 7308
 7309
 7310
 7311
 7312
 7313
 7314
 7315
 7316
 7317
 7318
 7319
 7320
 7321
 7322
 7323
 7324
 7325
 7326
 7327
 7328
 7329
 7330
 7331
 7332
 7333
 7334
 7335
 7336
 7337
 7338
 7339
 7340
 7341
 7342
 7343
 7344
 7345
 7346
 7347
 7348
 7349
 7350
 7351
 7352
 7353
 7354
 7355
 7356
 7357
 7358
 7359
 7360
 7361
 7362
 7363
 7364
 7365
 7366
 7367
 7368
 7369
 7370
 7371
 7372
 7373
 7374
 7375
 7376
 7377
 7378
 7379
 7380
 7381
 7382
 7383
 7384
 7385
 7386
 7387
 7388
 7389
 7390
 7391
 7392
 7393
 7394
 7395
 7396
 7397
 7398
 7399
 7400
 7401
 7402
 7403
 7404
 7405
 7406
 7407
 7408
 7409
 7410
 7411
 7412
 7413
 7414
 7415
 7416
 7417
 7418
 7419
 7420
 7421
 7422
 7423
 7424
 7425
 7426
 7427
 7428
 7429
 7430
 7431
 7432
 7433
 7434
 7435
 7436
 7437
 7438
 7439
 7440
 7441
 7442
 7443
 7444
 7445
 7446
 7447
 7448
 7449
 7450
 7451
 7452
 7453
 7454
 7455
 7456
 7457
 7458
 7459
 7460
 7461
 7462
 7463
 7464
 7465
 7466
 7467
 7468
 7469
 7470
 7471
 7472
 7473
 7474
 7475
 7476
 7477
 7478
 7479
 7480
 7481
 7482
 7483
 7484
 7485
 7486
 7487
 7488
 7489
 7490
 7491
 7492
 7493
 7494
 7495
 7496
 7497
 7498
 7499
 7500
 7501
 7502
 7503
 7504
 7505
 7506
 7507
 7508
 7509
 7510
 7511
 7512
 7513
 7514
 7515
 7516
 7517
 7518
 7519
 7520
 7521
 7522
 7523
 7524
 7525
 7526
 7527
 7528
 7529
 7530
 7531
 7532
 7533
 7534
 7535
 7536
 7537
 7538
 7539
 7540
 7541
 7542
 7543
 7544
 7545
 7546
 7547
 7548
 7549
 7550
 7551
 7552
 7553
 7554
 7555
 7556
 7557
 7558
 7559
 7560
 7561
 7562
 7563
 7564
 7565
 7566
 7567
 7568
 7569
 7570
 7571
 7572
 7573
 7574
 7575
 7576
 7577
 7578
 7579
 7580
 7581
 7582
 7583
 7584
 7585
 7586
 7587
 7588
 7589
 7590
 7591
 7592
 7593
 7594
 7595
 7596
 7597
 7598
 7599
 7600
 7601
 7602
 7603
 7604
 7605
 7606
 7607
 7608
 7609
 7610
 7611
 7612
 7613
 7614
 7615
 7616
 7617
 7618
 7619
 7620
 7621
 7622
 7623
 7624
 7625
 7626
 7627
 7628
 7629
 7630
 7631
 7632
 7633
 7634
 7635
 7636
 7637
 7638
 7639
 7640
 7641
 7642
 7643
 7644
 7645
 7646
 7647
 7648
 7649
 7650
 7651
 7652
 7653
 7654
 7655
 7656
 7657
 7658
 7659
 7660
 7661
 7662
 7663
 7664
 7665
 7666
 7667
 7668
 7669
 7670
 7671
 7672
 7673
 7674
 7675
 7676
 7677
 7678
 7679
 7680
 7681
 7682
 7683
 7684
 7685
 7686
 7687
 7688
 7689
 7690
 7691
 7692
 7693
 7694
 7695
 7696
 7697
 7698
 7699
 7700
 7701
 7702
 7703
 7704
 7705
 7706
 7707
 7708
 7709
 7710
 7711
 7712
 7713
 7714
 7715
 7716
 7717
 7718
 7719
 7720
 7721
 7722
 7723
 7724
 7725
 7726
 7727
 7728
 7729
 7730
 7731
 7732
 7733
 7734
 7735
 7736
 7737
 7738
 7739
 7740
 7741
 7742
 7743
 7744
 7745
 7746
 7747
 7748
 7749
 7750
 7751
 7752
 7753
 7754
 7755
 7756
 7757
 7758
 7759
 7760
 7761
 7762
 7763
 7764
 7765
 7766
 7767
 7768
 7769
 7770
 7771
 7772
 7773
 7774
 7775
 7776
 7777
 7778
 7779
 7780
 7781
 7782
 7783
 7784
 7785
 7786
 7787
 7788
 7789
 7790
 7791
 7792
 7793
 7794
 7795
 7796
 7797
 7798
 7799
 7800
 7801
 7802
 7803
 7804
 7805
 7806
 7807
 7808
 7809
 7810
 7811
 7812
 7813
 7814
 7815
 7816
 7817
 7818
 7819
 7820
 7821
 7822
 7823
 7824
 7825
 7826
 7827
 7828
 7829
 7830
 7831
 7832
 7833
 7834
 7835
 7836
 7837
 7838
 7839
 7840
 7841
 7842
 7843
 7844
 7845
 7846
 7847
 7848
 7849
 7850
 7851
 7852
 7853
 7854
 7855
 7856
 7857
 7858
 7859
 7860
 7861
 7862
 7863
 7864
 7865
 7866
 7867
 7868
 7869
 7870
 7871
 7872
 7873
 7874
 7875
 7876
 7877
 7878
 7879
 7880
 7881
 7882
 7883
 7884
 7885
 7886
 7887
 7888
 7889
 7890
 7891
 7892
 7893
 7894
 7895
 7896
 7897
 7898
 7899
 7900
 7901
 7902
 7903
 7904
 7905
 7906
 7907
 7908
 7909
 7910
 7911
 7912
 7913
 7914
 7915
 7916
 7917
 7918
 7919
 7920
 7921
 7922
 7923
 7924
 7925
 7926
 7927
 7928
 7929
 7930
 7931
 7932
 7933
 7934
 7935
 7936
 7937
 7938
 7939
 7940
 7941
 7942
 7943
 7944
 7945
 7946
 7947
 7948
 7949
 7950
 7951
 7952
 7953
 7954
 7955
 7956
 7957
 7958
 7959
 7960
 7961
 7962
 7963
 7964
 7965
 7966
 7967
 7968
 7969
 7970
 7971
 7972
 7973
 7974
 7975
 7976
 7977
 7978
 7979
 7980
 7981
 7982
 7983
 7984
 7985
 7986
 7987
 7988
 7989
 7990
 7991
 7992
 7993
 7994
 7995
 7996
 7997
 7998
 7999
 8000
 8001
 8002
 8003
 8004
 8005
 8006
 8007
 8008
 8009
 8010
 8011
 8012
 8013
 8014
 8015
 8016
 8017
 8018
 8019
 8020
 8021
 8022
 8023
 8024
 8025
 8026
 8027
 8028
 8029
 8030
 8031
 8032
 8033
 8034
 8035
 8036
 8037
 8038
 8039
 8040
 8041
 8042
 8043
 8044
 8045
 8046
 8047
 8048
 8049
 8050
 8051
 8052
 8053
 8054
 8055
 8056
 8057
 8058
 8059
 8060
 8061
 8062
 8063
 8064
 8065
 8066
 8067
 8068
 8069
 8070
 8071
 8072
 8073
 8074
 8075
 8076
 8077
 8078
 8079
 8080
 8081
 8082
 8083
 8084
 8085
 8086
 8087
 8088
 8089
 8090
 8091
 8092
 8093
 8094
 8095
 8096
 8097
 8098
 8099
 8100
 8101
 8102
 8103
 8104
 8105
 8106
 8107
 8108
 8109
 8110
 8111
 8112
 8113
 8114
 8115
 8116
 8117
 8118
 8119
 8120
 8121
 8122
 8123
 8124
 8125
 8126
 8127
 8128
 8129
 8130
 8131
 8132
 8133
 8134
 8135
 8136
 8137
 8138
 8139
 8140
 8141
 8142
 8143
 8144
 8145
 8146
 8147
 8148
 8149
 8150
 8151
 8152
 8153
 8154
 8155
 8156
 8157
 8158
 8159
 8160
 8161
 8162
 8163
 8164
 8165
 8166
 8167
 8168
 8169
 8170
 8171
 8172
 8173
 8174
 8175
 8176
 8177
 8178
 8179
 8180
 8181
 8182
 8183
 8184
 8185
 8186
 8187
 8188
 8189
 8190
 8191
 8192
 8193
 8194
 8195
 8196
 8197
 8198
 8199
 8200
 8201
 8202
 8203
 8204
 8205
 8206
 8207
 8208
 8209
 8210
 8211
 8212
 8213
 8214
 8215
 8216
 8217
 8218
 8219
 8220
 8221
 8222
 8223
 8224
 8225
 8226
 8227
 8228
 8229
 8230
 8231
 8232
 8233
 8234
 8235
 8236
 8237
 8238
 8239
 8240
 8241
 8242
 8243
 8244
 8245
 8246
 8247
 8248
 8249
 8250
 8251
 8252
 8253
 8254
 8255
 8256
 8257
 8258
 8259
 8260
 8261
 8262
 8263
 8264
 8265
 8266
 8267
 8268
 8269
 8270
 8271
 8272
 8273
 8274
 8275
 8276
 8277
 8278
 8279
 8280
 8281
 8282
 8283
 8284
 8285
 8286
 8287
 8288
 8289
 8290
 8291
 8292
 8293
 8294
 8295
 8296
 8297
 8298
 8299
 8300
 8301
 8302
 8303
 8304
 8305
 8306
 8307
 8308
 8309
 8310
 8311
 8312
 8313
 8314
 8315
 8316
 8317
 8318
 8319
 8320
 8321
 8322
 8323
 8324
 8325
 8326
 8327
 8328
 8329
 8330
 8331
 8332
 8333
 8334
 8335
 8336
 8337
 8338
 8339
 8340
 8341
 8342
 8343
 8344
 8345
 8346
 8347
 8348
 8349
 8350
 8351
 8352
 8353
 8354
 8355
 8356
 8357
 8358
 8359
 8360
 8361
 8362
 8363
 8364
 8365
 8366
 8367
 8368
 8369
 8370
 8371
 8372
 8373
 8374
 8375
 8376
 8377
 8378
 8379
 8380
 8381
 8382
 8383
 8384
 8385
 8386
 8387
 8388
 8389
 8390
 8391
 8392
 8393
 8394
 8395
 8396
 8397
 8398
 8399
 8400
 8401
 8402
 8403
 8404
 8405
 8406
 8407
 8408
 8409
 8410
 8411
 8412
 8413
 8414
 8415
 8416
 8417
 8418
 8419
 8420
 8421
 8422
 8423
 8424
 8425
 8426
 8427
 8428
 8429
 8430
 8431
 8432
 8433
 8434
 8435
 8436
 8437
 8438
 8439
 8440
 8441
 8442
 8443
 8444
 8445
 8446
 8447
 8448
 8449
 8450
 8451
 8452
 8453
 8454
 8455
 8456
 8457
 8458
 8459
 8460
 8461
 8462
 8463
 8464
 8465
 8466
 8467
 8468
 8469
 8470
 8471
 8472
 8473
 8474
 8475
 8476
 8477
 8478
 8479
 8480
 8481
 8482
 8483
 8484
 8485
 8486
 8487
 8488
 8489
 8490
 8491
 8492
 8493
 8494
 8495
 8496
 8497
 8498
 8499
 8500
 8501
 8502
 8503
 8504
 8505
 8506
 8507
 8508
 8509
 8510
 8511
 8512
 8513
 8514
 8515
 8516
 8517
 8518
 8519
 8520
 8521
 8522
 8523
 8524
 8525
 8526
 8527
 8528
 8529
 8530
 8531
 8532
 8533
 8534
 8535
 8536
 8537
 8538
 8539
 8540
 8541
 8542
 8543
 8544
 8545
 8546
 8547
 8548
 8549
 8550
 8551
 8552
 8553
 8554
 8555
 8556
 8557
 8558
 8559
 8560
 8561
 8562
 8563
 8564
 8565
 8566
 8567
 8568
 8569
 8570
 8571
 8572
 8573
 8574
 8575
 8576
 8577
 8578
 8579
 8580
 8581
 8582
 8583
 8584
 8585
 8586
 8587
 8588
 8589
 8590
 8591
 8592
 8593
 8594
 8595
 8596
 8597
 8598
 8599
 8600
 8601
 8602
 8603
 8604
 8605
 8606
 8607
 8608
 8609
 8610
 8611
 8612
 8613
 8614
 8615
 8616
 8617
 8618
 8619
 8620
 8621
 8622
 8623
 8624
 8625
 8626
 8627
 8628
 8629
 8630
 8631
 8632
 8633
 8634
 8635
 8636
 8637
 8638
 8639
 8640
 8641
 8642
 8643
 8644
 8645
 8646
 8647
 8648
 8649
 8650
 8651
 8652
 8653
 8654
 8655
 8656
 8657
 8658
 8659
 8660
 8661
 8662
 8663
 8664
 8665
 8666
 8667
 8668
 8669
 8670
 8671
 8672
 8673
 8674
 8675
 8676
 8677
 8678
 8679
 8680
 8681
 8682
 8683
 8684
 8685
 8686
 8687
 8688
 8689
 8690
 8691
 8692
 8693
 8694
 8695
 8696
 8697
 8698
 8699
 8700
 8701
 8702
 8703
 8704
 8705
 8706
 8707
 8708
 8709
 8710
 8711
 8712
 8713
 8714
 8715
 8716
 8717
 8718
 8719
 8720
 8721
 8722
 8723
 8724
 8725
 8726
 8727
 8728
 8729
 8730
 8731
 8732
 8733
 8734
 8735
 8736
 8737
 8738
 8739
 8740
 8741
 8742
 8743
 8744
 8745
 8746
 8747
 8748
 8749
 8750
 8751
 8752
 8753
 8754
 8755
 8756
 8757
 8758
 8759
 8760
 8761
 8762
 8763
 8764
 8765
 8766
 8767
 8768
 8769
 8770
 8771
 8772
 8773
 8774
 8775
 8776
 8777
 8778
 8779
 8780
 8781
 8782
 8783
 8784
 8785
 8786
 8787
 8788
 8789
 8790
 8791
 8792
 8793
 8794
 8795
 8796
 8797
 8798
 8799
 8800
 8801
 8802
 8803
 8804
 8805
 8806
 8807
 8808
 8809
 8810
 8811
 8812
 8813
 8814
 8815
 8816
 8817
 8818
 8819
 8820
 8821
 8822
 8823
 8824
 8825
 8826
 8827
 8828
 8829
 8830
 8831
 8832
 8833
 8834
 8835
 8836
 8837
 8838
 8839
 8840
 8841
 8842
 8843
 8844
 8845
 8846
 8847
 8848
 8849
 8850
 8851
 8852
 8853
 8854
 8855
 8856
 8857
 8858
 8859
 8860
 8861
 8862
 8863
 8864
 8865
 8866
 8867
 8868
 8869
 8870
 8871
 8872
 8873
 8874
 8875
 8876
 8877
 8878
 8879
 8880
 8881
 8882
 8883
 8884
 8885
 8886
 8887
 8888
 8889
 8890
 8891
 8892
 8893
 8894
 8895
 8896
 8897
 8898
 8899
 8900
 8901
 8902
 8903
 8904
 8905
 8906
 8907
 8908
 8909
 8910
 8911
 8912
 8913
 8914
 8915
 8916
 8917
 8918
 8919
 8920
 8921
 8922
 8923
 8924
 8925
 8926
 8927
 8928
 8929
 8930
 8931
 8932
 8933
 8934
 8935
 8936
 8937
 8938
 8939
 8940
 8941
 8942
 8943
 8944
 8945
 8946
 8947
 8948
 8949
 8950
 8951
 8952
 8953
 8954
 8955
 8956
 8957
 8958
 8959
 8960
 8961
 8962
 8963
 8964
 8965
 8966
 8967
 8968
 8969
 8970
 8971
 8972
 8973
 8974
 8975
 8976
 8977
 8978
 8979
 8980
 8981
 8982
 8983
 8984
 8985
 8986
 8987
 8988
 8989
 8990
 8991
 8992
 8993
 8994
 8995
 8996
 8997
 8998
 8999
 9000
 9001
 9002
 9003
 9004
 9005
 9006
 9007
 9008
 9009
 9010
 9011
 9012
 9013
 9014
 9015
 9016
 9017
 9018
 9019
 9020
 9021
 9022
 9023
 9024
 9025
 9026
 9027
 9028
 9029
 9030
 9031
 9032
 9033
 9034
 9035
 9036
 9037
 9038
 9039
 9040
 9041
 9042
 9043
 9044
 9045
 9046
 9047
 9048
 9049
 9050
 9051
 9052
 9053
 9054
 9055
 9056
 9057
 9058
 9059
 9060
 9061
 9062
 9063
 9064
 9065
 9066
 9067
 9068
 9069
 9070
 9071
 9072
 9073
 9074
 9075
 9076
 9077
 9078
 9079
 9080
 9081
 9082
 9083
 9084
 9085
 9086
 9087
 9088
 9089
 9090
 9091
 9092
 9093
 9094
 9095
 9096
 9097
 9098
 9099
 9100
 9101
 9102
 9103
 9104
 9105
 9106
 9107
 9108
 9109
 9110
 9111
 9112
 9113
 9114
 9115
 9116
 9117
 9118
 9119
 9120
 9121
 9122
 9123
 9124
 9125
 9126
 9127
 9128
 9129
 9130
 9131
 9132
 9133
 9134
 9135
 9136
 9137
 9138
 9139
 9140
 9141
 9142
 9143
 9144
 9145
 9146
 9147
 9148
 9149
 9150
 9151
 9152
 9153
 9154
 9155
 9156
 9157
 9158
 9159
 9160
 9161
 9162
 9163
 9164
 9165
 9166
 9167
 9168
 9169
 9170
 9171
 9172
 9173
 9174
 9175
 9176
 9177
 9178
 9179
 9180
 9181
 9182
 9183
 9184
 9185
 9186
 9187
 9188
 9189
 9190
 9191
 9192
 9193
 9194
 9195
 9196
 9197
 9198
 9199
 9200
 9201
 9202
 9203
 9204
 9205
 9206
 9207
 9208
 9209
 9210
 9211
 9212
 9213
 9214
 9215
 9216
 9217
 9218
 9219
 9220
 9221
 9222
 9223
 9224
 9225
 9226
 9227
 9228
 9229
 9230
 9231
 9232
 9233
 9234
 9235
 9236
 9237
 9238
 9239
 9240
 9241
 9242
 9243
 9244
 9245
 9246
 9247
 9248
 9249
 9250
 9251
 9252
 9253
 9254
 9255
 9256
 9257
 9258
 9259
 9260
 9261
 9262
 9263
 9264
 9265
 9266
 9267
 9268
 9269
 9270
 9271
 9272
 9273
 9274
 9275
 9276
 9277
 9278
 9279
 9280
 9281
 9282
 9283
 9284
 9285
 9286
 9287
 9288
 9289
 9290
 9291
 9292
 9293
 9294
 9295
 9296
 9297
 9298
 9299
 9300
 9301
 9302
 9303
 9304
 9305
 9306
 9307
 9308
 9309
 9310
 9311
 9312
 9313
 9314
 9315
 9316
 9317
 9318
 9319
 9320
 9321
 9322
 9323
 9324
 9325
 9326
 9327
 9328
 9329
 9330
 9331
 9332
 9333
 9334
 9335
 9336
 9337
 9338
 9339
 9340
 9341
 9342
 9343
 9344
 9345
 9346
 9347
 9348
 9349
 9350
 9351
 9352
 9353
 9354
 9355
 9356
 9357
 9358
 9359
 9360
 9361
 9362
 9363
 9364
 9365
 9366
 9367
 9368
 9369
 9370
 9371
 9372
 9373
 9374
 9375
 9376
 9377
 9378
 9379
 9380
 9381
 9382
 9383
 9384
 9385
 9386
 9387
 9388
 9389
 9390
 9391
 9392
 9393
 9394
 9395
 9396
 9397
 9398
 9399
 9400
 9401
 9402
 9403
 9404
 9405
 9406
 9407
 9408
 9409
 9410
 9411
 9412
 9413
 9414
 9415
 9416
 9417
 9418
 9419
 9420
 9421
 9422
 9423
 9424
 9425
 9426
 9427
 9428
 9429
 9430
 9431
 9432
 9433
 9434
 9435
 9436
 9437
 9438
 9439
 9440
 9441
 9442
 9443
 9444
 9445
 9446
 9447
 9448
 9449
 9450
 9451
 9452
 9453
 9454
 9455
 9456
 9457
 9458
 9459
 9460
 9461
 9462
 9463
 9464
 9465
 9466
 9467
 9468
 9469
 9470
 9471
 9472
 9473
 9474
 9475
 9476
 9477
 9478
 9479
 9480
 9481
 9482
 9483
 9484
 9485
 9486
 9487
 9488
 9489
 9490
 9491
 9492
 9493
 9494
 9495
 9496
 9497
 9498
 9499
 9500
 9501
 9502
 9503
 9504
 9505
 9506
 9507
 9508
 9509
 9510
 9511
 9512
 9513
 9514
 9515
 9516
 9517
 9518
 9519
 9520
 9521
 9522
 9523
 9524
 9525
 9526
 9527
 9528
 9529
 9530
 9531
 9532
 9533
 9534
 9535
 9536
 9537
 9538
 9539
 9540
 9541
 9542
 9543
 9544
 9545
 9546
 9547
 9548
 9549
 9550
 9551
 9552
 9553
 9554
 9555
 9556
 9557
 9558
 9559
 9560
 9561
 9562
 9563
 9564
 9565
 9566
 9567
 9568
 9569
 9570
 9571
 9572
 9573
 9574
 9575
 9576
 9577
 9578
 9579
 9580
 9581
 9582
 9583
 9584
 9585
 9586
 9587
 9588
 9589
 9590
 9591
 9592
 9593
 9594
 9595
 9596
 9597
 9598
 9599
 9600
 9601
 9602
 9603
 9604
 9605
 9606
 9607
 9608
 9609
 9610
 9611
 9612
 9613
 9614
 9615
 9616
 9617
 9618
 9619
 9620
 9621
 9622
 9623
 9624
 9625
 9626
 9627
 9628
 9629
 9630
 9631
 9632
 9633
 9634
 9635
 9636
 9637
 9638
 9639
 9640
 9641
 9642
 9643
 9644
 9645
 9646
 9647
 9648
 9649
 9650
 9651
 9652
 9653
 9654
 9655
 9656
 9657
 9658
 9659
 9660
 9661
 9662
 9663
 9664
 9665
 9666
 9667
 9668
 9669
 9670
 9671
 9672
 9673
 9674
 9675
 9676
 9677
 9678
 9679
 9680
 9681
 9682
 9683
 9684
 9685
 9686
 9687
 9688
 9689
 9690
 9691
 9692
 9693
 9694
 9695
 9696
 9697
 9698
 9699
 9700
 9701
 9702
 9703
 9704
 9705
 9706
 9707
 9708
 9709
 9710
 9711
 9712
 9713
 9714
 9715
 9716
 9717
 9718
 9719
 9720
 9721
 9722
 9723
 9724
 9725
 9726
 9727
 9728
 9729
 9730
 9731
 9732
 9733
 9734
 9735
 9736
 9737
 9738
 9739
 9740
 9741
 9742
 9743
 9744
 9745
 9746
 9747
 9748
 9749
 9750
 9751
 9752
 9753
 9754
 9755
 9756
 9757
 9758
 9759
 9760
 9761
 9762
 9763
 9764
 9765
 9766
 9767
 9768
 9769
 9770
 9771
 9772
 9773
 9774
 9775
 9776
 9777
 9778
 9779
 9780
 9781
 9782
 9783
 9784
 9785
 9786
 9787
 9788
 9789
 9790
 9791
 9792
 9793
 9794
 9795
 9796
 9797
 9798
 9799
 9800
 9801
 9802
 9803
 9804
 9805
 9806
 9807
 9808
 9809
 9810
 9811
 9812
 9813
 9814
 9815
 9816
 9817
 9818
 9819
 9820
 9821
 9822
 9823
 9824
 9825
 9826
 9827
 9828
 9829
 9830
 9831
 9832
 9833
 9834
 9835
 9836
 9837
 9838
 9839
 9840
 9841
 9842
 9843
 9844
 9845
 9846
 9847
 9848
 9849
 9850
 9851
 9852
 9853
 9854
 9855
 9856
 9857
 9858
 9859
 9860
 9861
 9862
 9863
 9864
 9865
 9866
 9867
 9868
 9869
 9870
 9871
 9872
 9873
 9874
 9875
 9876
 9877
 9878
 9879
 9880
 9881
 9882
 9883
 9884
 9885
 9886
 9887
 9888
 9889
 9890
 9891
 9892
 9893
 9894
 9895
 9896
 9897
 9898
 9899
 9900
 9901
 9902
 9903
 9904
 9905
 9906
 9907
 9908
 9909
 9910
 9911
 9912
 9913
 9914
 9915
 9916
 9917
 9918
 9919
 9920
 9921
 9922
 9923
 9924
 9925
 9926
 9927
 9928
 9929
 9930
 9931
 9932
 9933
 9934
 9935
 9936
 9937
 9938
 9939
 9940
 9941
 9942
 9943
 9944
 9945
 9946
 9947
 9948
 9949
 9950
 9951
 9952
 9953
 9954
 9955
 9956
 9957
 9958
 9959
 9960
 9961
 9962
 9963
 9964
 9965
 9966
 9967
 9968
 9969
 9970
 9971
 9972
 9973
 9974
 9975
 9976
 9977
 9978
 9979
 9980
 9981
 9982
 9983
 9984
 9985
 9986
 9987
 9988
 9989
 9990
 9991
 9992
 9993
 9994
 9995
 9996
 9997
 9998
 9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
Sun Mar 31 05:10:10 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* stor-layout.c (layout_decl): Don't make a bitfield an integral mode
	if the mode of the field type is not MODE_INT.

	* sched.c (schedule_block): CALL_INSNs don't affect fixed regs.
	* flow.c (propagate_block): CALL_INSNs don't kill fixed regs.

Sat Mar 30 03:32:48 1996  Torbjorn Granlund  <tege@noisy.tmg.se>

	* expmed.c (expand_divmod, case TRUNC_DIV_EXPR): Move some code
	to avoid shifting by a too large count.

Fri Mar 29 15:45:51 1996  Doug Evans  <dje@cygnus.com>

	* configure (i[3456]86-*-sunos5*): Delete, config.sub converts
	sunos5 to solaris2.
	(sparc-*-sunos5*): Likewise.
	(sparc64-*-{solaris2*,sunos5*}): Delete.  Stick with sparc-*-solaris2*.

	* sparc.h (FUNCTION_PROFILER): Save/restore %g2 around mcount call.

Fri Mar 29 14:20:31 1996  Stan Cox  <coxs@dg-rtp.dg.com>

	* i386.c (notice_update_cc): Clear cc_status if ref modified MEM.

Fri Mar 29 09:37:52 1996  Jeffrey A. Law  <law@cygnus.com>

	* calls.c (expand_call): Remove current_call_is_indirect nonsense.
	Add additional argument to INIT_CUMULATIVE_ARGS.
	(emit_library_call): Likewise.
	(emit_library_call_value): Likewise.
	* expr.c (expand_builtin): Likewise.
	* function.c (assign_parms): Likewise.
	* pa.h (hppa_args): New field "indirect".
	(INIT_CUMULATIVE_ARGS): Initialize "indirect" field.
	(FUNCTION_ARG): Check "indirect" field, rather than
	"current_call_is_indirect".
	* a29k.h (INIT_CUMULATIVE_ARGS):New arg, INDIRECT.
	* alpha.h (INIT_CUMULATIVE_ARGS): Likewise.
	* arm.h (INIT_CUMULATIVE_ARGS): Likewise.
	* clipper.h (INIT_CUMULATIVE_ARGS): Likewise.
	* convex.h (INIT_CUMULATIVE_ARGS): Likewise.
	* dsp16xx.h (INIT_CUMULATIVE_ARGS): Likewise.
	* elxsi.h (INIT_CUMULATIVE_ARGS): Likewise.
	* fx80.h (INIT_CUMULATIVE_ARGS): Likewise.
	* gmicro.h (INIT_CUMULATIVE_ARGS): Likewise.
	* h8300.h (INIT_CUMULATIVE_ARGS): Likewise.
	* i370/mvs.h (INIT_CUMULATIVE_ARGS): Likewise.
	* i386.h (INIT_CUMULATIVE_ARGS): Likewise.
	* i860.h (INIT_CUMULATIVE_ARGS): Likewise.
	* i960.h (INIT_CUMULATIVE_ARGS): Likewise.
	* m68k.h (INIT_CUMULATIVE_ARGS): Likewise.
	* m68k/mot3300.h (INIT_CUMULATIVE_ARGS): Likewise.
	* m88k.h (INIT_CUMULATIVE_ARGS): Likewise.
	* mips.h (INIT_CUMULATIVE_ARGS): Likewise.
	* ns32k.h (INIT_CUMULATIVE_ARGS): Likewise.
	* pdp11.h (INIT_CUMULATIVE_ARGS): Likewise.
	* pyr.h (INIT_CUMULATIVE_ARGS): Likewise.
	* romp.h (INIT_CUMULATIVE_ARGS): Likewise.
	* rs6000.h (INIT_CUMULATIVE_ARGS): Likewise.
	* sh.h (INIT_CUMULATIVE_ARGS): Likewise.
	* sparc.h (INIT_CUMULATIVE_ARGS): Likewise.
	* spur.h (INIT_CUMULATIVE_ARGS): Likewise.
	* tahoe.h (INIT_CUMULATIVE_ARGS): Likewise.
	* vax.h (INIT_CUMULATIVE_ARGS): Likewise.
	* we32k.h (INIT_CUMULATIVE_ARGS): Likewise.
	* mips.c (mips_expand_prologue): Add extra arg to
	INIT_CUMULATIVE_ARGS call.

Thu Mar 28 18:45:49 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alpha.c (summarize_insn): Fix three "off-by-one" bugs in loop bounds.

Thu Mar 28 16:50:10 1996  Doug Evans  <dje@cygnus.com>

	* ginclude/inl-sparc.h: Deleted.

Thu Mar 28 12:07:31 1996  Jeffrey A. Law  <law@cygnus.com>

	* va-h8300.h (va_arg): Don't assume sizeof (int) == 4.

	* pa.c (hppa_legitimize_address): Don't lose for
	(plus (plus (mult (A) (shadd_const)) (B)) (C)) if
	B + C isn't a valid address for indexing.
	(basereg_operand): Only accept base registers after
	cse has completed.  Don't accept the frame pointer if
	it's likely to be eliminated.
	* pa.md (unscaled indexing patterns): Add variants with
	basereg and index register reversed.
	(HImode and QImode loads): Add zero extended variants.

Wed Mar 27 07:45:27 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* expmed.c (negate_rtx): Fix typo in previous change.

Tue Mar 26 13:50:43 1996  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>

	* calls.c (expand_call): In convert_to_mode call, use word_mode
	not SImode.

Tue Mar 26 13:44:34 1996  Doug Evans  <dje@canuck.cygnus.com>

	* configure: Delete unnecessary special handling of --with-cpu.

Tue Mar 26 10:41:57 1996  Jeffrey A. Law  <law@cygnus.com>

	* expr.c (emit_push_insn): When doing a partial push, emit
	a CLOBBER so that flow doesn't think the entire register
	is live.

Tue Mar 26 10:00:52 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alpha.c (summarize_insn, default case): Properly use format_ptr.

Tue Mar 26 09:51:09 1996  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.h (output_move_simode_const): New extern declaration.
	* m68k.c (output_move_simode_const): New function.
	(singlemove_string): Call it.
	* m68k.md (fullword move): Likewise.

Tue Mar 26 05:43:06 1996  Torbjorn Granlund  <tege@noisy.tmg.se>

	* vax.md (insv matcher): Call CC_STATUS_INIT.
	* vax.h (NOTICE_UPDATE_CC): Handle ZERO_EXTRACT destination.

Mon Mar 25 19:18:08 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* function.c (expand_function_start): Don't set up context_display
	unless current_function_needs_context.

Mon Mar 25 18:48:18 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* fold-const.c (fold, case BIT_IOR_EXPR): Recognize rotates
	with variable count.

Mon Mar 25 18:05:28 1996  Jim Wilson  <wilson@cygnus.com>

	* Makefile.in (libgcc1-test): Undo Feb 12 change.

Mon Mar 25 08:09:59 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* objc/thread-single.c (objc_mutex_unlock): Properly declare thread_id.

Mon Mar 25 08:02:50 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* configure (m68k-motorola-sysv*): Fixed indentation.

Sun Mar 24 08:16:42 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expmed.c (negate_rtx): Don't try to negate a constant ourself;
	instead call simplify_unary_operation.

Sun Mar 24 07:29:06 1996  Richard Henderson  <rth@tamu.edu>

	* gcc.c (process_command): Instead of hardcoding non-empty
	switches_need_spaces to turn on "o" and "L", make the string
	contain the switches that need the spaces.
	* m68k/ccur-GAS.h (SWITCHES_NEED_SPACES): Change definition
	correspondingly.

Sat Mar 23 18:34:44 1996  Harry Dolan  <dolan@ssd.intel.com>

	* i860/paragon.h (LIB_SPEC): Always output -lmach.

Sat Mar 23 18:25:39 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* c-typeck.c (set_init_index): Check for use outside an array
	initializer.

        * defaults.h (ASM_OUTPUT_ADDR_DIFF_ELT): Delete.
        * pdp11.h (ASM_OUTPUT_ADDR_DIFF_ELT): Don't define.

Sat Mar 23 15:55:35 1996  Doug Evans  <dje@canuck.cygnus.com>

	* combine.c (make_extraction): In BITS_BIG_ENDIAN correction of POS,
	need to treat MEM and REG differently.

	* sparc.h (SPARC_SIMM{10,11,13}_P): Define.
	(SMALL_INT): Use SPARC_SIMM13_P.
	(CONST_OK_FOR_LETTER_P): Support new letters L,M.
	* sparc.c (arith11_operand): Use SPARC_SIMM11_P.
	(arith10_operand): Use SPARC_SIMM10_P.
	* sparc.md (*mov{qi,hi,si,di}_cc_sp64): Fix constraints.
	(*mov{qi,hi,si,di}_cc_reg_sp64): Likewise.

Sat Mar 23 07:47:19 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* m68k/linux.h (TRAMPOLINE_TEMPLATE): Correct first instruction.
	* m68k/m68kv4.h (TRAMPOLINE_TEMPLATE): Likewise.

Sat Mar 23 07:06:55 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* bc-emit.c (bc_emit_instruction): Add missing va_end call.

	* c-typeck.c (build_array_ref): Give error if subscripting a function.

Fri Mar 22 09:11:45 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* local-alloc.c (optimize_reg_copy_1): Only update reg_live_length
	if it is non-negative.

Thu Mar 21 14:42:26 1996  Doug Evans  <dje@cygnus.com>

	* sparc/splet.h (STARTFILE_SPEC,LINK_SPEC): Define.

Wed Mar 20 17:23:18 1996  Jim Wilson  <wilson@cygnus.com>

	* cse.c (note_mem_written): Delete obsolete code for handling
	(mem (scratch)).

	* mips.c (mips_expand_prologue): In initialization of fnargs, delete
	special treatment of METHOD_TYPE.

Wed Mar 20 17:07:45 1996  Doug Evans  <dje@cygnus.com>

	* sparc/sol2.h (ASM_CPU_SPEC): Recognize -mcpu=v8plus, not v9.
	Fix typo in ultrasparc entry.
	* sparc.h (CPP_CPU_SPEC): Add v8plus entry.
	(ASM_CPU_SPEC): Likewise.

	* sparc.c (fcc_reg_operand): Ensure correct mode.
	(icc_or_fcc_reg_operand): Likewise.
	(gen_v9_scc): IF_THEN_ELSE must have a mode.
	(print_operand): New operand code `x' for all condition codes.
	New operand codes `c,d' for reversed conditional moves.
	* sparc.md (movqicc,movhicc): New named patterns.
	(movdicc): if_then_else must have a mode.
	(movsicc,movsfcc,movdfcc,movtfcc): Likewise.
	Change condition to TARGET_V9, not TARGET_ARCH64.
	Fail if DImode compare and ! TARGET_ARCH64.
	(conditional move matchers): Rewrite.

Wed Mar 20 16:12:29 1996  Stan Cox  <coxs@wombat.gnu.ai.mit.edu>

	* i386.h (HARD_REGNO_MODE_OK): Relax QImode constraint to
	avoid a reload problem.

Wed Mar 20 13:12:22 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.c (hppa_legitimize_address): Don't lose for x[n-const]
	when n-const will not be shifted.  Don't pessimize code for
	x[n-const] when const is small.

Wed Mar 20 11:42:32 1996  Markus Theissinger  <Markus.Theissinger@gmd.de>

	* m68k/sun3.h (LIB_SPEC): Don't link /usr/lib/bb_link.o with `gcc -a'.
	(__bb_init_func): Deleted.
	(BLOCK_PROFILER_CODE): Don't set macro to nothing.

	* m68k/xm-sun3.h: New file.
	* configure (m68k-sun-sunos*): Use it.

	* xm-linux.h (HAVE_POPEN): New define.

Wed Mar 20 11:28:37 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* m68k/linux.h (ASM_SPEC): Deleted.
	(STRUCT_VALUE_REGNUM): Redefine as register a0.
	(STATIC_CHAIN_REGNUM): Redefine as register a1.
	(TRAMPOLINE_TEMPLATE): Redefine to use the right register.

Wed Mar 20 08:04:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* libgcc2.c (__dummy): New function.
	* Makefile.in (LIB2FUNCS): Add __dummy.
	* expr.c (expand_builtin, case BUILT_IN_SETJMP): Call "setjmp"
	pattern, if any.
	Call dummy function pointed to by static chain pointer.
	(expand_builtin, case BUILT_IN_LONJMP): Ignore second expression.
	Set address of __dummy into static chain pointer.
	Copy the label to return to into a pseudo earlier.

	* stupid.c (last_setjmp_suid, regs_crosses_setjmp): New variables.
	(stupid_life_analysis, stupid_mark_refs): Use them to track which
	regs are live over a setjmp; don't allocate such regs.

Tue Mar 19 22:02:07 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* cplus-dem.c (demangle_template): Fix for non-mangled pointer
	arguments.

Tue Mar 19 13:54:06 1996  Jeffrey A. Law  <law@wombat.gnu.ai.mit.edu>

	* pa.c (compute_frame_size): Update comments to reflect reality.
	(hppa_expand_prologue): Don't save registers which aren't
	used, even if it creates holes.  Partially undoes changes from
	early March.
	(hppa_expand_epilogue): Likewise.

Tue Mar 19 08:25:17 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* stmt.c (struct case_node): New member balance.
	(add_case_node): New function.
	(pushcase, pushcase_range): Use it.
	(case_tree2list): New function.
	(expand_end_case): Use it.

Tue Mar 19 07:44:22 1996  Stephen L Moshier  (moshier@world.std.com)

	* regstack.c (move_for_stack_reg): Avoid stack overflow while
	storing XFmode from fp reg to memory.

Tue Mar 19 07:38:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* m68k.h (MASK_*): New macros.
	(OVERRIDE_OPTIONS): Use them.
	(TARGET_SWITCHES): Likewise.
	Treat -m68332 like -m68000.

Mon Mar 18 20:04:13 1996  Richard Earnshaw (rearnsha@armltd.co.uk)

	* expmed.c (emit_store_flag): If expanding (GE X 0) will need two
	insns, don't use subtarget for the result of the first insn.
	Move a likely constant to the start of a condition.

Mon Mar 18 19:48:14 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* m68k.h (CONST_OK_FOR_LETTER_VALUE): New constraint 'M'.
	* m68k.c (output_function_epilogue): Restore registers using sp+
	instead of fp(n) in leaf functions.
	(USE_MOVQ, use_movq): Function replaced by macro.
	* m68k.md (pushexthisi_const, movsi_const0): New names.
	(andsi3, iorsi3): Allow only 'M', not 'K' constants, if dest is 'd'.

Mon Mar 18 19:33:20 1996  Fila Kolodny <fila@ibi.com>

	* i370/t-mvs: New file.
	* configure (i370-*-mvs*): Use it.
	* i370/mvs.h (FUNCTION_PROLOGUE): LE/370 takes 120 bytes for DSA.
	Have only one copy of timestamp and PPA2 per object module.
	Only have unnamed CSECT to match IBM C.

Mon Mar 18 19:26:21 1996  Paul Russell  (Rusty.Russell@adelaide.maptek.com.au)

	* combine.c (simplify_if_then_else): Allow for case that
	condition might no longer be a condition.

Mon Mar 18 19:14:42 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-typeck.c (build_conditional_expr): If OP1 is null, set
	both OP1 and ORIG_OP1 to IFEXP.

	* c-iterate.c (iterator_loop_epilogue): Don't clear DECL_RTL
	for a static decl.

Mon Mar 18 08:02:25 1996  Stephen L Moshier <moshier@world.std.com>

	* alpha.c (summarize_insn, case SUBREG, CONST_*): New cases.

Sun Mar 17 16:55:00 1996  Doug Evans  <dje@cygnus.com>

	* combine.c (find_split_point): Handle NULL return from
	make_extraction.
	(make_field_assignment): Likewise.

Sat Mar 16 18:56:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* tree.c (substitute_in_expr, case COMPONENT_REF): Ignore
	if inner PLACEHOLDER_EXPR has not yet been initialized.

	* i386.c (standard_80386_constant_p): -0.0 is not 0.0.
	* i386.md (insv): Restore missing end of comment.

	* combine.c (make_extraction): Correct typo in force_to_mode
	call in previous change.
	Return 0 if pos+len out of range of want desired mode.

Sat Mar 16 16:20:43 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* alpha.md (trap): New attribute.
	Modify patterns for all floating-point trap generating instructions.
	* alpha.h (CPP_SPEC): Added -mieee and -mieee-with-inexact.
	(alpha_trap_precision, alpha_fp_rounding_mode, alpha_fp_trap_mode):
	New enum types.
	(target_flags, alpha_tp, alpha_fprm, alpha_fptm): New external vars.
	(alpha_fprm_string, alpha_fptm_string, alpha_tp_string): Likewise.
	(TARGET_IEEE{,_WITH_INEXACT,_CONFORMANT}): New macros.
	(MASK_IEEE{,_WITH_INEXACT,_CONFORMANT}): Likewise.
	(MASK_FP, MASK_FPREGS,
	(TARGET_SWITCHES): Added "ieee-conformant", "ieee", and
	"ieee-with-inexact"; use MASK symbols.
	(TARGET_OPTIONS): New macro.
	(OVERRIDE_OPTIONS, FINAL_PRESCAN_{INSN,LABEL}): New macros.
	(PRINT_OPERAND_PUNCT_VALID_P): Allow operand codes for FP insns.
	(CC1_SPEC): New macro.
	* alpha.c (alpha_tp, alpha_fprm, alpha_fptm): New variables.
	(alpha_tp_string, alpha_fprm_string, alpha_fptm_string
	(trap_pending): Likewise.
	(override_options, summarize_insn, final_prescan_insn): New functions.
	(print_operand): Handle cases '&', '\'', ')', and '+'.
	(output_prolog): Emit ".eflag 48" if TARGET_IEEE_CONFORMANT.
	(output_epilog): Call final_prescan_insn before emitting epilog.

	* final.c (final_scan_insn, case CODE_LABEL): Invoke
	FINAL_PRESCAN_INSN if FINAL_SCAN_LABEL is defined.

	* alpha/{linux.h,x-linux,xm-linux.h}: New files.
	* configure (alpha-*-linux*): New case.
	* alpha.c (output_prolog): Set alpha_function_needs_gp if profiling
	and TARGET_PROFILING_NEEDS_GP defined.

Thu Mar 14 22:28:20 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Fix last change.
	* aix41.h (LINK_SPEC): add -bnoentry if shared and no explicit entry.

Thu Mar 14 12:47:33 1996  Jim Wilson  <wilson@cygnus.com>

	* mips.h (ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and
	HOST_BITS_PER_WIDE_INT == 64.

	* mips.c (mips_expand_prologue): Change TYPE_NEEDS_CONSTRUCTING to
	TREE_ADDRESSABLE;

Thu Mar 14 11:21:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): For 32-bit mode,
	allow TImode variables with int offsets, so that structures
	greater than 8 bytes and less than or equal to 16 bytes can be
	instantiated correctly.

	* rs6000.c (rs6000_valid_type_attribute_p): Add exception
	attribute for Windows NT.

	* win-nt.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete, merge into
	ASM_DECLARE_FUNCTION_NAME.
	(ASM_DECLARE_FUNCTION_NAME): Add support for exception attribute
	setting fields 3 & 4 of the structured exception handling table.

Thu Mar 14 01:53:19 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.h (ASM_DECLARE_FUNCTION_NAME): Change TYPE_NEEDS_CONSTRUCTING
	to TREE_ADDRESSABLE.  From Jim Wilson.

Wed Mar 13 13:40:32 1996  Jim Wilson  <wilson@chestnut.cygnus.com>

	* c-tree.h (warn_sign_compare): Add extern to declaration.

Wed Mar 13 13:37:00 1996  Doug Evans  <dje@cygnus.com>

	* configure: Use cross-make and build-make if building
	cross compiler with cross compiler.

Wed Mar 13 12:00:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* i386/cygwin32.h (ASM_OUTPUT_ALIGN): Correct defination.

	* rs6000/{win-nt,cygwin32}.h (STARTFILE_SPEC): Add crti.o before
	all objects.
	(ENDFILE_SPEC): Add crtn.o after all objects.

	* configure (powerpcle-*-cygwin32): Use t-winnt, not t-cygin32
	* rs6000/t-cygwin32: Delete, no longer used.

	* rs6000/t-winnt ({,INSTALL_}LIBGCC): Build and install crti.o and
	crtn.o.

	* rs6000/win-nt.h (EXTRA_SECTION_FUNCTIONS): Add ctors_section and
	dtors_section.
	(INVOKE__main): Define, so that __main is called.
	(ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Define to put pointers to
	the constructor/destructor in the appropriate section.

	* nt-c{i,n}.asm: New files to be linked before/after all of the users'
	objects.

Wed Mar 13 00:42:17 1996  Per Bothner  <bothner@cygnus.com>

	* dbxout.c (dbxout_type):  Better "variant" handling to ignore
	const/volatile but not typedef names.  Improves Feb 12 change.

Tue Mar 12 17:25:14 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* glimits.h (__LONG_MAX__): On Alpha, use 64 bit value.

Tue Mar 12 15:07:49 1996  Torbjorn Granlund  <tege@tmg.se>

	* m68k.c (valid_dbcc_comparison_p): Don't test cc_prev_status here.
	(flags_in_68881): New function.
	* m68k.md (dbra peepholes): Use flags_in_68881.

Tue Mar 12 13:54:15 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* sparc.md (nonlocal_goto): Emit barrier after jump.
	(setjmp{,_64,_32}): New patterns.

Tue Mar 12 12:43:27 1996  Jim Wilson  <wilson@cygnus.com>

	* i960.h (ROUND_TYPE_SIZE): Return round_up result instead of
	COMPUTED.

	* expr.c (expand_expr, case COMPONENT_REF): For unaligned object in
	an aligned union, delete check for EXPAND_SUM.

	* expr.h (clear_storage): Add comment terminator.

Mon Mar 11 19:07:50 1996  Jeffrey A. Law  <law@cygnus.com>

	* recog.c (constrain_operands, case 'V'): Don't call
	offsettable_memref_p before reload has completed.

Mon Mar 11 16:06:13 1996  Doug Evans  <dje@cygnus.com>

	* h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG.
	(CC_DONE_CBIT): Delete.
	(CC_OVERFLOW_0,CC_OVERFLOW_UNUSABLE,CC_NO_CARRY): Define.
	* h8300.c (cond_string): Delete CC_DONE_CBIT handling.
	(notice_update_cc): Delete CC_CBIT, CC_WHOOPS.  Add CC_SET_ZN_C0.
	(restore_compare_p): New function.
	(shift_one): Use shll instead of shal so overflow bit is usable.
	Set cc_valid bits to cc_status.flags values.
	(emit_a_shift): Set cc_status.flags.
	* h8300.md (attr cc): Delete whoops,cbit.  Add set_zn_c0.
	(all patterns) Update cc attr setting.
	(tstqi,tsthi,tstsi): Delete CC_DONE_CBIT handling.
	(addhi3,subhi3): Change define_expand to define_insn.
	(branch_true,branch_false): Check if compare needs to be restored.

Mon Mar 11 13:55:23 1996  Michael Meissner  <meissner@cygnus.com>

	* rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Add 'H' for movdi
	patterns in 32 bit that generate 3 instructions.
	(num_insns_constant): Add declaration.

	* rs6000.c (num_insns_constant{,_wide}) Functions to determine the
	number of insns it takes to generate an integer constant.
	(easy_fp_constant): Allow DImode in easy constants.  Use
	num_insns_constant_wide.
	(input_operand): Allow any CONST_{INT,DOUBLE}'s for {SI,DI}mode.

	* rs6000.md (movdi): Generate a normal movdi using a CONST_DOUBLE
	for 32 bit mode rather than using SUBREG's.  For 64 bit mode,
	break large integer constants into smaller pieces.  Add various
	define_splits to handle loading the various DImode constants.

Mon Mar 11 06:54:19 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* combine.c (make_extraction): Use proper mode for INNER in all cases.
	(simplify_comparison, case ZERO_EXTRACT): For bits big endian and
	no extzv, use BITS_PER_WORD.
	* fx80.md, gmicro.md, i386.md, m68k.md, tahoe.md, vax.md:
	Use proper modes and predicates for {sign,zero}_extract.

Sun Mar 10 06:23:52 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* emit-rtl.c (free_insn): New variable.
	(init_emit, restore_emit_status): Clear it.
	(gen_sequence): Store insn in free_insn when sequence length is 1.
	(make_insn_raw): Use free_insn if available and still in the
	rtl generation phase.

Fri Mar  8 15:37:31 1996  Mike Stump  <mrs@cygnus.com>

	* expr.c (expand_expr, case TARGET_EXPR): Delay putting the cleanup
	on the cleanup chain until after the subexpression has been expanded.

Fri Mar  8 16:14:51 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

        * i386.c (ix86_binary_operator_ok): One memory operand is OK.
        This is independent of commutativity.

Fri Mar  8 14:07:43 1996  Jim Wilson  <wilson@cygnus.com>

	* expr.c (store_constructor_field): Call store_field if bitpos is
	nonzero and target is not a MEM.

	* jump.c (jump_optimize): When handle a USE insn before an
	unconditional jump, disable the optimization if the USE is the
	only insn in the loop.

	* sh.c (reg_unused_after): Return 0 if see a JUMP_INSN.

Fri Mar  8 12:08:36 1996  Doug Evans  <dje@cygnus.com>

	* sparc/lynx.h (CPP_SPEC): Use %(cpp_cpu).

	* sparc/sparc.md (move_pic_label_si,move_label_di): Rewrite length
	attr calcs to be more conservative.

Thu Mar  7 19:14:21 1996  Doug Evans  <dje@cygnus.com>

	* sparc/t-splet: New file.
	* sparc/splet.h: New file.
	* configure (sparclet-*-aout*): Use them.

	* sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define.
	(FIRST_PSEUDO_REGISTER): Add 1 for %icc (now 101).
	(FIXED_REGISTERS,CALL_USED_REGISTERS): Update.
	(FIXED_REGISTERS): %g0 is fixed by default.
	(SPARC_{FIRST,LAST}_V9_FCC_REG): Define.
	(SPARC_{ICC,FCC}_REG): Define.
	(CONDITIONAL_REGISTER_USAGE): Don't fix %fcc0 if v8.
	(REG_CLASS_CONTENTS): Reg 0 is an int reg, reg 100 is %icc.
	(REGNO_REG_CLASS): Rewrite to use global `sparc_regno_reg_class'.
	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Add %icc.
	(REG_CLASS_FROM_LETTER): Handle 'c' for FPCC_REGS in non-v9 case.
	(REGNO_OK_FOR_{BASE,INDEX}_P): Treat %g0 as a normal reg.
	(REG_OK_FOR_{BASE,INDEX}_P,EXTRA_CONSTRAINT): Likewise.
	(REGISTER_NAMES): Add %icc.
	(ADDITIONAL_REGISTER_NAMES): Use SPARC_ICC_REG.
	* sparc.c (leaf_reg_remap): Add %icc=100.
	(reg_or_0_operand): Don't allow 0 if TARGET_LIVE_G0.
	(fcc_reg_operand): Renamed from ccfp_reg_operand.
	Use SPARC_FCC_REG.  Don't treat reg 0 as an fcc reg.  Don't match
	modes if `mode' argument is VOIDmode.
	(icc_or_fcc_reg_operand): New function.
	(gen_compare_reg): Use SPARC_FCC_REG for v8 fp compares.
	Use SPARC_ICC_REG for int compares.
	(eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0.
	Delete unnecessary test for %g0.
	(emit_move_sequence): Don't emit (set (mem) (const_int 0)) if
	TARGET_LIVE_G0.
	(output_scc_insn): Label moved to operand 3.  Condition code reg
	moved to operand 2.
	(sparc_mode_class): Enum C_MODE renamed to CC_MODE.
	(hard_32bit_mode_classes): Set reg 0 to S_MODES.  Add entry for %icc.
	(hard_64bit_mode_classes): Set reg 0 to D_MODES.  Add entry for %icc.
	(sparc_regno_reg_class): New global.
	(sparc_init_modes): Initialize it.
	(output_cbranch): Delete fp_cond_reg argument.
	(print_operand, MEM op): Don't print "%g0+" if TARGET_LIVE_G0.
	(sparc_flat_eligible_for_epilogue_delay): Don't allow anything if
	TARGET_LIVE_G0.
	* sparc.md (live_g0): New attribute.
	(*): Integer condition code register is now reg 100.
	Use SPARC_ICC_REG instead of hardcoding reg 100 where possible.
	Non-v9 floating point condition code register is now reg 96.
	(*cmp{sf,df,tf}_{fpe,fp}_sp{32,64}): Combine v9/non-v9 cases.
	(*{normal,inverted}_{,fp,fpe}_branch): Update call to output_cbranch.
	(*mov{qi,hi,si}_insn): Don't use if TARGET_LIVE_G0.
	(*mov{qi,hi,si}_insn_liveg0): New patterns.
	(*mov{si,di,sf,df,tf}_ccfp{,e}_sp64): ccfp_reg_operand renamed to
	fcc_reg_operand.
	(*negdi2_sp32,negsi2,one_cmplsi2,ffssi2): Ensure %%g0 is 0 if
	TARGET_LIVE_G0.
	(*one_cmpldi2_sp32): Move operand 1 to rs1 and use 0 as rs2.
	(patterns that use %g0 in rs2): Use 0 immediate value instead.
	(patterns that read %g0): Don't use if TARGET_LIVE_G0.

Thu Mar  7 15:39:16 1996  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.h (PASS_IN_REG_P): Change < to <=.
	* va-sh.h (va_start): Change __SH3E___ to __SH3E__.
	(va_arg): Add little-endian SH3E support.  Fix big-endian version
	to work for arguments smaller than the word size.

Thu Mar  7 10:37:37 1996  Jeffrey A. Law  <law@cygnus.com>

	* lib2funcs.asm: Remove entry/exit routines.  Move them into...
	* ee.asm: New file.  Entry/exit code.
	* ee_fp.asm: New file.  Entry/exit code with frame pointer.
	* t-pa: Corresponding changes.
	* t-pro: Corresponding changes.

	* pa.c: Fix misc small typos/thinkos in recent changes.

Wed Mar  6 17:36:03 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* cplus-dem.c (demangle_template): Fix for address-of-extern arguments.

Wed Mar  6 15:12:55 1996  Jeffrey A. Law  <law@cygnus.com>

	* t-pro (dp-bit rule): Fix typo.

	* lib2funcs.asm (__outline_prologue): Remove frame pointer
	support.
	(__outline_prologue_fp): Out of line prologue with frame pointer.
	(__outline_epilogue, outline_epilogue_fp): Similarly.
	* pa.c (compute_frame_size): Allocate enough space to avoid holes
	in the callee register saves.  Remove some special handling of %r3.
	(hppa_expand_prologue): Don't do an out of line prologue/epilogue
	if it would take more insns than an inline prologue/epilogue.
	Don't leave holes in the callee register save set.
	(hppa_expand_prologue): Corresponding changes.  Pass stack size
	to out of line epilogue code.
	* pa.h (FRAME_POINTER_REQUIRED): Revert last change.
	* pa.md (outline_prologue_call): Handle outline prologues which
	don't need frame pointers.
	(outline_epilogue_call): Similarly.
	* t-pro: Reenable multilib code.  Build a set of libraries that
	optimize for space.

Wed Mar  6 14:28:14 1996  Jim Wilson  <wilson@chestnut.cygnus.com>

	* Makefile.in (USER_H): Add ginclude/va-sh.h.
	* ginclude/stdarg.h, ginclude/varargs.h: Use va-sh.h.
	* ginclude/va-sh.h: New file.

	* sh.h (PASS_IN_REG_P): Fix typo in last change.

Wed Mar  6 11:42:06 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (enum processor_type): Remove PROCESSOR_PPC602.
	(RTX_COSTS): Remove PROCESSOR_PPC602.  PPC603 MULT cost depends
	on constant and domain.
	* rs6000.c (processor_target_table): 602 uses PROCESSOR_PPC603.
	(get_issue_rate): Remove CPU_PPC602.
	* rs6000.md (function units): Remove PPC602.  Add store and
	fpstore type attribute values.  Update patterns.

Tue Mar  5 18:43:43 1996  Richard Henderson  <rth@tamu.edu>

	* m68k/coff.h (ASM_OUTPUT_SECTION_NAME): New define.

	* m68k/{aux-crt1.c,aux-crt[2n].asm}: New files.
	* m68k/{aux-exit.c,aux-low.gld,aux-mcount.c}: More new files.
	* m68k/{aux.h,auxgnu.h,auxstd.h}: Even more new files.
	* m68k/{t-aux,xm-aux.h}: The rest of the new files.
	* m68k/sgs.h (ASM_OUTPUT_CASE_END): Add missing semicolon.
	(switch_table_difference_label_flag): Make extern.
	* fixincludes (sys/param.h): Fix c89 __asm statements.
	* configure (m68k-apple-aux*): New target.

Tue Mar  5 17:38:19 1996  Doug Evans  <dje@cygnus.com>

	* sparc.md (*mov{qi,hi,si}_insn): Simplify length attribute.
	(*movsi_insn): Use fpload/fpstore attributes for fp loads/stores.
	%r1 -> %1 for fpstore alternative.
	(*movsf_insn,*movsf_no_f_insn): %r1 -> %1.

Tue Mar  5 17:19:17 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* expr.c (expand_expr, case *_DECL): If we make a non-local
	reference from a function with DECL_NO_STATIC_CHAIN set, abort.
	(expand_expr, case ADDR_EXPR): We don't need a trampoline for a
	function with DECL_NO_STATIC_CHAIN set.
	* function.c (lookup_static_chain): If we're checking on a function
	that doesn't need a static chain, return 0.
	(init_function_start): We don't need context if DECL_NO_STATIC_CHAIN
	is set.
	* tree.c (staticp): Check DECL_NO_STATIC_CHAIN on nested functions.

Tue Mar  5 15:04:29 1996  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.md (push_e, pop_e): Add TARGET_SH3E to condition.
	* sh.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
	* sh.c (find_barrier): Set si_limit to 1018 instead of 1020, and
	hi_limit to 510 instead of 512.

Tue Mar  5 13:39:44 1996  Doug Evans  <dje@cygnus.com>

	* loop.c (init_loop): Use pseudo reg in add_cost computation
	so cost doesn't vary depending on whether reg 0 happens to be
	fixed or not.

Tue Mar  5 09:32:24 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* reg-stack.c (record_label_references): Check for undefined label.

Tue Mar  5 09:22:20 1996  Scott Christley (scottc@net-community.com)

	* objc/objc-api.h, objc/runtime.h: Include objc/thread.h.
	* objc/class.c (__objc_init_class_tables): Surround sarray access
	with mutex lock/unlock.
	(__objc_add_class_to_hash, objc_lookup_class): Likewise.
	(objc_get_class, objc_get_next_class): Likewise.
	(__objc_resolve_class_links, class_pose_as): Likewise.
	* objc/init.c (__objc_runtime_mutux, __objc_runtime_thread_alive):
	New variables.
	(objc_init_statics, __objc_init_protocols): Surround sarray access
	with mutex lock/unlock
	(__objc_exec_class): Likewise.
	Initialization for thread-safe global variables.
	Declarations for thread-safe functions and global variables
	* objc/sendmsg.c (get_imp, __objc_responds_to):
	Surround sarray access with mutex lock/unlock.
	(__objc_init_install_dtable): Likewise.
	(__objc_update_dispatch_table_for_class): Likewise.
	(__objc_print_dtable_stats): Likewise.
	* objc/selector.c (sel_get_typed_uid, sel_get_any_typed_uid): Likewise.
	(sel_get_any_uid, sel_get_name, sel_register_name): Likewise.
	(sel_register_typed_name): Likewise.
	* objc/sarray.h (union sversion): New.
	(struct sarray): Maintain multiple versions.
	(sarray_remove_garbage): Add prototype.
	* objc/sarray.c (sarray_{remove,free}_garbage): New functions.
	(sarray_at_put, sarray_new, sarray_lazy_copy):
	Modify/copy sarray structure/data in a thread-safe manner
	(sarray_{realloc,free}): Reallocate/free sarray structure/data in a
	thread-safe manner.

	* objc/THREADS, objc/thread.c, objc/thread.h: New files.
	* objc/thread-{decosf1,irix,solaris,win32,single}.c: New files.
	* objc/objc-list.h: Renamed from objc/list.h.
	* objc/Makefile: Changes to compile new files and name renaming.
	* objc/makefile.dos: Likewise.

Tue Mar  5 07:51:31 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* bc-emit.c, bc-optab.c (free): Delete declaration of library function.

	* c-decl.c (duplicate_decl): If making decl non-external, copy
	context from old to new.

Tue Mar  5 02:27:35 1996  Jeffrey A. Law  <law@cygnus.com

	* lib2funcs.asm (__outline_prologue): New "function".
	(__outline_epilogue): New "function".
	* pa.h (TARGET_SPACE): Define.
	(target_flags): Add -mspace and -mno-space.  Enable/disable
	space saving optimizations.
	(FRAME_POINTER_REQUIRED): Frame pointers are always required
	when generating out of line prologues and epilogues.
	* pa.c (compute_frame_size): Handle out of line prologues/epilogues.
	(hppa_expand_prologue): If optimizing for space, emit an out of
	line prologue.
	(hppa_expand_epilogue): Similarly.
	(override_options): Optimizing for space is not compatible with
	either profiling or PIC code generation.
	* pa.md (outline_prologue_call): New pattern.
	(outline_epilogue_call): Likewise.

Tue Mar  5 02:17:32 1996  Doug Evans  <dje@cygnus.com>

	* sparc.md (*cmp{si,di}_insn): %r0 -> %0.
	(DFmode move define_split): Ensure registers not extended v9 fp regs.
	(*mov{sf,df,tf}_cc_reg_sp64): %r3 -> %3.

Mon Mar  4 18:46:37 1996  Manfred Hollstein  <manfred@lts.sel.alcatel.de>

	* Makefile.in (CRT0STUFF_T_CFLAGS): New macro.
	(stamp-crt0, crt0.o, mcrt0.o): New goals.
	(STAGESTUFF): stamp-crt0 added.

	* collect2.c (main): Check new define DEFAULT_A_OUT_NAME.

	* m68k.c (print_operand): Emit .l as scale factor #ifdef MOTOROLA.
	* m68k/mot3300-crt0.S, m68k/mot3300Mcrt0.S: New files.
	* m68k/mot3300g.h: Deleted.
	* m68k/mot3300.h (FUNCTION_PROFILER): Emit label references
	corresponding to those generated by ASM_OUTPUT_INTERNAL_LABEL.
	(MOTOROLA, MOTOROLA_BSR, ...): Define #ifndef USE_GAS.
	(ASM_SPEC): Define properly #ifdef USE_GAS.
	(LIB_SPEC): -L/usr/lib/libp deleted.
	(STARTFILE_SPEC): -L/usr/lib/libp added.
	(DEFAULT_A_OUT_NAME): Define.
	(LINK_SPEC): Pass -v if GNU ld is used.
	(LOCAL_LABEL_PREFIX): Local labels start with .L using GAS, else L%.
	(USER_LABEL_PREFIX): Undefine.
	(FUNCTION_PROFILER): Call asm_fprintf instead of normal fprintf.
	(ASM_APP_ON, ASM_FILE_START): GAS supports it.
	(CTORS_.../DTORS_...): Define if GNU ld is used.
	(ASM_FILE_START): Define properly for Motorola and GNU as syntax.
	(TARGET_VERSION): Re-define only #ifndef USE_GAS.
	(CALL_USED_REGISTERS): Deleted.
	(GLOBAL_ASM_OP): Re-define only #ifndef USE_GAS.
	(ASM_{LONG,SHORT,CHAR,BYTE,BYTE_OP}): New macros.
	(ASM_OUTPUT_{DOUBLE,LONG_DOUBLE,FLOAT,INT,SHORT}): Use them.
	(ASM_OUTPUT_{CHAR,BYTE,ASCII,FLOAT_OPERAND,DOUBLE_OPERAND}): Likewise.
	(ALIGN_ASM_OP, SKIP_ASM_OP): New macros.
	(ASM_OUTPUT_{ALIGN,SKIP}): Use them.
	(ASM_OUTPUT_SOURCE_FILENAME): Define only if not using GNU as.
	(ASM_{GENERATE,OUTPUT}_INTERAL_LABEL): Provide proper definitions for
	Motorola and GNU as syntax.
	(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Changed for portability between
	Motorola and GNU as syntax.
	(ASM_OUTPUT_{CASE_LABEL,OPCODE}): Define only if not using GNU as.
	(ASM_OUTPUT_CASE_FETCH, ASM_RETURN_CASE_JUMP): New macros.
	(ASM_OUTPUT_{COMMON,LOCAL}): Proper defns for Motorola and gas syntax.
	(SDB_...): Define only for Motorola as.
	(ALT_LIBM): New define to tell g++.c about an alternative name for
	`-lm'.
	(MATH_LIBRARY, NEED_ATEXIT, HAVE_ATEXIT, EXIT_BODY): New macros.
	* m68k/t-mot3300, m68k/t-mot3300-{gald,gas,gld}: New files.
	* m68k/x-mot3300-gas: New file.
	* m68k/xm-mot3300.h (USG): Set to 1.
	* configure (m68k-motorola-sysv*): Keep track of new different
	combinations (--with-gnu-...), and provide proper definitions for
	tm_file, xmake_file, tmake_file, use_collect2, and extra_parts.

	* gbl-ctors.h (HAVE_ATEXIT): Define if NEED_ATEXIT is defined.
	(atexit): Use `int atexit' prototype also if NEED_ATEXIT is defined.
	(on_exit): According to man on_exit on the Sun it returns int not void.
	* libgcc2.c (L_bb/atexit, onexit): Declarations replaced by
	#include'ing "gbl-ctors.h".
	(L_exit/atexit): New function.
	(L_exit/exit): Call any registered functions.

Mon Mar  4 18:03:38 1996  Bryan Ford  (baford@cs.utah.edu)

	* configure (i[3456]86-moss-msdos*): New target.
	* i386/moss.h: New file.

Mon Mar  4 17:38:50 1996  Jim Wilson  <wilson@cygnus.com>

	* sh.h (PASS_IN_REG_P): Don't reject BLKmode for SH3e.
	For SH3e, do reject parameter that won't fit entirely in registers.

	* sh.md (mulhisi3-2, mulhisi3-1, mulsidi3_i, umulsidi3_i,
	smulsi3_highpart, umulsi3_highpart): Renames operands 1/2 to 0/1.
	(mulsidi3, umulsidi3): Add support for TARGET_LITTLE_ENDIAN.

	* sh.c (machine_dependent_reorg): In TARGET_RELAX code, when scan
	forward from LINK, fail if pass a CODE_LABEL before finding INSN.
	Fail if SCAN not INSN is a JUMP_INSN.

Mon Mar  4 11:27:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.h (CALL_LONG): Change CALL_xx values from an enumeration
	to bitmasks.  Add CALL_LONG to support longcall attributes.
	(rs6000_args): Call_cookie field is now an int.
	(rs6000_longcall_ref): Add declaration.

	* rs6000.c (init_cumulative_args): Add support for longcall
	attributes to always call through a pointer.
	(function_arg): Ditto.
	(rs6000_valid_type_attribute_p): Ditto.
	(rs6000_longcall_ref): New function for long calls.

	* rs6000.md (call insns): Add support for longcall attributes.

Mon Mar  4 08:42:14 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* real.c (significand_size): Don't test the modes, but their sizes.

	* dwarfout.c (xstrdup): Moved from here.
	* toplev.c (xstrdup): New function.
	* tree.h (xstrdup): Declare.
	* bc-emit.c (bc_xstrdup): Delete.
	* expr.c (bc_strdup): Delete.
	(bc_load_externaddr_id): Use xstrdup instead of bc_xstrdup.
	* function.c (bc_expand_function_start): Likewise.
	* 1750a.c (strdup): Delete.
	(float_label): Use xstrdup instead of strdup.
	* 1750a.h (xstrdup): Declare instead of instead of strdup.
	(ASM_OUTPUT_LABEL): Use xstrdup instead of strdup.
	(FIX_FRAME_POINTER_ADDRESS): Don't use DEPTH in string.

Mon Mar  4 08:23:23 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* xm-we32k.h (NO_WAIT_H): Deleted.

	* collect2.c: Never include wait.h.

Sat Mar  2 22:43:07 1996  Torbjorn Granlund  <tege@spiff.gnu.ai.mit.edu>

	* configure (code for making links): Work around sh bug on FreeBSD.

Sat Mar  2 13:40:29 1996  Jeffrey A. Law  <law@cygnus.com>

	* h8300.h (BIGGEST_FIELD_ALIGNMENT): Replace uses of
	TARGET_ALIGN_STRUCT_300 with TARGET_ALIGN_300.
	(BIGGEST_ALIGNMENT): Likewise.

Sat Mar  2 08:04:50 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* calls.c (expand_call): If passing by invisible ref, not const.

	* sparc.c (SKIP_CALLERS_UNIMP_P): Make agree with test used in call.

	* expr.c (do_jump, case COMPOUND_EXPR): Call preserve_temp_slots.

	* fold-const.c (fold, case *_DIV_EXPR): Ignore SAVE_EXPR if has RTL.

Fri Mar  1 17:59:17 1996  Jeffrey A. Law  <law@cygnus.com>

	* optabs.c (emit_cmp_insn): Immediately copy the return
	value from the library call into a pseudo register.
	(emit_float_lib_cmp): Likewise.

Fri Mar  1 14:37:40 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/sysv4.h (BSS_SECTION_ASM_OP): Define.
	(*_SECTION_ASM_OP): Change tab after .section into a space.
	(ASM_OUTPUT_INT): Ditto.
	(ASM_OUTPUT_ALIGNED_LOCAL): Rewrite to use bss_section.
	(ASM_OUTPUT_ALIGNED_BSS): Define to use ASM_GLOBALIZE_LABEL and
	ASM_OUTPUT_ALIGNED_LOCAL.

	* rs6000/win-nt.h (BSS_SECTION_ASM_OP): Define.
	(ASM_OUTPUT_ALIGNED_LOCAL): Define.
	(ASM_OUTPUT_LOCAL): Don't define any more.
	(ASM_OUTPUT_ALIGNED_BSS): Define to use ASM_GLOBALIZE_LABEL and
	ASM_OUTPUT_ALIGNED_LOCAL.

Thu Feb 29 17:33:12 1996  Jim Wilson  <wilson@chestnut.cygnus.com>

	* c-typeck.c (push_init_level): When output padding to align structure
	field, set constructor_unfilled_fields.

	* dbxout.c (dbxout_type, case METHOD_TYPE): Add CHARS (1) call
	after emitting second '#' character.

Thu Feb 29 13:59:27 1996  Doug Evans  <dje@charmed.cygnus.com>

	* h8300.h (ASM_OUTPUT_BSS): Define.
	* m68k/coff.h (BSS_SECTION_ASM_OP): Define.
	(ASM_OUTPUT_ALIGNED_BSS): Define.
	* m68k/m68k-aout.h (BSS_SECTION_ASM_OP): Define.
	(ASM_OUTPUT_BSS): Define.

Thu Feb 29 13:39:39 1996  Per Bothner  <bothner@cygnus.com>

	* varasm.c (compare_constant_1):  For a SET_TYPE CONSTRUCTOR,
	first extract and compare the set length.

	* varasm.c (record_constant_1):  For SET_TYPE CONSTRUCTOR,
	permanent_obstack.next_free is *end* of available space.

Thu Feb 29 13:14:14 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.h (TARGET_SWITCHES): Add new flags "-mlong-load-store" and
	"-mno-long-load-store".
	(TARGET_LONG_LOAD_STORE): Define.
	* pa.md (symbolic high part): Handle TARGET_LONG_LOAD_STORE.

Thu Feb 29 11:39:30 1996  Stan Cox  <coxs@dg-rtp.dg.com>

	* i386.md (cmpxf*): XF compare cannot have mem operands.
	(casesi expand): Put (minus:SI..) into subsi3 format.
	* i386.c (i386_return_pops_args): Cleanup extra argument
	used as address of a returned structure.

Wed Feb 28 22:24:28 1996  Doug Evans  <dje@cygnus.com>

	* varasm.c (enum in_section): Define in_bss if BSS_SECTION_ASM_OP
	is defined.
	(bss_section,asm_output_bss,asm_output_aligned_bss): New functions.
	(assemble_variable): Delete redundant test for too large an object.
	Rewrite test for uninitialized variables.  Use new macros
	ASM_OUTPUT{,_ALIGNED}_BSS if defined to output global uninitialized
	but not common variables.
	* bytecode.h (BC_OUTPUT_BSS): Define.
	* lynx.h (EXTRA_SECTIONS): Delete in_bss.
	(EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
	* svr3.h (EXTRA_SECTIONS): Likewise.
	(BSS_SECTION_FUNCTION): Delete.
	* convex.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
	* dsp16xx.h (EXTRA_SECTIONS): Delete in_bss.
	(EXTRA_SECTION_FUNCTIONS): Delete bss_section.
	* gmicro.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
	* i386/aix386ng.h (EXTRA_SECTION_FUNCTIONS): Delete
	BSS_SECTION_FUNCTION.
	* i386/att.h (BSS_SECTION_FUNCTION): Delete.
	* i386/sco5.h (EXTRA_SECTIONS): Delete in_bss.
	(EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
	(BSS_SECTION_FUNCTION): Delete.
	* i386/seq-sysv3.h (BSS_SECTION_FUNCTION): Delete.
	* i386/svr3gas.h (EXTRA_SECTIONS): Delete in_bss.
	(EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
	(BSS_SECTION_FUNCTION): Delete.
	* i860/paragon.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Undef.
	* m68k/crds.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
	(BSS_SECTION_ASM_OP): Define.
	* m68k/m68k.h (BC_OUTPUT_BSS): Define.
	* mips/iris6.h (EXTRA_SECTIONS): Delete in_bss.
	* pa.h (EXTRA_SECTIONS): Delete in_bss.
	(EXTRA_SECTION_FUNCTIONS): Delete bss_section.
	* sparc/litecoff.h (EXTRA_SECTIONS): Delete in_bss.

Wed Feb 28 14:12:25 1996  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.h (FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): Include FP
	registers only when TARGET_SH3E.
	(PASS_IN_REG_P): Exclude BLKmode only when ! TARGET_SH3E.

Wed Feb 28 12:03:26 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.c (rs6000_trampoline_{template,size}): Change Windows NT
	trampoline template so it doesn't require making stack executable.
	Add support for 64 bit systems.
	(rs6000_initialize_trampoline): Ditto.

Tue Feb 27 16:42:00 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c (print_operand): New code 'H'.
	* rs6000.md (insv, extzv): Add DImode patterns.  Use 'h'
	consistently for masking SImode shifts.
	(rotldi3, ashldi3, lshrdi3, ashrdi3): Use 'H'.
	(movsf split): Generate CONST_INT instead of SUBREG.

Tue Feb 27 15:02:17 1996  Doug Evans  <dje@cygnus.com>

	* sh.h (HANDLE_PRAGMA): Delete `return'.

Tue Feb 27 08:18:12 1996  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm.c (aof_text_section): Remove pseudo read-only hack.  Doesn't
	take a parameter any more.
	* arm/aof.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove
	readonly data sections.
	(READONLYDATA_SECTION, READONLY_DATA_SECTION): Delete.

	* arm.h (enum arm_cond_code): New enum.
	(ARM_INVERSE_CONDITION_CODE): Moved here from arm.c.
	(SELECT_CC_MODE): Call arm_select_cc_mode to do the work.
	(PREDICATE_CODES): Add dominant_cc_register; delete
	reversible_cc_register.
	* arm.c (arm_current_cc): Now an enum.
	(ARM_INVERSE_CONDITION_CODE): Moved to arm.h
	(revsersible_cc_register): Delete.
	(dominant_cc_register): New function.
	(select_dominance_cc_mode): New function.
	(arm_select_cc_mode): New function.
	(output_return_instruction): New parameter REVERSE, used to
	reverse the condition of a conditional return.  All callers
	changed.
	(arm_print_operand case 'D'): Only suppress condition printing
	if the operand is a NULL pointer.
	(get_arm_condition_code): Now a static function returning
	enum arm_cond_code.  Handle dominance expressions.  Return enum
	values rather than integers.
	* arm.md (*addsi3_compare0_scratch): New insn.
	(*movsi_compare0, *cmpsi_insn, *cmpsi_shiftsi): Make sure the
	compare has mode CC.
	(cmp{si,sf,df,xf} expands): Just provide sufficient information
	to allow the parameters to be matched properly.
	(*cmpsi_negsi): Delete (of dubious validity).
	(*cmpsi_shiftsi_swp): New pattern.
	(*condbranch_reversed): No longer needs to check REVERSIBLE_CC_MODE.
	(mov{si,sf,df}cc, *mov{si,sf,df}{,_hard,_soft}_insn): The mode of the
	IF_THEN_ELSE must be appropriate to the target (not void).
	(*and_scc): Match cc_register, not reversible_cc_register.
	(*ior_compare_compare): Delete.
	(split for ior_compare_compare + condjump): Delete.
	(*impossible_cond_compare): Delete.
	(*condition_compare_ior): Delete.
	(*cond_move): Mode for the IF_THEN_ELSE must be SImode.
	(*and_scc_scc): Delete.
	(split for and_scc_scc + condjump): Delete.
	(*impossible_cond_branch_and): Delete.
	(*cmp_ite0, *cmp_ite1): New patterns.
	(if_compare_not): Should be an anonymous pattern.
	(Peephole for move and compare): Compare mode must be mode CCmode.
	(Split pattern for comparing shifted reg then branch): Delete.
	(*loadqi_compare): Delete, replaced with a split pattern to do
	the same thing.
	(*cond_move_not): Match cc_register, not reversible_cc_register.

	* arm.c ({load,store}_multiple_sequence): New functions.
	(emit_{ldm,stm}_seq): New functions.
	* arm.md (load/store multiple peepholes): Rewrite using the above
	functions.
	(all patterns taking immediate_operand): If the code later assumes
	this is a CONST_INT, then match const_int_operand instead.

Mon Feb 26 17:26:13 1996  Doug Evans  <dje@cygnus.com>

	* sparc.md: Add sparclet scheduling parameters.
	(compare define_insn's): Move closer to compare define_expand's.
	(32 bit multiply patterns): Use for TARGET_SPARCLET.
	(*smacsi,*smacdi,*umacdi): Multiply/accumulate patterns for the
	sparclet.

Sat Feb 24 19:13:29 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (movsf split): Fix typo in last patch.

Sat Feb 24 10:02:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* toplev.c (fatal_insn): Flush stdout/stderr.

Sat Feb 24 02:03:28 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.md (abssi2): Rework to avoid matching constraints.

Fri Feb 23 11:21:43 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.c (override_options): Warn if both PIC code generation and
	profiling are requested.

Fri Feb 23 08:47:38 1996  Richard Kenner  (kenner at vlsi1)

	* expr.c (expand_builtin, case BUILT_IN_SETJMP): Set CONST_CALL_P
	on NOTE_INSN_SETJMP instead of emitting USE insns for call-saved regs.
	* reload1.c (reload): For special CONST_CALL_P NOTE_INSN_SETJMP,
	mark all call-saved regs as used.
	* sched.c (sched_analyze): Record NOTE_INSN_SETJMP if no
	CALL_INSN as prev; preserve CONST_CALL_P bit.
	(reemit_notes): Restore CONST_CALL_P.

Thu Feb 22 17:45:12 1996  Doug Evans  <dje@cygnus.com>

	* configure (sparclet-*-aout*): Set extra_headers.
	* ginclude/inl-sparc.h: New file.

Wed Feb 21 20:39:53 1996  Doug Evans  <dje@cygnus.com>

	* configure (sparc64-*-solaris2*): Merge with sparc-*-solaris2*.
	* sparc.h (enum processor_type): Declare.
	(sparc_cpu_attr): Define.
	(TARGET_OPTIONS): Add -mtune=.
	(sparc_select): Declare.
	(sparc_cpu_string): Delete.
	(FIRST_PSEUDO_REGISTER): Set to 100.
	({FIXED,CALL_USED}_REGISTERS): Merge !v9/v9 cases.
	(CONDITIONAL_REGISTER_USAGE): Mark %g5 as fixed if !v9.
	Mark %g1 as fixed if v9.  Fix v9-only regs if !v9.
	Mark fp{16..47} as call-saved if v9.
	(enum reg_class): Merge !v9/v9 cases.
	(REG_CLASS_NAMES,REG_CLASS_CONTENTS,REGNO_REG_CLASS): Likewise.
	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Likewise.
	(FP_REG_CLASS_P,SPARC_REGISTER_NAMES): Likewise.
	(REG_CLASS_FROM_LETTER): Test TARGET_V9 at runtime.
	* sparc.c (sparc_cpu_string): Delete.
	(sparc_select): New global.
	(sparc_override_options): Handle -mtune=xxx.
	* sparc.md (cpu attr): Add sparc{lite,let} implementations.
	* sparc/sp64-sol2.h: Deleted.

	* arm.md (consttable_end): Delete call to text_section.
	(align_4): Delete call to readonly_data_section.

Wed Feb 21 14:29:06 1996  Ian Lance Taylor  <ian@cygnus.com>

        * cplus-dem.c (demangle_template): Initialize is_bool.  Correctly
        handle 0 as a pointer value parameter.

Wed Feb 21 14:13:29 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* tree.c (decl_function_context): Do decl_function_context right for
	function-local classes.

Wed Feb 21 12:42:52 1996  Jeffrey A. Law  <law@cygnus.com>

	* c-typeck.c (initializer_constant_valid_p): Don't dereference
	a null pointer on partial structure initialization.

Wed Feb 21 11:49:58 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (ASM_OUTPUT_EXTERNAL): Append section info
	even when verbatim symbol prefix '*' present.
	* rs6000/aix3newas.h (ASM_OUTPUT_EXTERNAL): Same.
	* rs6000/aix41.h (ASM_OUTPUT_EXTERNAL): Same.
	* rs6000/powerpc.h (ASM_OUTPUT_EXTERNAL): Same.
	* rs6000/win-nt.h (ASM_OUTPUT_EXTERNAL): Same.

Wed Feb 21 03:55:32 1996  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (validate_else): Don't loop given `#endif /'.
	Handle multiple adjacent backslash-newlines correctly.
	Accept a new parameter LIMIT to specify end of input;
	this prevents confusion when the input contains '\0' characters.
	(collect_expansion): Fix off-by-1 error when searching for `*/'
	at end of a comment used for traditional token concatenation.
	(macarg1): Fix off-by-1 error when skipping past `*/'
	at end of comment.

Tue Feb 20 16:12:31 1996  Doug Evans  <dje@cygnus.com>

	* hard-reg-set.h (twice unrolled GO_IF_HARD_REG_EQUAL): Add missing \.

Tue Feb 20 14:21:16 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters.

	* pa.c (hppa_expand_epilogue): Always emit a blockage insn
	before cutting back the stack.

Mon Feb 19 19:42:15 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>

	* sparc.h (TARGET_SWITCHES): Add -m{,no-}impure-text.
	(MASK_IMPURE_TEXT, TARGET_IMPURE_TEXT): Define.
	(LINK_SPEC): Only add `-assert pure-text' if -mimpure-text wasn't used.

Mon Feb 19 19:20:15 1996  Doug Evans  <dje@canuck.cygnus.com>

	* configure (sparc-aout): sparc-aout.h renamed to aout.h.
	(sparclet-aout): Likewise.
	(sparclite-*-aout*): Renamed from sparclite-*-*.
	Don't set use_collect2.
	(target_cpu_default): Set to TARGET_CPU_<cpu> for sparc.

	* sparc.h (TARGET_CPU_sparc{,let,lite,64}): Define.
	({CPP,ASM}_DEFAULT_SPEC): Set from TARGET_CPU_foo.
	(SPARC_ARCH64 CPP_PREDEFINES): Define __arch64__.
	(CPP_SPEC): Add %(cpp_cpu).
	(CPP_CPU_SPEC): Define.
	(CC1_SPEC): Convert -m<cpu> to -mcpu=<cpu>.
	(ASM_SPEC): Add %(asm_cpu).
	(ASM_CPU_SPEC): Define.
	(EXTRA_SPECS,SUBTARGET_EXTRA_SPECS): Define.
	(OVERRIDE_OPTIONS): Call SUBTARGET_OVERRIDE_OPTIONS after
	sparc_override_options.
	({MASK,TARGET}_SUPERSPARC): Delete.
	({MASK,TARGET}_SPARCLET): Define.
	(MASK_ISA): Renamed from MASK_CPUS.
	(TARGET_SWITCHES): Delete no-{v8,sparclite}.
	(sparc_cpu,sparc_cpu_string): Declare.
	({SUB,}TARGET_OPTIONS): Define.
	(FIXED_REGISTERS): Add definitions for sparc64 in 32 bit mode.
	(CONDITIONAL_REGISTER_USAGE): Don't set fixed_regs[234] if sparc64.
	Don't set call_used_regs[48..80] for sparc64 in 32 bit mode.
	Don't clobber fixed_regs[234] if -ffixed- was passed.
	(ADJUST_COST): Change test for supersparc.
	* sparc.c (sparc_cpu_string,sparc_cpu): New globals.
	(sparc_override_options): Set ISA and CPU from sparc_cpu_string.
	Delete tests for v9 only switches if not v9.
	Error if -mcpu=v9 and v9 support not compiled in.
	* sparc/sol2.h (CPP_SPEC): Use %(cpp_cpu).
	(ASM_SPEC): Likewise.
	(ASM_{DEFAULT,CPU}_SPEC): Use Solaris syntax for sparc64.
	* sparc/sysv4.h (ASM_SPEC): Add %(asm_cpu).
	* sparc/t-sparcbare (MULTILIB_*): -mv8 renamed to -mcpu=v8.
	* sparc/t-sparclite (MULTILIB_*): Delete msoft-float and mno-flat,
	they're the defaults.  Add -mcpu=f934 as synonym for -mfpu.
	* va-sparc.h (__arch64__): Renamed from __sparc_v9__.

	* sparc/lite.h: #include aoutos.h.
	(TARGET_DEFAULT): Use MASK_FOO values.
	* sparc/sp64-aout.h: #include aoutos.h.
	(TARGET_DEFAULT): Add MASK_APP_REGS.
	(JUMP_TABLES_IN_TEXT_SECTION,READONLY_DATA_SECTION): Delete.
	* sparc/sp64-elf.h (TARGET_DEFAULT): Add MASK_APP_REGS.
 	(CPP_PREDEFINES): Define __arch64__.
	* sparc/sp64-sol2.h (TARGET_DEFAULT, SUBTARGET_SWITCHES): Delete.
	(ASM_SPEC): Delete.

	* sparc.h ({MASK,TARGET}_FRW): Delete.
	(FRAME_POINTER_REQUIRED,INITIAL_FRAME_POINTER_OFFSET,
	BASE_{INCOMING_ARG,OUTGOING_VALUE}_REG,INCOMING_REGNO,OUTGOING_REGNO,
	FUNCTION_{PROLOGUE,EPILOGUE},DELAY_SLOTS_FOR_EPILOGUE): TARGET_FRW
	renamed to TARGET_FLAT.

	* sparc.md (cpu attr): Add all cpu variants.
	(negtf2,negdf2,abstf2,absdf2): Use isa attr, not arch attr, in
	determining insn lengths.

	* sparc/aout.h: Renamed from sparc-aout.h.
	(CPP_PREDEFINES): Delete __GCC_NEW_VARARGS__.
	Add -Acpu(sparc) -Amachine(sparc).

Mon Feb 19 17:49:08 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (movsf split): Use SUBREG, not operand_subword.
	(movdf split): operand_subword TARGET_32BIT and new split using
	SUBREG for TARGET_64BIT.
	* rs6000.c (easy_fp_constant): Rewrite to not use operand_subword.
	(input_operand): Remove final add_operand test made irrelevant by
	Dec. 8 change.
	(output_toc): Handle DImode values.

Mon Feb 19 13:38:00 1996  Lee Iverson  <leei@Canada.AI.SRI.COM>

	* i386/sol2.h (SWITCH_TAKES_ARG): Restore -R.
	* sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.

Mon Feb 19 08:19:00 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* hard-reg-set.h (HARD_REG macros): If more than
	HOST_BITS_PER_WIDE_INT hard registers and less than or equal to
	4*HOST_BITS_PER_WIDE_INT hard registers, unroll loops by hand.

Mon Feb 19 07:35:07 1996  Torbjorn Granlund  <tege@tmg.se>

	* rs6000.md (not:SI with assign and compare): Fix typo.
	(not:DI with assign and compare): Likewise.

Mon Feb 19 07:17:25 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* sparc.md (nonlocal_goto): No longer need USE of %o0.
	(goto_handler_and_restore): Show uses %o0.

	* combine.c (force_to_mode, case IOR): Fix typo in commuting
	IOR and LSHIFTRT.

	* alpha.c (call_operand): If in REG, only reg 27 valid.

Mon Feb 19 06:57:34 1996  Richard Earnshaw (rearnsha@armltd.co.uk)

	* emit-rtl.c (operand_subword): For 32-bit targets, return
	the appropriate subword of extended precision CONST_DOUBLEs.

	* arm.c (offsettable_memory_operand): New function.
	(alignable_memory_operand): New function.
	(gen_rotated_half_load): New function.
	(get_arm_condition_code): Extract the mode of the comparison and
	use it to generate the correct return value.
	* arm.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Zmode.
	(SELECT_CC_MODE): return CC_Zmode if the operand is QImode.  Allow LT
	and GE comparisons in CC_NOOVmode.
	(PREDICATE_CODES): add offsettable_memory_operand and
	alignable_memory_operand.
	* arm.md (*zeroextract[qs]i_compare0_scratch): Use const_int_operand
	for operands 1 and 2.
	(split patterns for aligned memory half-word operations): New patterns.
	(movhi): Handle memory accesses where the alignment is known in a more
	efficient manner.
	(*compareqi_eq0): Use CC_Zmode.

Mon Feb 19 05:34:08 1996  Jason Merrill  <jason@phydeaux.cygnus.com>

	* toplev.c (lang_options): Add -W{no-,}sign-compare.

	* c-tree.h: Declare warn_sign_compare.

	* c-typeck.c (build_binary_op): Check warn_sign_compare rather
        than extra_warnings to decide whether to warn about comparison of
        signed and unsigned.

	* c-decl.c (c_decode_option): Handle warn_sign_compare.  -Wall
        implies -Wsign-compare.

Sun Feb 18 21:13:44 1996  Pat Rankin  (rankin@eql.caltech.edu)

	* c-lex.c (yylex, case '0'..'9','.'): For cases '0' and '1',
	check for single digit constant before resorting to general
	number processing.

Sun Feb 18 19:29:44 1996  J.T. Conklin  <jtc@netbsd.org>

	* m68k.h (TARGET_68060): New macro.
	(TARGET_SWITCHES): Add -m68060.
	* m68k.md (const_umulsi3_highpart): Disable for TARGET_M68060.
	(ftruncdf2, ftruncsf2, muldf3, mulsidi3): Likewise.
	(smulsi3_highpart, umulsi3_highpart, umulsidi3): Likewise.

	* {m68k,ns32k,sparc}/netbsd.h (DBX_NO_XREFS): Removed.

Sun Feb 18 13:29:56 1996  Charles M. Hannum  (mycroft@netbsd.org)

	* c-common.c (check_format_info): Warn about `L' if -pedantic.

Fri Feb 16 20:13:23 1996  Paul Eggert  <eggert@twinsun.com>

	* c-typeck.c (convert_for_assignment):
	Bring back conversion to union without a cast,
	undoing the Jan 16 change, but with the following differences:
	- The union must have the transparent_union attribute.
	- The conversion must be for a function argument.
	- Warn consistently about such conversions if pedantic.
	- Do not warn about an assignment incompatibility for one union member
	  if another union member is compatible with no warning.

Fri Feb 16 12:06:21 1996  Stan Cox  <coxs@spiff.gnu.ai.mit.edu>

	* i386.c (ix86_*_binary_operator*): Allow CONST_INT as operand1
	of MINUS.
	* i386/dgux.h (OPTIMIZATION_OPTIONS): Call optimization_options.

Fri Feb 16 08:39:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* configure: Change stdout report when have multiple files in
	tm_file, host_xm_file, or build_xm_file.
	(a29k-*-bsd): Use both a29k.h and unix.h.
	(a29k-*-udi): Rename a29k-udi.h to udi.h;
	use a29k.h, dbxcoff.h, and it.
	(a29k-*-vxworks): Use a29k.h, dbxcoff.h, a29k/udi.h, and a29k/vx29k.h.
	(alpha-dec-osf[23456789]*): Use alpha.h, not osf2.h.
	(alpha-dec-osf1.2): Use alpha.h and alpha/osf12.h.
	(alpha-*-osf*): Add explicit assignment of tm_file.
	* a29k/udi.h: Renamed from a29k-udi.h.
	Don't include a29k.h or dbxcoff.h.
	* a29k/unix.h: Don't include a29k.h.
	* a29k/vx29k.h: Don't include a29k-udi.h.
	* alpha.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use unsigned int.
	* alpha/osf2.h: Deleted.
	* alpha/osf12.h: Don't include alpha.h.
	(WCHAR_TYPE, WCHAR_TYPE_SIZE): Use short unsigned int.
	* alpha/win-nt.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use short unsigned int.

Thu Feb 15 18:26:04 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/ntstack.asm (__allocate_stack): Round up length to 16
	byte boundary.

	* rs6000.md (allocate_stack): On Windows NT, call set_sp to
	indicate to CSE  stack pointer changes with  call to __allocate_stack.
	(set_sp): New pattern.

Thu Feb 15 16:49:15 1996  Jim Wilson  <wilson@cygnus.com>

	* integrate.c (save_for_inline_copying): Allocate reg_map with size
	based on regno_pointer_flag_length instead of max_reg+1.

Thu Feb 15 07:48:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fixincludes (rpc/types.h): Remove spurious "ls" command.

	* reload1.c (eliminate_regs, case USE): If using a register that
	is source of elimination, show can't be eliminated.

	* expr.c (expand_builtin, case BUILT_IN_SETJMP): Shows clobbers FP
	and all caller-save registers.
	Set current_function_has_nonlocal_goto.

Wed Feb 14 13:51:55 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (fix_truncdfsi2): Use SUBREG not operand_subword.
	(movdi): Test HOST_BITS_PER_WIDE_INT at build time.
	* collect2.c (scan_libraries): Append '/' to import path if missing.

Wed Feb 14 09:01:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.md (movdi): Use HOST_WIDE_INT, not long long.

Tue Feb 13 19:36:21 1996  Per Bothner  <bothner@cygnus.com>

	* expr.c (store_constructor):  Fix flow control thinko (merge error).
	* expr.c (store_constructor):  Pass correct value to recursive call.

Wed Jan 31 11:34:45 1996  Mike Stump  <mrs@cygnus.com>

	* expr.c (expand_expr, case TARGET_EXPR): We must always store
	into the allocated slot for TAREGT_EXPRs.

Tue Feb 13 18:27:05 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* configure (powerpc-ibm-aix3): Look for 3.2.x, not 3.2x.

	* fixincludes (memory.h): Fix it also on sysV68.

Tue Feb 13 17:59:03 1996  Lee Iverson  <leei@Canada.AI.SRI.COM>

	* gcc.c (DEFAULT_SWITCH_TAKES_ARG): New macro, from SWITCH_TAKES_ARG.
	(SWITCH_TAKES_ARG): Use it.
	* i386/{osfrose,sol2}.h (SWITCH_TAKES_ARG): Likewise.
	* mips/{gnu,mips}.h (SWITCH_TAKES_ARG): Likewise.
	* sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.
	* config/svr4.h (SWITCH_TAKES_ARG): Likewise.

Tue Feb 13 17:43:46 1996  Jim Wilson  <wilson@cygnus.com>

	* integrate.c (save_constants_in_decl_trees): New function.
	(save_for_inline_copying, save_for_inline_nocopy): Call it.

Tue Feb 13 17:40:27 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* expr.c (convert_move): Fix typo in extendqfh2 case.

	* reload1.c (reload): Make some non-group code no longer
 	conditional on SMALL_REGISTER_CLASSES.

Tue Feb 13 17:30:45 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* pdp11.c: #include flags.h
	(output_function_prologue, function_epilogue): Remove declarations
	of call_used_regs and frame_pointer_needed.

	* c-common.c (overflow_warning): Fix typo in warning message.

	* c-decl.c (finish_decl): TREE_ASM_WRITTEN says if duplicate_decls
	modified declaration to match an outside file scope declaration.

	* stmt.c (expand_end_case): Don't use ADDR_DIFF_VEC for PIC if
	ASM_OUTPUT_ADDR_DIFF_ELT is not defined.
	* a29k.h, romp.h (ASM_OUTPUT_ADDR_DIFF_ELT): Remove.

Tue Feb 13 13:36:36 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/cygwin32.h (CPP_PREDEFINES): Do not define PPC, just
	define __PPC__.  Also define _ARCH_PPC to be compatible with the
	other rs6000/powerpc ports.
	* rs6000/win-nt.h (CPP_PREDEFINES): Ditto.

	* rs6000/cygwin32.h (LIBGCC_SPEC): Don't define, always link in.
	(SDB_DEBUGGING_INFO): Undef.
	(DBX_DEBUGGING_INFO): Define.
	(PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.

	* rs6000/t-{cygwin32,winnt} (MULTILIB*): Remove multilib support.

	* rs6000/x-cygwin32 (LANGUAGES): Delete, don't override.

	* rs6000/ntstack.asm: New file to provide __allocate_stack, which
	guarantees all pages in a dynamically allocated stack frame are
	touched in order, so that the stack is properly grown.

	* rs6000/cgywin32.asm: Delete unused file.

	* rs6000/t-{cygwin32,winnt} (LIB2FUNCS_EXTRA): Add ntstack.S
	to libgcc2 build.

	* rs6000.md (allocate_stack): For NT, call __allocate_stack to
	bump the stack if the size is large or variable.

	* libgcc1-test.c (mainCRTStartup,__start): New startup functions
	to silence more linkers.

Tue Feb 13 13:30:53 1996  Jim Wilson  <wilson@cygnus.com>

	* expr.c (store_constructor_field): Only call change_address if
	bitpos is nonzero.

Tue Feb 13 08:21:01 1996  Fila Kolodny <fila@ibi.com>

	* i370/mvs.h (CPP_SPEC): Add '-trigraphs' because IBM's h files
	contain them.

Tue Feb 13 08:17:52 1996  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>

	* c-typeck.c (quality_type prototype): Typo, rename as
	qualify_type.
	(build_binary_op): Fix precedence errors.
	* combine.c (force_to_mode, num_sign_bit_copies, simplify_comparison):
	Fix precedence errors.
	* emit-rtl.c (gen_lowpart): Could return without a value.
	* jump.c (jump_optimize): Fix potential infinite loop.
	* reg-stack.c (record_reg_life_pat): Fix precedence error.
	* reload1.c (emit_reload_insns): Fix precedence errors.
	* stmt.c (bc_pushcase): Fix precedence error.

Mon Feb 12 23:14:02 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* toplev.c (rest_of_compilation): Also set RTX_INTEGRATED_P when
 	we aren't going to emit the inline just yet.

Mon Feb 12 21:31:02 1996  Jim Wilson  <wilson@cygnus.com>

	* rtl.h (INLINE_REGNO_POINTER_FLAG, INLINE_REGNO_POINTER_ALIGN):
	Add one to array index.

Mon Feb 12 20:55:39 1996  H.J. Lu  (hjl@gnu.ai.mit.edu)

	* configure (i[345]86-*-linux*): Set tmake_file t-linux.
	Add crtbeginS.o and crtendS.o to extra_parts.
	* i386/linux.h (CC1, LIB_SPEC): Deleted.
	* config/linux.h (STARTFILE_SPEC): Add crtbeginS.o if -shared.
	(CC1_SPEC): New.
	(LIB_SPEC): Remove %{mieee-fp:-lieee}; use -lc_p for -profile.
	* config/t-linux: New file.

Mon Feb 12 20:42:11 1996  Randy Smith  <randys@camaro.osf.org>

	* i386/x-osfrose (XCFLAGS{,_NODEBUG}): Remove $(SHLIB).
	(XCFLAGS): New variable.
	(libdir, mandir, bindir): Delete.
	* i386/t-osf: New file.
	* i860/paragon.h (STARTFILE_SPEC): Make gcc find crt0.o, not loader.
	(LIB_SPEC): Remove /usr/lib.
	* Makefile.in (TCFLAGS): New variable.
	(GCC_CFLAGS): Add $(TCFLAGS).
	(LIBGCC2_CFLAGS): Add -D for __GCC_FLOAT_NOT_NEEDED.
	(libgcc1-test): Remove -nostdlib.
	(float.h-cross): Don't give error #ifdef __GCC_FLOAT_NOT_NEEDED.
	* enquire.c: Define __GCC_FLOAT_NOT_NEEEDED.
	* configure (i[3456]86-*-osfrose): Add t-osf as tmake_file.

Mon Feb 12 18:43:54 1996  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)

	* 1750a.c (add_1_to_mem): Corrected.

Mon Feb 12 18:23:35 1996  Doug Evans  <dje@cygnus.com>

	* configure (sparclet-*-aout*): New configuration.

Mon Feb 12 14:43:50 1996  Per Bothner  <bothner@cygnus.com>

	Changes to distinguish typedef from original type in debug output.
	* tree.h (DECL_ORIGINAL_TYPE):  New macro.
	* tree.c (copy_node):  Zero out type.symtab union.
	* c-decl.c (pushdecl):  Set DECL_ORIGINAL_TYPE for typedef origin.
	* dbxout,c (dbxout_type):  Don't canonicalize typedef type to base.

Mon Feb 12 12:01:16 1996  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm.h: (CPP_SPEC): Define __ARMEB__, __ARMEL__, and
	__ARMWEL__ depending on the endian flags passed to the compiler.
	(ARM_FLAG_LITTLE_WORDS): Define.
	(TARGET_SWITCHES): Add option -mwords-little-endian.
	(TARGET_LITTLE_WORDS): Define.
	(WORDS_BIG_ENDIAN): Select based on the endian switches.
	(LIBGCC2_WORDS_BIG_ENDIAN): Define based on run-time endian
	defines.
	* arm.c (output_move_double): Cope with both word-endian
	alternatives.  Remove extraneous parameters from calls to
	output_mov_immediate.
	(arm_print_operand): New print code 'Q' for the least significant
	register of a DImode operand.  Make code 'R' always print the
	most significant register, rather than the highest numbered.
	* arm.md (all DImode output patterns): Use print code
	'Q' to access the least significant word.  Make sure the
	patterns are fully aware of the word endianness.

	* arm/semi.h (CPP_SPEC):  Define __ARMEB__, __ARMEL__, and
	__ARMWEL__ depending on the endian flags passed to the compiler.
	(LINK_SPEC): Pass -EB to the linker if compiling for big-endian
	mode.
	(ASM_SPEC): Likewise for the assembler.
	* arm/semiaof.h (CPP_SPEC):  Define __ARMEB__, __ARMEL__, and
	__ARMWEL__ depending on the endian flags passed to the compiler.

Mon Feb 12 10:15:29 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure: Permit tm_file and xm_file to be a list of header
	file names, rather than just a single file.  For many targets,
	handle --with-stabs by adding dbx.h to tm_file, rather than using
	a different tm_file.
	* dbx.h: New file.
	* alpha/gdb-osf2.h, alpha/gdb-osf12.h, alpha/gdb.h: Deleted.
	* i386/sysv4gdb.h, mips/iris{5gdb,4gl,4gdb,3gdb}.h: Likewise.
	* mips/dec-gosf1.h, mips/news{4,5}-gdb.h, mips/svr4-t-gdb.h: Likewise.
	* mips/ultrix-gdb.h, mips/bsd-{4,5}-gdb.h: Likewise.
	* mips/svr{4-5,4-4,3-5,3-4}-gdb.h, mips/mips-5-gdb.h: Likewise.
	* mips/ecoff{,l}-gdb.h, mips/mips-4-gdb.h: Likewise.

Mon Feb 12 07:22:20 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* integrate.c (save_for_inline_copying): Put virtual regs into
	new regno_reg_rtx copy.

Sun Feb 11 18:53:12 1996  Torbjorn Granlund  <tege@noisy.tmg.se>

	* i386.md: Delete spurious integer subtract patterns.
	Delete % from subtract operand constraints.

Sun Feb 11 19:17:24 1996  Jeffrey A. Law  <law@cygnus.com>

	* m68k.md (movqi): Call CC_STATUS_INIT when loading to/from
	an address register via a data register.

Sun Feb 11 08:44:49 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-common.c (check_format_info): Handle missing type in format
	when terminated by a new `%'.

Sat Feb 10 15:14:22 1996  J.T. Conklin  <jtc@rtl.cygnus.com>

	* cross-make (STMP_FIXPROTO): Moved from here to build-make.
	* build-make (STMP_FIXPROTO): Moved here from cross-make.

Sat Feb 10 08:39:05 1996  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)

	* 1750a.md (movstrqi): Corrected.
	(zero_extendqihi2): Taken out, let GCC synthesize.
	(movhi-1): Added insn to move HImode small constant to memory.
	(movhf-1): Added insn to move HFmode zero to memory.
	(movtqf-1): Added insn to move TQFmode zero to memory.
	(numerous insns): Taken out B (Base Reg with Index) mode.

	* 1750a.c (movcnt_regno_adjust): Corrected.
	(mov_memory_operand, zero_operand): Added.
	(b_mode_operand): Corrected.
	(simple_memory_operand, add_1_to_mem): Added.
	(print_operand_address): Corrected case of 'Q' output modifier.

	* 1750a.h (REG_ALLOC_ORDER): Changed back to natural order.
	(CONST_DOUBLE_OK_FOR_LETTER_P): Added letter 'G'.
	(EXIT_IGNORE_STACK): Set to 0.
	(REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Use corresponding REGNO_OK.
	(MOVE_MAX, MOVE_RATIO): Defined.

Sat Feb 10 08:28:12 1996  Martin Anantharaman  <martin@goofy.imech.uni-duisburg.de>

	* configure (m68k-*-psos*): New configuration.
	* psos.h: New file.
	* m68k/m68k-psos.h: New file.

Sat Feb 10 08:07:52 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* sched.c (flush_pending_lists): Add new arg, ONLY_WRITE.
	(sched_analyze_{1,2,insn}): Add new arg to flush_pending_lists.
	(sched_analyze): Always flush pending write list for call, even const.

	* integrate.c (save_for_inline_copying): Put reg_map in function's
	maybepermanent obstack instead of using alloca; set regno_reg_rtx
	to it; delete recently-added copying of this later.

Sat Feb 10 00:49:58 1996  Doug Evans  <dje@cygnus.com>

	* sched.c (add_dependence): Add test for next != CODE_LABEL.

Fri Feb  9 16:10:04 1996  Stan Cox  (coxs@dg-rtp.dg.com)

	* i386.md (fp, integer): Added function units for pentium.
	(cmp*,mov*,add*,sub*,mul*,div*,extend*,trunc*,and*,ior*,xor*,neg*,
	abs*,sqrt*,sin*,cos*,not*,ash*,lsh*,rot*,sub): Tightened constraints,
	added attribute support, and made changes for new `binary' and
	`unary' functions.

	* i386.c (processor_costs): New variable.
	(optimization_options, ix86_expand_binary_operator,
	ix86_binary_operator_ok, ix86_expand_unary_operator,
	ix86_unary_operator_ok, is_mul, is_div, copy_all_rtx, rewrite_address,
	last_to_set_cc, doesnt_st_condition_code, sets_condition_code,
	str_immediate_operand, is_fp_insn, is_fp_dest, is_fp_store,
	agi_dependent, reg_mentioned_in_mem): New functions.

	* i386.h (OPTIMIZATION_OPTIONS, ALIGN_DFmode, IS_STACK_MODE,
	IX86_EXPAND_BINARY_OPERATOR): New macros.
	(RTX_COSTS, REGISTER_MOVE_COST, ADJUST_BLOCKAGE) Changed for pentium.

Fri Feb  9 14:47:27 1996  Doug Evans  <dje@cygnus.com>

	* sparc.c (sp64_medium_pic_operand): New function.
	(move_pic_label): Delete.
	(legitimize_pic_address): Simplify using some named patterns.
	(finalize_pic): Add preliminary sparc64 support.
	(emit_move_sequence): Reorganize.
	* sparc.md (pic_lo_sum_si,pic_sethi_si,get_pc_sp32,get_pc_sp64,
	move_pic_label_si,move_label_di,sethi_di_sp64): Make named patterns.
	(sethi_di_sp64_const,sethi_di_medium_pic): New anonymous patterns.
	(move_pic_label_si,move_label_di): Optimize for near labels.
	(tablejump): Use for TARGET_MEDANY.
	(casesi): Delete.

Fri Feb  9 13:48:45 1996  Jim Wilson  <wilson@cygnus.com>

	* mips.md (probe+2, probe+4): New conditional move patterns.
	(movsicc): Don't truncate comparison if it is DImode.

	* sh.h (CPP_SPEC): Add defines for -m1, -m2, and -m3.

Fri Feb  9 09:11:28 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* toplev.c (rest_of_compilation): Set RTX_INTEGRATED_P in
	INLINE_HEADER iff function is inlineable.
	* calls.c (expand_call): Test RTX_INTEGRATED_P in DECL_SAVED_INSNS.

Thu Feb  8 01:11:15 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.md (floatunssisf2 expander): Don't use "general_operand".
	(floatunssidf2 expander): Likewise.

Wed Feb  7 16:59:31 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/{sysv4,win-nt,netware,cygwin32}.h ({ASM,LINK}_SPEC):
	Don't use %{V} for either linker or assembler.

Tue Feb  6 17:22:29 1996  Per Bothner  <bothner@cygnus.com>

	* dbxout.c (dbxout_range_type):  Emit non-range INTEGER_TYPE
	as a sub-range of itself (so gdb can tell the difference).

Tue Feb  6 17:01:44 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (addsi3 and adddi3 split): Use cleaner computation
	and portable HOST_WIDE_INT.
	(iordi3 split): Use HOST_WIDE_INT.
	(movdi): Add TARGET_64BIT support and generate 64 bit constants.
	(movdi matcher, TARGET_POWERPC64): Add immediate constraint handled
	by new define_split.
	(allocate_stack): Use TARGET_32BIT.
	(tablejump): Add TARGET_64BIT support using ...
	(tablejumpsi): Rename original tablejump pattern.
	(tablejumpdi): New pattern.

Tue Feb  6 15:29:22 1996  Per Bothner  <bothner@cygnus.com>

	* stor-layout.c (layout_type):  Use same code to layout CHAR_TYPE
	as for INTEGER_TYPE (instead of hard-wiring in QImode).

Tue Feb  6 15:13:38 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.md (various patterns): Avoid using "general operand" in
	define_insn patterns.

Sun Feb  4 21:37:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/eabi{,sim}.h (LINK_START_SPEC): Bump the default start address
	for the simulator to 0x10000074 so that we don't waste a page in the
	linked file.

Fri Feb  2 19:44:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/eabi-c{i,n}.asm (.sdata2, .sbss2): Put these in the
	read-only section, not read-write.

	* libgcc2.c (__unwind_function, rs6000/powerpc): Use _ARCH_PPC
	being defined to indicate to use PowerPC mnemonics.

	* config/rs6000/t-cygwin32 (MULTILIB*): Add software floating
	point support.

Thu Feb  1 09:10:02 1996  Steve Chamberlain  <sac@slash.cygnus.com>

	* {i386,rs6000}/cygwin32.{asm,h}: New templates.
	* {i386,rs6000}/{t,x}-cygwin32: Ditto.
	* {i386,rs6000}/xm-cygwin32.h: Ditto.
	* configure (powerpcle-*-cygwin32, i[3456]86-*-cygwin32): New.

Fri Feb  2 17:42:40 1996  Paul Eggert  <eggert@twinsun.com>

	* c-decl.c (finish_struct):
	Fix typo in transparent union warning that led to core dump.

	* c-parse.in (stmt): Warn about `goto *expr;' if pedantic.
	(label): Warn about `case expr ... expr:' if pedantic.

Fri Feb  2 11:05:27 1996  Doug Evans  <dje@cygnus.com>

	* h8300.h (TARGET_ALIGN_300): Renamed from TARGET_ALIGN_STRUCT_300.
	(TARGET_SWITCHES): Rename -malign-struct-300 to -malign-300.
	(BIGGEST_ALIGNMENT): Use TARGET_ALIGN_300.

Fri Feb  2 08:25:49 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* flow.c (jmp_uses_reg_or_mem): Renamed from uses_reg_or_mem.
	Don't look into condition of an IF_THEN_ELSE; also make faster.
	(find_basic_blocks): Use new name.

Fri Feb  2 06:49:56 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* reload.c (debug_reload): Fix typo for reload_noncombine.

Thu Feb  1 21:49:02 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa-pro.h (TARGET_DEFAULT): Turn on TARGET_SOFT_FLOAT by
	default for all pro targets.
	* t-pro: Delete all multilib references.

Thu Feb  1 17:50:02 1996  Doug Evans  <dje@cygnus.com>

	* c-lex.c (check_newline): Return result of HANDLE_PRAGMA.
	* h8300.h (HANDLE_PRAGMA): Pass result back to caller.
	* i960/i960.h (HANDLE_PRAGMA): Likewise.
	* sh.h (HANDLE_PRAGMA): Likewise.
	* nextstep.h (HANDLE_PRAGMA): Likewise.

Wed Jan 31 19:26:03 1996  Doug Evans  <dje@cygnus.com>

	* m68k/m68k-none.h: Rewrite to use EXTRA_SPECS.
	* m68k/vxm68k.h (CPP_SPEC): Delete.
	(SUBTARGET_EXTRA_SPECS): Define.

Wed Jan 31 15:10:59 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c (output_epilog): Fix PPC64 typos and use TARGET_32BIT.
	(output_prolog): Same.
	(rs6000_trampoline_template, rs6000_trampoline_size): Use TARGET_32BIT.
	* rs6000.md (movdf TARGET_POWERPC64 matcher): Fix std typo.
	(movdi TARGET_POWERPC64 matcher): Same.

Wed Jan 31 09:46:11 1996  Richard Earnshaw (rearnshaw@armltd.co.uk)

	* regs.h (regno_pointer_align, REGNO_POINTER_ALIGN): Delete from here.
	* rtl.h (regno_pointer_align, REGNO_POINTER_ALIGN): Put them here.

Wed Jan 31 08:26:12 1996  Andreas Schwab  (schwab@issan.informatik.uni-dortmund.de)

	* m68k/linux.h (STRICT_ALIGNMENT): Define to zero.
	(LEGITIMATE_PIC_OPERAND_P): Match definition from m68kv4.h.

	* m68k.h (TRAMPOLINE_{TEMPLATE,SIZE}): Avoid need for helper function.
	(INITIALIZE_TRAMPOLINE): Likewise.
	(TRAMPOLINE_ALIGNMENT): Renamed from TRAMPOLINE_ALIGN.
	* m68k/next.h (INITIALIZE_TRAMPOLINE): Adjusted accordingly.

	* m68kv4.h (STATIC_CHAIN_REGNUM): Redefine to use register a1.
	(TRAMPOLINE_TEMPLATE): Likewise.

	* m68k/linux.h, m68kv4.h (LIBCALL_VALUE): Return XFmode value in fp0.
	* m68k.c (init_68881_table): Use SFmode for the first six
 	constants and DFmode for the seventh.

	* m68k.md (movqi): Use moveq if possible.

Wed Jan 31 08:18:15 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (expand_builtin, case BUILT_IN_NEXT_ARG): Strip off
	INDIRECT_REF when checking second arg.

	* calls.c (struct arg_data, expand_call): Test STRICT_ALIGN with #if.

Wed Jan 31 07:47:56 1996  Tim Wright  (timw@sequent.com)

	* configure (i[345]-sequent-sysv*): Change to sysv3*; add i686.
	(i[3456]86-sequent-ptx4*, i[3456]86-sequent-sysv4*): New cases.
	* fixinc.ptx (sys/mc_param.h): Remove embedded asm.
	* fixinc.svr4 (__STDC__): Add one more case.
	* i386/ptx4-i.h, ptx4.h: New files.

Wed Jan 31 07:15:23 1996  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Allow MOTOROLA syntax.

	* m68k.md ({adddi,subdi}_sexthishl32): 'a' and 'd' versions merged
	and fixed; do not generate 'add/sub a,m'.

	* gcc.c (warn_std_ptr): Initialize with 0 instead of NULL_PTR.

Tue Jan 30 13:29:05 1996  Ian Lance Taylor  <ian@cygnus.com>

	* dbxout.c: Don't include <string.h>.
	Don't compare strchr result to NULL.

	* config/svr4.h (ASM_FINAL_SPEC): Use %|, not ${pipe:-}.

Tue Jan 30 06:48:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* combine.c (nonzero_bits, case REG): Ignore REG_POINTER_ALIGNMENT.
	Restore old code for SP, but use it for all pointers to
	defined locations in the frame.

Mon Jan 29 11:25:28 1996  Ian Lance Taylor  <ian@cygnus.com>

	* dbxout.c (dbxout_type_methods): Don't use #ifndef inside call to
	strchr.

Sun Jan 28 14:44:09 1996  Doug Evans  <dje@cygnus.com>

	* config/dbxcoff.h (*): #undef first.

Sat Jan 27 21:46:16 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c (rs6000_sync_trampoline): Add cmpdi to 64bit case.
	(rs6000_initialize_trampoline): CSE of Pmode to pmode.
	* rs6000.md (movdf): Handle move between FPR and 64 bit GPR.
	(movdi matcher): Handle SPR move to itself and add "mr." combiner.

Sat Jan 27 10:06:31 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Redefine, put small
	data items in .sbss if -msdata.
	(SWITCH_TAKES_ARG): Add 'B', 'b', and 'V'.

Sat Jan 27 07:59:25 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* tree.h (enum built_in_function): Add BUILT_IN_{SET,LONG}JMP.
	* expr.c: Include hard-reg-set.h.
	(arg_pointer_save_area): New declaration.
	(expand_builtin, case BUILT_IN_{SET,LONG}JMP): New cases.
	* Makefile.in (expr.o): Includes hard-reg-set.h.
	* c-decl.c (init_decl_processing): Add definitions for
	__builtin_setjmp and __builtin_longjmp.
	* cccp.c (initialize_builtins): Add def of __HAVE_BUILTIN_SETJMP__.

	* expr.c (expand_expr, case COMPONENT_REF): Pass EXPAND_INITIALIZER
	to recursive call.

Fri Jan 26 17:24:07 1996  Doug Evans  <dje@cygnus.com>

	* sparc.h (sparc_arch_type): Delete.
	({,TARGET_}MASK_DEPRECATED_V8_INSNS): Define.
	(ARCH64_SWITCHES): Renamed from V9_SWITCHES.
	* sparc.c (sparc_arch_type): Delete.
	(sparc_init_modes): Likewise.
	(output_move_quad): Don't use ldq/stq unless TARGET_HARD_QUAD.
	* sparc/sp64-sol2.h (TARGET_DEFAULT): Add MASK_DEPRECATED_V8_INSNS.
	(SUBTARGET_SWITCHES): Add -m{no-,}deprecated-v8-insns.
	* sparc.md (arch attribute): Rewrite.
	(isa): New attribute.
	(32 bit multiply/divide patterns): Use if TARGET_DEPRECATED_V8_INSNS.
	(32 bit divide patterns): V9 doesn't require delay after y reg write.

Fri Jan 26 12:08:43 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (TARGET_32BIT): Define.
	(BITS_PER_WORD, UNITS_PER_WORD): Invert so 32bit expected case.
	(LONG_TYPE_SIZE, POINTER_BOUNDARY, PARM_BOUNDARY): Likewise.
	(RS6000_REG_SAVE, RS6000_SAVE_AREA, RS6000_VARARGS_SIZE): Likewise.
	(RETURN_ADDRESS_OFFSET, CASE_VECTOR_MODE, MOVE_MAX): Likewise.
	(Pmode, FUNCTION_MODE): Likewise.
	(LEGITIMATE_OFFSET_ADDRESS_P): Handle TARGET_64BIT.
	(GO_IF_LEGITIMATE_ADDRESS, LEGITIMIZE_ADDRESS): Likewise.
	(GO_IF_MODE_DEPENDENT_ADDRESS): Same.

Fri Jan 26 10:37:52 1996  Stan Coxs  <coxs@dg-rtp.dg.com>

	* m88k.md (umulsidi3): Added for the 88110

Fri Jan 26 09:35:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/sysv4.h (STRIP_NAME_ENCODING): Deal with names that have
	both @ and * prefix characters.
	(ASM_OUTPUT_LABELREF): Ditto.

Thu Jan 25 10:03:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.h (LEGITIMIZE_ADDRESS): Rewrite to use HOST_WIDE_INT, not
	plain int.
	(optimize,flag_expensive_optimizations): Provide declaration for
	expander functions.

	* rs6000.md (movsi): Correct code in splitting an address into
	load from the TOC, and add low/high integer parts.  If expensive
	optimizations, and reload hasn't started, use separate pseudo regs
	for each step.

	* rs6000.c (small_data_operand): Don't use the function
	eliminate_constant_term, unwind code directly.
	(input_operand): SYMBOL_REF/CONST of small data operand is valid.
	(print_{,address_}operand): Add @sda21(0) in appropriate cases for
	small data.
	%L, etc. so that if the item is in small memory, the appropriate
	relocation is used.
	(rs6000_select{,_rtx}_section): Don't put floating point constants
	or small strings in .sdata2 since we can't tell from the pointer
	whether it is in the small data area or not.

	* rs6000.h (EXTRA_CONSTRAINT): Add 'U' for small data references.
	(LEGITIMATE_SMALL_DATA_P): Test explicitly for SYMBOL_REF or CONST
	before calling small_data_operand.

	* rs6000.md (movsi): Handle the addresses of small data items.

	* rs6000/sysv4.h (g_switch_{value,set}): Add declarations.
	(SDATA_DEFAULT_SIZE): Default to 8.
	(SUBTARGET_OVERRIDE_OPTIONS): If -G was not set, set it to
	SDATA_DEFAULT_SIZE.
	(CC1_SPEC): Pass -G nn to the compilers.
	(SWITCH_TAKES_ARG): Add -G nn support.
	(LINK_SPEC): Pass -G nn to the linker.

Thu Jan 25 09:16:34 1996  Doug Evans  <dje@cygnus.com>

	* configure (sparc64-*-solaris2*): New target.
	* sparc.h (SPARC_{V9,ARCH64}): Default value is 0.
	(*): Replace SPARCV9 with SPARC_{V9,ARCH64}.
	(MASK_CPUS): Define.
	({MASK,TARGET}_ENV32): Delete.
	({MASK,TARGET}_ARCH64,TARGET_ARCH32): Define.
	(TARGET_SWITCHES): Reset cpu flags first for each variant.
	(CONDITIONAL_REGISTER_USAGE): If 32 bit v9 system, unfix g1-g4,
	fix g5, and make %f48-%f80 call used.
	* sparc/sp64-aout.h (SPARC_{V9,ARCH64}): Define.
	(TARGET_VERSION): Define.
	(TARGET_DEFAULT): Add MASK_ARCH64, delete MASK_ENV32.
	(JUMP_TABLES_IN_TEXT_SECTION): Define.
	(READONLY_DATA_SECTION): Make text_section.
	* sparc/sp64-elf.h (SPARC_{V9,ARCH64}): Define.
	(TARGET_DEFAULT): Add MASK_ARCH64.
	(ENDFILE_SPEC): No longer need to check for -nostartfiles.
	(ASM_IDENTIFY_GCC): Define as empty.
	* sparc/sp64-sol2.h: New file.
	* sparc.c (*): Replace TARGET_V9 with TARGET_ARCH64.
	(hard_32bit_mode_classes): Add v9 regs.
	(gen_v9_scc): Handle 32 bit v9 case.  Call v9_regcmp_p.
	* sparc.md (*): Replace TARGET_V9 with TARGET_ARCH64 in places
	requiring 64 bit environment.
	(multf3_extend): Require TARGET_HARD_QUAD.

Thu Jan 25 00:33:25 1996  Ian Lance Taylor  <ian@cygnus.com>

	* dbxcoff.h (DBX_USE_BINCL): Define.
	(DBX_CONTIN_LENGTH): Define if not defined.

Wed Jan 24 18:00:12 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>

	* alpha.c (alpha_write_verstamp): Only emit MS_STAMP and LS_STAMP,
	not the extra numbers.

Wed Jan 24 15:18:15 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.c (init_cumulative_args): Rewrite to use DEFAULT_ABI
	runtime tests, instead of V.4 #ifdefs.
	(function_arg{,_advance,_partial_nregs,_pass_by_reference}): Ditto.
	(setup_incoming_varargs): Ditto.
  	(init_cumulative_args): Set call_cookie field to CALL_NORMAL or
	CALL_NT_DLLIMPORT.
	(function_arg): Add support for DLL imports.
	(rs6000_valid_{decl,type}_attribute_p): New functions for NT
	attributes cdecl, stdcall, dllimport, and dllexport.
	(rs6000_comp_type_attributes): New attribute support.
	(rs6000_set_default_type_attributes): Ditto.
	(rs6000_dll_import_ref): Ditto.

	* rs6000.h (FP_ARG_{AIX,SYSV}_MAX_REG): Move here from sysv4.h.
	* sysv4.h (FP_ARG_{AIX,SYSV}_MAX_REG): Move to rs6000.h.

	* rs6000.h (rs6000_call_cookie): New enum to describe the integer
	that is the 2nd argument to call insns and 3rd argument to
	call_value insns. Add support for NT DLL imports.
	(rs6000_args): Add call_cookie field.
	(VALID_MACHINE_{DECL,TYPE}_ATTRIBUTE): Define to call C functions.
	({COMP_TYPE,SET_DEFAULT_TYPE}_ATTRIBUTES): Ditto.
	(rs6000_valid_{decl,type}_attribute_p): Add declarations.
	(rs6000_comp_type_attributes): Ditto.
	(rs6000_set_default_type_attributes): Ditto.
	(rs6000_dll_import_ref): Ditto.

	* win-nt.h (ASM_DECLARE_FUNCTION_NAME): Add support for dllexport
	attribute.

	* rs6000.md (call insns): Add support for NT dllimport functions,
	and fix up NT indirect calls.  Also correctly set the flag
	rs6000_save_toc_p on NT indirect calls.

	* aix41.h (LINK_SPEC): Use new extra specs to avoid separate
	versions for native and cross compilation.
	* rs6000.h (LINK_SPEC): Ditto.
	* sysv4.h (LINK_SPEC): Ditto.

	* rs6000.h (EXTRA_SPECS): Add link_syscalls, link_libg, link_path,
	link_specs, and also allow target to define more with the macro
	SUBTARGET_EXTRA_SPECS.
	(LINK_{LIBG,SYSCALLS}_SPEC): Define as fixed pathnames if native
	compilation, and currently nothing if cross compiling.
	(LINK_START_SPEC): If not defined, define as empty.
	* eabi{,sim}.h (LINK_START_SPEC): Add default -Ttext for
	simulator.

	* eabi{aix,le}.h (MULTILIB_DEFAULTS): Add -mno-sdata default.
	* sysv4{,le}.h (MULTILIB_DEFAULTS): Ditto.

	* rs6000.c (small_data_operand): New function to return true if
	the operand lives in small data under eabi.
	(rs6000_select{,_rtx}_section): New functions to determine whether
	to put global and static items in the V.4/eabi small data areas if
	-msdata.

	* rs6000.h (LEGITIMATE_SMALL_DATA_P): Call small_data_operand it
	if V.4.
	(GO_IF_LEGITIMATE_ADDRESS): If LEGITIMATE_SMALL_DATA_P, the item
	is a valid address.
	(ASM_OUTPUT_LABELREF): Use fputs, not fprintf.
	(small_data_operand): Declare function.

	* sysv4.h (TARGET_SWITCHES): New switch -msdata to use V.4 and
	eabi defined small data sections.
	(SUBTARGET_OVERRIDE_OPTIONS): Don't allow -msdata and
	-mrelocatable or -mcall-aix options.
	(EXTRA_SECTION{S,_FUNCTIONS}): Add .sdata, .sdata2, and .sbss
	sections.
	(SELECT{,_RTX}_SECTION): Call (rs6000_select{,_rtx}_section).
	(ASM_SPEC): The -msdata switch passes -memb to the assembler.
	(ENCODE_SECTION_INFO): Prepend a '@' to the name, if the item
	lives in a small data region.
	(STRIP_NAME_ENCODING): Strip '@' in addition to '*'.
	(ASM_OUTPUT_LABELREF): Strip a leading '@'.

	* t-{ppc,eabi}gas (MULTILIB*): Add support for libraries built
	with/without -msdata.  Drop support for -mcall-aixdesc libraries.

Wed Jan 24 15:18:15 1996  Kim Knuttila  <krk@cygnus.com>

	* rs6000/win-nt.h (LIB_SPEC): Change options to GNU ld style.
	(From Jason Molenda)

Wed Jan 24 14:32:48 1996  Jim Wilson  <wilson@cygnus.com>

	* reload1.c (used_spill_regs): New variable.
	(reload): Set it.
	* reorg.c (find_dead_or_set_registers): New function.
	(mark_target_live_regs): Delete loop looking forward from target
	and instead call find_dead_or_set_registers.
	(fix_reg_dead_note): New function.
	(fill_slots_from_thread): Call it.

	* loop.c (scan_loop): Correct comment.
	(strength_reduce): Correct comments.  Don't set maybe_multiple when
	pass branch to scan_start.  Don't set not_every_iteration after
	passing a CODE_LABEL, or after passing a branch out of the loop.
	When outputting DEST_ADDR giv increments, put them next to the memory
	address on machines with auto-increment addresses.
	(record_biv): Set new field always_executed.
	(record_giv): Set new fields always_executed and auto_inc_opt.
	(maybe_eliminate_biv_1): Reject biv with auto_inc_opt optimization
	in some cases.
	* loop.h (struct induction): New fields always_executed and
	auto_inc_opt.

	* c-typeck.c (pointer_int_sum): Use TYPE_PRECISION (sizetype) not
	POINTER_SIZE to agree with expr.c.

Tue Jan 23 15:17:30 1996  Doug Evans  <dje@cygnus.com>

	* sparc/sol2.h (ASM_OUTPUT_ALIGNED_LOCAL): Delete, use svr4.h's.

Tue Jan 23 03:28:01 1996  Paul Eggert  <eggert@twinsun.com>

	* cexp.y: Use preprocessor arithmetic instead of C arithmetic
	to avoid warnings on some compilers.
	(HOST_WIDE_INT_MASK): Remove.
	(MAX_CHAR_TYPE_MASK, MAX_WCHAR_TYPE_MASK): New macros.
	(yylex): Use them.

Mon Jan 22 18:39:21 1996  Per Bothner  <bothner@cygnus.com>

	* cppexp.c (cpp_parse_expr):  Set HAVE_VALUE flag for unary
	minus, even if skip_evaluation is true.

Mon Jan 22 16:53:48 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (BIGGEST_ALIGNMENT): Increase to 64 always.
	(BIGGEST_FIELD_ALIGNMENT): Define.
	(GO_IF_LEGITIMATE_ADDRESS): Merge PRE_INC and PRE_DEC cases.
	(LEGITIMIZE_ADDRESS): Use Pmode not SImode.
	(CASE_VECTOR_MODE): Depend on TARGET_64BIT.
	(ASM_OUTPUT_COMMON): Delete.
	(ASM_OUTPUT_ALIGNED_COMMON): Define.
	* rs6000/sysv4.h (BIGGEST_FIELD_ALIGNMENT): Undefine.
	* rs6000.md (adddi3, subdi3, negsi2): New PowerPC64 patterns.
	(ashldi3, lshrdi3, ashrdi3, anddi3, iordi3, xordi3): Same.
	(moddi3, cmpdi, tablejump matchers): Same.
	(divdi3): Update PowerPC64 patterns.
	* rs6000.c (rs6000_initialize_trampoline, case ABI_AIX): Use Pmode
	not SImode.

Sun Jan 21 23:33:24 1996  Ian Lance Taylor  <ian@cygnus.com>

	* dbxout.c: Include <string.h>

Fri Jan 19 17:17:00 1996  Per Bothner  <bothner@kalessin.cygnus.com>

	* tree.h (CONSTRUCTOR_TARGET_CLEARED_P):  Removed.
	* expr.c (is_zeros_p, mostly_zeros_p):  Handle SET_TYPE CONSTRUCTORs.
	(store_constructor_field):  New helper function.
	(store_constructor):  Take 'cleared' parameter.
	(expand_expr):  Fix store_constructor_call to pass 'cleared' of 0.

	* expr.c (store_constructor, SET_TYPE):  Fix off-by-one-error.
	Also, devide start byte by BITS_PER_UNIT before passing to memset.
	(store_constructor):  `continue' in wrong place.

	* expr.c (store_constructor):  If storing into a range of array
	elements, and the range is small, or the target it not memory,
	unroll the loop (and use store_field, which handles REGs).
	(store_constructor):  Handle RANGE_EXPR in array index.

Fri Jan 19 16:52:25 1996  Doug Evans  <dje@charmed.cygnus.com>

	* svr4.h (SWITCH_TAKES_ARG): Add 'x'.
	* sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.

Fri Jan 19 15:18:38 1996  Ian Lance Taylor  <ian@cygnus.com>

	* dbxout.c (flag_minimal_debug): Initialize to 0 if both
	NO_DOLLAR_IN_LABEL and NO_DOT_IN_LABEL are defined.
	(dbxout_type_methods): If the mangled method name uses the special
	C++ marker character, pass show_arg_types as 1 when calling
	dbxout_type.

Fri Jan 19 11:48:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/eabi-ci.asm (_SDA_BASE_): Move the default definition
	from the .got section to the .sdata section.  Do not add 32768.
	(_SDA2_BASE_): Provide a default definition.

	* rs6000/eabi-cn.asm (.got.blrl): Don't define this section any
	more, linker now directly creates the blrl instruction at
	_GLOBAL_OFFSET_TABLE_-4.

Fri Jan 19 05:12:31 1996  Richard Earnshaw <rearnsha@armltd.co.uk>

	* arm/lib1funcs.asm (__divsi3, __modsi3, __udivsi3, __umodsi3):
	Replace with smaller, faster versions.

Thu Jan 18 17:41:46 1996  Jim Wilson  <wilson@cygnus.com>

	* sh.c (ctype.h): Delete.
	(regno_reg_class, reg_class_from_letter): Add SH3e support.
	(prepare_scc_operands, broken_move, push, pop, push_regs): Likewise.
	(calc_live_regs, sh_expand_prologue, sh_expand_epilogue): Likewsie.
	(initial_elimination_offset, arith_reg_operand): Likewise.
	(sh_builtin_saveregs, fp_zero_operand, fp_one_operand): New functions.
	(sh_function_arg, sh_function_arg_partial_nregs): Delete.
	* sh.h (CPP_SPEC, CONDITIONAL_REGISTER_USAGE): Add SH3E support.
	(TARGET_SWITCHES, OVERRIDE_OPTIONS, FIRST_PSEUDO_REGISTER): Likewise.
	(FIXED_REGISTERS, CALL_USED_REGISTERS, HARD_REGNO_MODE_OK): Likweise.
	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
	(REG_ALLOC_ORDER, CONST_DOUBLE_OK_FOR_LETTER_P, NPARM_REGS): Likewise.
	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Likewise.
	(FUNCTION_ARG_REGNO_P, CUMULATIVE_ARGS, ROUND_REG): Likewise.
	(INIT_CUMULATIVE_ARGS, FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise.
	(FUNCTION_ARG_PARTIAL_NREGS, LEGITIMATE_CONSTANT_P): Likewise.
	(MODE_DISP_OK_4, REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
	(DBX_REGISTER_NUMBER, enum processor_type): Likewise.
	(SH3E_BIT, TARGET_SH3E, FPUL_REG, FIRST_FP_REG, LAST_FP_REG): New.
	(FIRST_FP_PARM_REG, FIRST_FP_RET_REG, BASE_RETURN_VALUE_REG): New.
	(BASE_ARG_REG, enum sh_arg_class, struct sh_args): New.
	(GET_SH_ARG_CLASS, PASS_IN_REG_P, sh_builtin_saveregs): New.
	(EXPAND_BUILTIN_SAVEREGS, DOUBLE_TYPE_SIZE): New.
	(TARGET_SWITCHES): Delete broken -m3l option.
	* sh.md (cpu, movsi_i, movsf_i, blt, bge, sle, sge): Add SH3E support.
	(push_e, pop_e, movsi_ie, movsf_ie, addsf3, subsf3): New patterns.
	(mulsf3, macsf3, divsf3, floatsisf2, fix_truncsfsi2): New patterns.
	(cmpgtsf_t, cmpqesf_t, cmpsf, negsf2, sqrtsf2, abssf2): New patterns.
	(abssf2+9, abssf2+10): Add SH3e support to peepholes
	(abssf2+11, abssf2+12): New peepholes for SH3e.
	* t-sh (MULTILIB_OPTIONS): Add SH3E support.
	(MULTILIB_DIRNAMES): Define to empty.

Thu Jan 18 11:29:11 1996  Ian Lance Taylor  <ian@cygnus.com>

	* cplus-dem.c (cplus_demangle_opname): Change type of opname
	parameter to const char *.
	(cplus_mangle_opname): Change return type and type of opname
	parameter to const char *.  Don't cast return value.
	* demangle.h (cplus_demangle_opname): Update declaration.
	(cplus_mangle_opname): Likewise.

Thu Jan 18 10:07:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* gcc.c (extra_specs): If EXTRA_SPECS is defined, define
	extra_specs array to hold the extra specs the machine description
	defines.
	(set_spec): If EXTRA_SPECS is defined, handle the extra
	specifications.
	(process_command, main, validate_all_switches): Likewise.

	* rs6000/{rs6000.h,powerpc.h,aix41.h} ({CPP,ASM}_SPEC): Use common
	specs with EXTRA_SPECS, only modifying things in the target that
	needs to be modified, rather than having tons of mostly duplicate
	definitions.
	* rs6000/{sysv4{,le}.h,}netware.h,lynx.h,} ({CPP,ASM}_SPEC): Ditto.
	* rs6000/eabi{le,aix}.h,aix3newas.h}} ({CPP,ASM}_SPEC): Ditto.

Wed Jan 17 19:38:24 1996  Paul Eggert  <eggert@twinsun.com>

	* cexp.y (HOST_WIDE_INT_MASK): Renamed from LONG_MASK;
	use HOST_WIDE_INT.
	(HOST_WIDE_INT, HOST_BITS_PER_WIDE_INT): Put back.
	(parse_c_expression, expression_value, parse_escape, left_shift,
	right_shift, struct constant, exp, parse_number, yylex):
	Replace `long' with `HOST_WIDE_INT'.
	* cccp.c (PTR_INT_TYPE): Remove obsolete define to `long'.
	(parse_escape, parse_c_expression, eval_if_expression, get_lintcmd,
	do_line, do_if, do_elif): Replace `long' with `HOST_WIDE_INT'.
	(trigraph_pcp): Don't assume a pointer difference fits in an int.

Wed Jan 17 18:56:31 1996  Jim Wilson  <wilson@cygnus.com>

	* expmed.c (extract_bit_field): For multi-word bitfield, clobber
	target before storing to it.

Wed Jan 17 14:19:34 1996  J.T. Conklin  <jtc@slave.cygnus.com>

	* sparc/{t-sol2,t-sunos40,t-sunos41}: Define away LIBGCC1_TEST
	so that cross compilers targeted at these systems will build.

Wed Jan 17 09:51:58 1996  Doug Evans  <dje@cygnus.com>

	* sparc.h (v9 INIT_CUMULATIVE_ARGS): Fix typos.

	* gcc.c (process_command): New local lang_n_files, and use
	it in test of -c with -o.  Move test of -save-temps.
	Test for trailing NUL in -c.

	* i386/t-go32: New file.
	* i386/xm-go32.h: New file.
	* configure (i[345]86-*-go32*): Define xm_file and tmake_file.

Wed Jan 17 07:47:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cccp.c (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Put back.
	(pcfinclude): Use HOST_WIDE_INT for casting pointer to integer.

Wed Jan 17 05:25:06 1996  Jeffrey A. Law  <law@cygnus.com>

	* va-pa.h (__gnuc_va_list): Use a "void *".

Tue Jan 16 18:45:23 1996  Per Bothner  <bothner@cygnus.com>

	* cppexp.c (cpp_lex):  Do cpp_pop_buffer after CPP_POP so retried
	cpp_skip_hspace will actually work.

	* cppexp.c (SKIP_OPERAND):  New macro.
	(cpp_parse_expr):  Suppress evaluation and diagnostics in
	unevaluated subexpressions.
	Corresponds to Eggert's Fri Jun  9 17:58:29 1995 change.

Tue Jan 16 11:59:07 1996  Mike Stump  <mrs@cygnus.com>

	* expr.c (expand_expr, case COND_EXPR): Make sure cleanups live on
	the function_obstack as they are used by the exception handling code.
	(defer_cleanups_to): Ditto.
	(TRUTH_ANDIF_EXPR): Ditto.
	(TRUTH_ORIF_EXPR): Ditto.

Tue Jan 16 13:57:13 1996  Jim Wilson  <wilson@cygnus.com>

	* cccp.c (new_include_prefix): Ignore ENOTDIR error from stat.

Tue Jan 16 12:18:56 1996  Doug Evans  <dje@cygnus.com>

	* i386/t-sol2 (crt[1in].o): Add missing -c.
	* sparc/t-sol2 (crt[1in].o,gcrt1.o): Likewise.
	Source files are assembler.

	* gcc.c (do_spec_1, case 'W'): Rename local `index' to `cur_index' to
	avoid warning on solaris.

Tue Jan 16 11:42:09 1996  Ian Lance Taylor  <ian@cygnus.com>

	* dbxcoff.h: New file for stabs in COFF support.
	* a29k/a29k-udi.h: Use dbxcoff.h.
	* h8300.h, i960/i960-coff.h, m68k/coff.h, m88k/m88k-coff.h: Likewise.
	* sh.h, sparc/litecoff.h: Likewise.

Tue Jan 16 08:21:45 1996  Hans-Peter Nilsson  <Hans-Peter.Nilsson@axis.se>

	* optabs.c (expand_fix): Don't copy TARGET to TO if same.

	* expr.c (emit_move_insn_1): Don't emit clobber when moving
	by parts and source equals destination.

Tue Jan 16 08:08:29 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expmed.c (extract_bit_field): Don't abort if not MEM_IN_STRUCT_P.

	* local-alloc.c (memref_referenced_p, case REG): Fix last change.

	* fold-const.c (const_binop): Strip NOPS from both args.

	* regclass.c (regclass): Remove useless cast.

Tue Jan 16 07:06:03 1996  Paul Eggert  <eggert@twinsun.com>

	* cexp.y: General code cleanup in the style of 1995-04-01 change.
	Add prototypes for static functions.
	Add parentheses suggested by `gcc -Wparentheses'.
	Use `long' uniformly, instead of long, int, HOST_WIDE_INT mess.
	(struct constant): Use `signedp' flag (with sign bit) instead of
	`unsignedp' flag; it's a little more convenient.

	(HAVE_STDLIB_H, STDC_HEADERS, LONG_MASK, __attribute__, PROTO,
	VA_START, PRINTF_ALIST, PRINTF_DCL, PRINTF_PROTO, PRINTF_PROTO_1,
	vfprintf, SIGNED, UNSIGNED): New symbols.
	<stdlib.h>: Include if HAVE_STDLIB_H.
	<string.h>: New include.
	(HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Remove.
	(yylex, yyerror, expression_value, parse_number,
	initialize_random_junk): Now static.

	(overflow_sum_sign): Renamed from possible_sum_sign, with an
	extra arg SIGNEDP.
	(parse_number): Inline strcmp when checking for "0x".
	(yylex): Keep track of mask needed when decoding wide characters.
	(parse_escape): New arg RESULT_MASK; use it instead of
	assuming char width.
	(yylex, parse_escape, parse_c_expression): Store all host
	integers as long, not int or HOST_WIDE_INT.
	(left_shift): No need to do signed left shifts separately.

	These changes are for the test program (if TEST_EXP_READER):
	(pedantic, traditional): Allocate storage.
	(main): Set pedantic, traditional, yydebug depending on args.
	(is_hor_space, warning, lookup): Change types and implementation
	to match rest of program.
	(pedwarn, check_assertion, xmalloc): New functions.

	* cccp.c (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Remove.
	(parse_escape, parse_c_expression, eval_if_expression):
	Change return type to `long'; all callers changed.
	(pcfinclude): Use `int', not HOST_WIDE_INT; any integral type will do.

	* cccp.c (skip_quoted_string): If pedantic and not pedantic_errors,
	skipped multiline strings elicit a warning, not an error.
	(rescan): Minor code reorg to keep it parallel with skip_quoted_string.

	* fold-const.c (left_shift_overflows): Remove; unused.

	* c-typeck.c (convert_for_assignment): Don't automatically convert
	from a union member to the union.

Tue Jan 16 06:26:00 1996  Stefan Vogel  (stefan@ssw.de)

	* config/svr4.h (ASM_OUTPUT_SECTION_NAME): Define section attributes
	only when a section is defined the first time.

Tue Jan 16 06:03:27 1996  Thomas Graichen  <graichen@omega.physik.fu-berlin.de>

	* i386/freebsd.h (ASM_WEAKEN_LABEL): Deleted; not supported.

Mon Jan 15 20:59:49 1996  J. Kean Johnston  <hug@netcom.com>

	* Makefile.in (LIBGCC2_CLFAGS): Add -DIN_LIBGCC2.
	(libgcc1.a): Add -DIN_LIBGCC1.
	(stamp-crtS): Remove -fpic, use CRTSTUFF_CFLAGS_S.
	* config/t-libc-ok: Add CRTSTUFF_CFLAGS_S.

	* configure (i[3456]86-*-sco3.2v5*): New case.
	* i386/sco5.h, i386/t-sco5, i386/x-sco5, i386/xm-sco5.h: New files.
	* ginclude/stdarg.h, ginclude/varags.h: Add test for SCO Open Server 5.

Mon Jan 15 20:44:13 1996  J.T. Conklin  <jtc@netbsd.org>

	* m68k/netbsd.h (ASM_SPEC): New macro.

Mon Jan 15 17:01:16 1996  Doug Evans  <dje@cygnus.com>

	* c-lex.c (check_newline): Pass character after `#pragma' to
	HANDLE_PRAGMA.  Don't call get_directive_line if at end of line.
	* c-common.c (get_directive_line): Watch for EOF.
	* h8300.h (HANDLE_PRAGMA): New argument `c'.
	Must issue `return' now.
	* i960.h (HANDLE_PRAGMA): Likewise.
	* sh.h (HANDLE_PRAGMA): Likewise.
	* nextstep.h (HANDLE_PRAGMA): Likewise.
	* h8300.c (handle_pragma): New argument `ch'.
	Simplify pragma processing.  Delete support for `#pragma section'.
	* i960.c (process_pragma): New argument `c'.  Change result to
	terminating character.
	* nextstep.c (handle_pragma): Likewise.
	* sh.c (handle_pragma): Likewise.  Also simplified.

	* sched.c (reemit_notes): Add prototype.
	(sched_analyze_2): Reorganize comments.  Call prev_nonnote_insn.
	(sched_analyze): Add abort call.
	(schedule_block): Call prev_nonnote_insn.
	Move call of reemit_notes to after SCHED_GROUP_P scheduling.
	Set `head' to `last'.

Mon Jan 15 16:12:25 1996  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* configure (*-*-gnu*): Use tmake_file=t-gnu.
	* config/t-gnu (CRTSTUFF_T_CFLAGS): New file.
	* configure (*-*-gnu*): Remove crtbeginS.o and crtendS.o frmo
	$extra_parts.  Use xmake_file=x-linux.

Mon Jan 15 15:30:49 1996  Gran Uddeborg <gvran@uddeborg.pp.se>

	* i386/svr3{,z}.ifile: Allocate address areas for the "stab"
	and "stabstr" sections.

Mon Jan 15 14:39:14 1996  Paul Eggert  <eggert@twinsun.com>

	* c-decl.c (finish_incomplete_decl): Warn if completing an
	array that wasn't declared extern.  Simplify test for whether
	completion is needed.

	* cccp.c (do_xifdef): Warn about `#ifdef 0' if not traditional;
	formerly the warning was issued if not pedantic.

Mon Jan 15 13:24:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.md ({add,sub}di3): Make it work on little endian PowerPC
	systems.

	* rs6000/eabi-c{i,n}.asm (.sbss2 section): Don't make .sbss2 a
	.bss section just yet, because it confused the linker.

Mon Jan 15 08:50:31 1996  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (pushdi): Allow "i" for operand 1.
	(extendqidi2): Improve 68000 code generation.
	(adddi_lshrdi_63): New pattern.

Mon Jan 15 08:38:40 1996  H.J. Lu {hjl@gnu.ai.mit.edu)

	* configure (i[3456]86-*-linux*): Add extra_parts.
	* i386/linux.h (LIB_SPEC): Remove %{mieee-fp:-lieee}.
	Use -lc_p for -profile.
	(CC1_SPEC): New macro.
	* linux.h (STARTFILE_SPEC): Use crtbegin.o for both shared llibrary
	and normal executable;  use gcrt1.o for -profile.
	(ENDFILE_SPEC): Use crtend.o for shared llibrary and normal executable.
	* x-linux (INSTALL_ASSERT_H): Unset it.
	* configure (i[3456]86-*-linux*oldld*): Set xmake_file to x-linux-aout.
	(i[3456]86-*-linux*aout*): Likewise.
	* x-linux-aout: New file, copied from config/x-linux.

Mon Jan 15 07:41:05 1996  Dmitry K. Butskoy  (buc@stu.spb.su)

	* varasm.c (in_data_section): New function.

Mon Jan 15 07:37:13 1996  Andreas Schwab  (schwab@issan.informatik.uni-dortmund.de)

	* c-typeck.c (build_c_cast): Don't warn about alignment when we
	have an opaque type.

Mon Jan 15 07:22:59 1996  Michel Delval  (mfd@ccv.fr)

	* reload.c (find_equiv_reg): Apply single_set, not PATTERN, to WHERE.

Mon Jan 15 07:02:21 1996  John F. Carr  <jfc@mit.edu>

	* reorg.c (mark_referenced_resources, case TRAP_IF): Set volatil.

Mon Jan 15 06:20:38 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* gcc.c (process_commands): Remove inadvertant fallthrough.

	* function.c ({,round_}trampoline_address): TRAMPOLINE_ALIGNMENT is
	in bits, not bytes.

	* objc/archive.c (objc_{write,read}_type, case _C_STRUCT_B): Fix typo.

	* expr.c (expand_expr, case COMPONENT_REF): Don't make recursive
	call on object with EXPAND_SUM.

	* stmt.c (save_expr_regs): Delete declaration; unused.

Sun Jan 14 21:44:26 1996  Michael Meissner  <meissner@wogglebug.tiac.net>

	* rs6000/eabi-ci.asm (__EXCEPT_START__): Provide label for start
	of g++ exception pointers.

	* rs6000/eabi-cn.asm (__EXCEPT_END__): Provide label for end of
	g++ exception pointers.

	* rs6000/eabi.asm (__eabi): Relocate exception pointers unless
	they are NULL.

	* va-ppc.h (va_arg): Long longs are always passed in odd registers.

	* rs6000.c (function_arg_boundary): On V.4, long longs are always
	passed in odd registers.

	* rs6000.md ({add,sub}di3): Remove restriction for POWER only,
	since all of the instructions used are common to both
	architectures.

Sun Jan 14 20:34:03 1996  Jeffrey A. Law  <law@cygnus.com>

 	* expr.c (expand_assignment): Fix alignment parm in emit_block_move.

Sun Jan 14 19:00:25 1996  Jim Wilson  <wilson@cygnus.com>

	* sched.c (schedule_block): Copy RTX_INTEGRATE_P bit when create
	a new note.

	* integrate.c (save_for_inline_copying, case NOTE): Copy
	RTX_INTEGRATED_P bit.

Sun Jan 14 17:57:52 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* stupid.c (stupid_find_reg): Don't try to allocate reg if live
	over more than 5,000 insns.

Sat Jan 13 23:09:07 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.h (STACK_BOUNDARY): Bring back down to 64bits.

	* pa.md (pre_ldwm): Fix bug exposed by recent changes.
	Simplify.
	(pre_stwm, post_ldwm, post_stwm): Likewise.
	(HImode and QImode variants): Likewise.
	* pa.c (hppa_expand_prologue): Corresponding changes.
	(hppa_expand_epilogue): Likewise.

	* pa.c (hppa_legitimize_address): Generate more indexing
	address modes.

Fri Jan 12 19:03:21 1996  Doug Evans  <dje@cygnus.com>

	* sparc/sol2.h (COMMON_ASM_OP): Delete, use sysv4.h's.

	* sched.c (schedule_block): Maintain a valid chain so
	emit_note_before works.

Fri Jan 12 13:20:01 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/eabi{,-ci,-cn}.asm: Add support for V.4 .sbss/.sdata, and
	eabi .sbss2/.sdata2 sections, loading up r13 and r2 respectively
	if the sections were used, and we don't need to relocate the
	pointers.

Thu Jan 11 19:41:07 1996  Per Bothner  <bothner@cygnus.edu>

	* sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE):  Use AGGREGATE_TYPE_P so
	QUAL_UNION_TYPE and SET_TYPE are also passed by invisible reference.
	* sparc.h (INIT_CUMULATIVE_ARGS for SPARCV9):  Return types of
	QUAL_UNION_TYPE and SET_TYPE also make invisible 1st argument.

Thu Jan 11 18:33:50 1996  Doug Evans  <dje@cygnus.com>

	* h8300.h (TARGET_ALIGN_STRUCT_300): New macro.
	(TARGET_SWITCHES): Add -malign-struct-300.
	(BIGGEST_FIELD_ALIGNMENT): Update.

Thu Jan 11 12:07:44 1996  J.T. Conklin  <jtc@cygnus.com>

	* h8300.h (CPP_PREDEFINES): Delete -D_DOUBLE_IS_32BITS.

Thu Jan 11 11:09:33 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (mulsf3 !POWERPC): Use dmul attribute.
	(divsf3 !POWERPC): Use ddiv attribute.

Thu Jan 11 11:09:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/eabi-ctors.c (__do_global_ctors): If global variable
	__atexit is non-NULL, call it with __do_global_dtors address to
	register the function to run destructors.
	(__do_global_{c,d}tors): Guard against NULL pointers.

	* rs6000/eabi.asm (__eabi): If the __eabi function was already
	called, do nothing.

Thu Jan 11 11:29:09 1996  Doug Evans  <dje@cygnus.com>

	* fixincludes: Wrap rpc/types.h in extern "C", for osf2.0.

Wed Jan 10 13:16:03 1996  Doug Evans  <dje@cygnus.com>

	* varasm.c (variable_section): New function.
	(assemble_variable): Call it.

Wed Jan 10 11:27:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/eabi-c{i,n}.asm (__DTOR_{LIST,END}__): Fix typo.
	* rs6000/eabi{,sim}.h ({START,END}FILE_SPEC): Add %s to object
	files.

	* rs6000/t-{eabi,eabigas,ppc,ppcgas} (MULTILIB_MATCHES): Drop
	support for obsolete -mcpu=mpc403.
	Add -mcpu=821 and -mcpu=860 to soft-float defaults.

	* rs6000/t-eabi{,gas} (LIBGCC): Add stmp-crt.
	(INSTALL_LIBGCC): Add install-crt.
	(EXTRA_PARTS): Delete.
	(stmp-crt{,-sub}): New rules to build crti.o and crtn.o in a
	multilib fashion.
	(install-crt): Install the multilib crt values.

Tue Jan  9 17:30:16 1996  Doug Evans  <dje@cygnus.com>

	* c-tree.h (merge_attributes): Moved from here.
	* tree.h (merge_attributes): To here.
	* c-typeck.c (merge_attributes): Moved from here.
	* tree.c (merge_attributes): To here.

Mon Jan  8 18:27:38 1996  Arne H. Juul  <arnej@pvv.unit.no>

	* mips/netbsd.h (LINK_SPEC): Change nostdlib to nostartfiles.
	(LOCAL_LABEL_PREFIX): Delete.
	(ASM_OUTPUT_SECTION_NAME): Define.

Sun Jan  7 17:11:11 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* collect2.c (scan_libraries): Correct Import File ID interpretation.

Sun Jan  7 16:56:56 1996  Michael Meissner  <meissner@wombat.gnu.ai.mit.edu>

	* {svr4,mips/elf{,64}}.h (MAX_OFILE_ALIGNMENT):  Define as 32768*8.

Sat Jan  6 15:52:36 1996  Doug Evans  <dje@cygnus.com>

	* a29k/vx29k.h (CPP_SPEC): Define.

	* configure: Recognize any --with/--without option.

	* Makefile.in (MAKEINFOFLAGS): New variable.
	(cpp.info,gcc.info): Use it.

	* sparc/t-sol2 (crt1.o,crti.o,crtn.o,gcrt1.o): Use $(GCC_FOR_TARGET).
	* i386/t-sol2 (crt1.o,crti.o,crtn.o): Likewise.

Fri Jan  5 10:44:25 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/aix{3newas,41}.h ({ASM,CPP}_SPEC): Update for new
	processors.
	* rs6000/eabi{aix,le}.h ({ASM,CPP}_SPEC): Ditto.
	* rs6000/{lynx,netware,powerpc,sysv4}.h ({ASM,CPP}_SPEC): Ditto.

	* rs6000.c (rs6000_override_options): Remove requirement that
	-mcpu=common be big endian.
	(rs6000_stack_info): If NAME__main is defined, mark this function
	as doing a call, even if there are no arguments.

	* rs6000.md (SI*SI->DI splitters): Add reload_completed
	condition.
	(mulsidi3): If big endian, do move directly, rather than moving by
	pieces.

	* rs6000/eabi{,sim}.h (STARTFILE_SPEC): Add crti.o before any
	other objects.
	(ENDFILE_SPEC): Add crtn.o after any objects.
	* rs6000/t-eabi{,gas}: Build crt{i,n}.o from eabi-crt{i,n}.asm.
	* rs6000/eabi-crt{i,n}.asm: New files to provide begin/end labels
	for all special sections used by eabi as opposed to relying on GLD
	to set all of these symbols.
	* rs6000/eabi.asm (__eabi): Change to use the new labels provided
	above.  Don't assume that the .got2, .ctors, .dtors, and .fixup
	sections are contiguous.

Fri Jan  5 10:40:37 1996  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (mulh_call): Remove r4 clobber.
	(quoss_call): Remove cr0 and cr1 clobbers.

	* rs6000.md (function units): Add MPC505/821/860 support.
	(SF multiply add combiner patterns): Use dmul attribute when limited
	to DFmode POWER instructions.
	* rs6000.c (processor_target_table): Add MPC505/821/860 support.
	Remove MASK_POWER and add MASK_PPC_GFXOPT for PPC602.  Always use
	new mnemonics for common mode.
	(rs6000_override_options): Don't set SOFT_FLOAT based upon
	PROCESSOR_DEFAULT.
	* rs6000.h (processor_type): Add PROCESSOR_MPCCORE.
	(RTX_COSTS): Add PROCESSOR_MPCCORE cases.
	(CPP_SPEC): Add new processor support.

Fri Jan  5 00:32:49 1996  Doug Evans  <dje@cygnus.com>

	* sparc.h (MACHINE_STATE_RESTORE): Add missing .align.

Wed Jan  3 18:29:32 1996  Doug Evans  <dje@cygnus.com>

	* arm/lib1funcs.asm (__USER_LABEL_PREFIX__): Define if not already.
	(CONCAT1,CONCAT2,SYM): Define.
	(__udivsi3,__divsi3,__umodsi3,__modsi3,__div0): Use SYM to define
	global labels.

Wed Jan  3 02:41:39 1996  Jeffrey A. Law  <law@cygnus.com>

	* pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Call text_section.

Tue Jan  2 16:12:13 1996  Jim Wilson  <wilson@cygnus.com>

	* sh.c (gen_shifty_op): Output a NOP for a shift by 0.
	(find_barrier): New variables si_limit, hi_limit.  Set them depending
	on whether we are optimizing.  Set found_hi if the destination is
	HImode.
	(machine_dependent_reorg): If not optimizing, then change scan to a
	note instead of calling delete_insn.
	* sh.h (OVERRIDE_OPTIONS): Don't set optimize or flag_delayed_branch.

	* dbxout.c (gstab.h): Include if cross compiling.

Mon Jan  1 21:13:43 1996  Arkady Tunik  <Arkady_Tunik@comverse.com>

	* configure (i[3456]-*-solaris2*): Support stabs.
	* i386/sol2dbg.h: New file.

Mon Jan  1 09:08:01 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-typeck.c: Use DECL_C_BIT_FIELD, not DECL_BIT_FIELD in all tests.

	* global.c (reg_allocno): No longer static.
	* reload1.c (reg_allocno): Declare.
	(order_regs_for_reload): New arg, GLOBAL.
	Bias against regs allocated in local-alloc.
	(reload): Pass new parm to order_regs_for_reload.

	* local-alloc.c (reg_equiv_replacement): New variable.
	(memref_referenced_p, case REG): Check for reg_equiv_replacement.
	(update_equiv_regs): reg_equiv_replacement now file-scope.

	* c-decl.c (finish_struct): Warn if field with enumeral type is
	narrower than values of that type.

	* combine.c (rtx_equal_for_field_assignment_p): New function.
	(make_field_assignment): Use it.
	Expand compound operations on both sides of an IOR.
	Properly adjust constand in IOR when computing bit position.

Sun Dec 31 18:47:22 1995  Doug Evans  <dje@cygnus.com>

	* m68k-none.h (MULTILIB_DEFAULTS): Define.

Sun Dec 31 15:47:20 1995  Jeffrey A. Law  <law@cygnus.com>

	* hard-reg-set.h (losing_caller_save_reg_set): Declare.
	* regclass.c (losing_caller_save_reg_set): Define.
	(init_reg_sets_1): Initialize losing_caller_save_reg_set.
	* global.c (find_reg): Avoid caller-saving registers in
	losing_caller_save_reg_set.
	* local-alloc.c (find_free_reg): Avoid caller-saving registers
	in losing_caller_save_reg_set.
	(CLASS_LIKELY_SPILLED_P): Delete definition.  Moved into regs.h.
	* regs.h (CLASS_LIKELY_SPILLED_P): Define if not already defined.

	* reorg.c (fill_simple_delay_slots): Try to fill from the
	target of an unconditional branch if necessary.

	* pa.h (REG_ALLOC_ORDER): Allocate PA1.1 caller-saved FP regs
	before PA1.0 caller-saved FP regs.

	* sched.c (adjust_priority): Use ADJUST_PRIORITY if its defined.

	* pa.h (ADJUST_PRIORITY): Define to keep lifetimes of registers
	that will be allocated to %r1 shorter.

Sun Dec 31 14:20:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* rtl.h (assign_temp): Add extra arg.
	* function.c (assign_temp): Add extra arg, DONT_PROMOTE.
	Don't return (const_int 0) for VOIDmode.
	* stmt.c (expand_asm_operands): Call assign_temp with extra arg.
	* expr.c (save_nocopied_parts, expand_expr): Likewise.
	(expand_expr, case SAVE_EXPR): Set TEMP to (const_int 0)
	if MODE is VOIDmode.
	(expand_expr): Don't use assign_temp for pseudos when might
	want to be TMODE.

	* stmt.c (tail_recursion_args): Compare TYPE_MAIN_VARIANTs.

	* calls.c (expand_call): Don't warn about not being able to
	inline if -O0.
	* expr.c (clear_pending_stack_adjust): Don't do optimization if -O0.
	* function.c (instantiate_decls): Check DECL_SAVED_INSNS to see
	if obstack change is needed.
	* toplev.c (rest_of_compilation): Leave DECL_INLINE set even if
	won't inline.

	* tree.h: Add documentation on uses of common area flags.
	(DECL_ERROR_ISSUED): New macro.
	(DECL_NO_STATIC_CHAIN): New macro; currently unused.
	* c-aux-info.c (gen_decl): DECL_REGISTER isn't defined
	for FUNCTION_DECL.
	* toplev.c (compile_file): Likewise.
	* stmt.c (fixup_gotos): Use DECL_ERROR_ISSUED instead
	of DECL_REGISTER.
	* varasm.c ({bc_,}make_decl_rtl): Don't look at DECL_REGISTER
	for functions.

Sat Dec 30 07:57:11 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* sdbout.c (plain_type_1, case ARRAY_TYPE): Subtract lower bound
	when writing dimension.

Fri Dec 29 18:23:58 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (eval_if_expression): End expression with '\n', not '\0'
	so '\0' can be diagnosed properly.
	* cexp.y (yylex, parse_c_expression, main): Likewise.

Thu Dec 28 18:24:54 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* tree.h (TYPE_ARRAY_MAX_SIZE):  New macro (used by Chill).
	* function.c (assign_temp):  New function.  Can handle Chill-style
	variable-sized array with static maximum size.
	* rtl.h (assign_temp):  New declaration.
	* stmt.c (expand_asm_operands):  Use new assign_temp function.
	* expr.c (save_noncopied_parts, expand_expr):  Likewise.

Thu Dec 28 15:28:47 1995  Per Bothner  <bothner@kalessin.cygnus.com>

        * function.c (assign_parms):  Fix thinko for struct value arg.

Fri Dec 29 12:41:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.md (movdf): Reinstate 12/24 change accidently dropped in
	undoing 12/27 changes.

Thu Dec 28 22:24:53 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.h: (reg_class): Undo 12/27 changes, except for formatting.
	(REG_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
	(REG_CLASS_FROM_LETTER): Likewie.
	(PREDICATE_CODES): Delete predicate functions.
	(gpc_reg{0,3,4,34}_operand): Delete declaration.
	(cc_reg{0,1}_operand): Likewise.
	* rs6000.c (gpc_reg{0,3,4}_operand): Delete.
	(cc_reg{0,1}_operand): Likewise.

	* rs6000.md (common mode functions): Undo 12/27 changes,and add
	 appropriate clobbers for common mode calls.  Keep define_splits for
	 powerpc SI*SI->DI.

Thu Dec 28 11:08:11 1995  Mike Stump  <mrs@cygnus.com>

        * sparc.h (RETURN_ADDR_OFFSET): Rename from NORMAL_RETURN_ADDR_OFFSET;
	returns offset for the current function specifically.

Thu Dec 28 07:07:14 1995  Paul Eggert  <eggert@twinsun.com>

	* c-lex.c (yylex): Improve error message for bogus numbers.
	Consolidate duplicated code.

	* cexp.y (parse_number): Improve error message for bogus numbers.
	(yylex): Consider `0xe-1' to be a (bogus) number if not traditional.

	* cccp.c (do_include): In VMS, worry only about EACCES when open fails.
	(new_include_prefix): Don't try to stat dir prefixes in VMS.

Wed Dec 27 14:02:54 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* fix-header.c:  Add EXIT_FAILURE and EXIT_SUCCESS to stdlib.h if
	missing.  Re-write how errno is added to be done similarly.
	(XOPEN_SYMBOL, XOPEN_EXTENDED_SYMBOL):  New macros, to mark XPG4
	functions.
	(std_include_table):  Add a number of functions (mostly XPG4).

Tue Dec 26 23:18:34 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* sys-types.h:  Add dummy definition for ssize_t.
	* sys-protos.h (bcmp, bcopy, gethostname, lockf, read, readlink,
	write):  Fix prototypes to match Posix and XPG4.
	(socket, strcasecmp, strncasecmp):  New prototypes (from XPG4).

Wed Dec 27 15:30:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* libgcc2.c (_bb_init_prg): Cast arg to bzero to (char *).

	* regs.h (reg_rtx_no, regno_pointer_{flag_length,align): New decls.
	(REGNO_POINTER_ALIGN): New macro.
	* emit-rtl.c (regno_pointer_align): New variable.
	(gen_reg_rtx): Extend regno_pointer_align table.
	Allocate tables in saveable obstack.
	(mark_reg_pointer): New arg, ALIGN.
	(gen_inline_header): New args for reg info.
	(set_new_first_and_last_insn): Set cur_insn_uid.
	({save,restore}_emit_status): Save and restore regno_pointer_align.
	(restore_reg_data{,_1}): Deleted.
	(init_emit): Allocate register tables in saveable obstack.
	Set REGNO_POINTER_ALIGN for regs pointing into frame.
	* function.c (assign_parms): Set REGNO_POINTER_ALIGN for
	parms that are pointers.
	* function.h (struct function): New field regno_pointer_align.
	* expr.c (expand_expr, case VAR_DECL): Set REGNO_POINTER_ALIGN
	when copying address into memory.
	(expand_expr, case COMPONENT_REF, case ADDR_EXPR): Set alignment
	of register when result or result's address.
	(expand_expr, case CONVERT_EXPR): Don't handle -fforce-mem here.
	* combine.c (set_nonzero_bits_and_sign_copies): Handle reg even
	if only set once and in one basic block.
	(nonzero_bits, case REG): Use REGNO_POINTER_ALIGN instead of
	explicit alignment of registers pointing into frame.
	* stmt.c (expand_decl): Set alignment of register for pointer
	variable.
	* optabs.c (emit_unop_insn): Don't do -fforce-mem for SIGN_EXTEND.
	* cse.c (find_best_addr): Make sure folded address better before using.
	* rtl.h (INLINE_REGNO_{RTX,POINTER_FLAG,POINTER_ALIGN}): New macros.
	(gen_inline_header): Add three new parms.
	* rtl.def (INLINE_HEADER): Add three new fields.
	* integrate.c: Include regs.h.
	(initialize_for_inline): Pass additional args to gen_inline_header.
	(save_for_inline_copying): Make new regno_reg_rtx, regno_pointer_flag,
	and regno_pointer_align arrays.
	(expand_inline_function): Set alignment of reg for parm if passed
	by hidden pointer.
	Set regno_pointer_{flag,align} into remap table.
	(copy_rtx_and_substitute): Set alignment of pointers into
	stack frame.
	Copy pointer flag and alignment to regs that are copies of
	pointer registers from the original regs.
	(output_inline_function): Don't call restore_reg_data.
	Restore reg_rtx_no, regno_{reg_rtx,pointer_flag,pointer_align}.
	* integrate.h (struct inline_remap): New fields regno_pointer_flag
	and regno_pointer_align.
	* unroll.c (unroll_loop): Set regno_pointer_{flag,align} in
	remap table.
	* explow.c (memory_address, allocate_dynamic_stack_space):
	Pass additional arg to mark_reg_pointer.
	* Makefile.in (integrate.o): Includes regs.h.

	* alpha.c ({non,}aligned_memory_operand): Test REGNO_POINTER_ALIGN.
	(reg_or_unaligned_mem_operand): New function.
	(get_unaligned_address): Add new arg, EXTRA_OFFSET.
	* alpha.h ({CONSTANT,DATA}_ALIGNMENT): Align to at least BITS_PER_WORD.
	(PREDICATE_CODES): Add reg_or_unaligned_mem_operand.
	* alpha.md (extend{qihi,qisi,hisi}2): Allow unaligned memory
	as arg 1 and pass to extend_{q,h}idi2.
	(unaligned_extend{q,h}idi): New patterns.
	(extend{q,h}idi2): If unaligned memory, call above new patterns.
	(ext{q,l,w}h recognizer): Update to proper RTL.
	(ext define_split): Comment out for now; wrong and maybe useless.
	(unaligned_{load,store}hi): Do similarly to QImode.
	(movhi, reload_{in,out}hi): Call unaligned case differently.

Wed Dec 27 11:38:20 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.md (mulsidi3{,_common}): Undo previous change using
	register classes instead of fixed registers for SI*SI->DI common
	mode multiplies.

	* rs6000.c (gpc_reg34_operand): Delete unused function.
	* rs6000.h (gpc_reg34_operand): Likewise.

	* rs6000.c (gpc_reg{3,4}_operand): Reorganize code and don't allow
	SUBREG's.

	* rs6000.c (rs6000_override_options): Do not allow -mcpu=common on
	little endian PowerPC's.
	(gpc_reg{0,3,4,34}_operand): New functions to match a specific
	register.
	(cc_reg{0,1}_operand): Likewise.

	* rs6000.h (reg_class): Add register classes for register 3 by
	itself, register 4 by itself, registers 3&4, and CR1.
	(REG_NAMES): Add support for new register classes.
	(REG_CLASS_CONTENTS, REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
	(PREDICATE_CODES): Add new predicate functions.
	(gpc_reg{0,3,4,34}_operand): Add declaration.
	(cc_reg{0,1}_operand): Likewise.

	* rs6000.md (common mode multiplication/division): Move/rename common
	mode calls so they are closer to define_expands that call them.
	Set attribute type to be jmpreg, rather than integer, so optimizer
	knows branch processing unit is used; make SI*SI->DI multiplier use
	register classes instead of hardwired registers. 
	Add appropriate clobbers of CR0/CR1 as mandated by PowerOpen spec.
	(PowerPC SI*SI->DI multipliers): Add appropriate define_splits.

	* rs6000/t-{,x}newas (MULTILIB*): Don't build power2 or 601
	specific libraries.

Tue Dec 26 21:52:18 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fold-const.c (fold_convert): When converting a NaN to
	another type, change the type of the node before returning it.

Mon Dec 25 17:12:10 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* c-typeck.c (mark_addressable): Fix error in last change.

Sun Dec 24 22:19:49 1995  Jeffrey A. Law  <law@cygnus.com>

	* pa.c (output_function_epilogue): Use assemble_integer rather
	than calling ASM_OUTPUT_INT directly.
	* pa.h (ASM_OUTPUT_INT): Use labels for everything in the
	exception table section.

	* pa.c (print_operand): Don't call fprintf to output a register
	name.  Use fputs instead.

	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Strip any name encoding
	on the section name.

Sun Dec 24 17:46:03 1995  Markus Theissinger  <Markus.Theissinger@gmd.de>

	* toplev.c (main): Add -ax option.
	* gcc.c (struct compilers): Likewise.
	* final.c (end_final): Extended header increased to 11 words.
	(profile_after_prologue): FUNCTION_BLOCK_PROFILER uses
	count_basic_blocks instead of profile_label_no.

	* libgcc2.c (struct bb): Add flags field.
	(HAVE_POPEN): Test new define.
	(struct __bb, struct bb_{edge,func}): New structs.
	(__bb_init_{prg,file},__bb_{init,exit}_trace_func,__bb_trace_ret,
	(__bb_trace_func{,_ret},gopen,gclose): New functions.

	* sparc.h, i386.h, m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
	Extension for -ax option (profile_block_flag == 2).
	(MACHINE_STATE_SAVE,MACHINE_STATE_RESTORE): New macros.
	(FUNCTION_BLOCK_PROFILER_EXIT): New macro.
	* sparc.c (output_function_epilogue), i386.c (function_epilogue):
	Use FUNCTION_BLOCK_PROFILER_EXIT.
	* m68k.c (output_function_epilogue): Likewise.
	* xm-sparc.h: Define HAVE_POPEN.

Sun Dec 24 06:50:30 1995  Barrett Richardson  (barrett@iglou.com)

	* floatlib.c (__divdf3): Rewrite to do software divide of two
	doubles instead of using __divsf3.

Sun Dec 24 06:38:15 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* rs6000.md (movdf): Don't copy a word at a time; nearly always loses.

	* c-tree.h (DECL_C_BIT_FIELD): New macro.
	* c-decl.c (finish_struct): Set it when set DECL_BIT_FIELD.
	* c-typeck.c (mark_addressable, case COMPONENT_REF):
	Give error if taking address of a bit field.

	* gcc.c (unused_prefix_warning): Include machine_suffix if
	require_machine_suffix.
	(warn_B, warn_std, warn_std_ptr): New variables.
	(process_commands): Use them and NULL_PTR as WARN arg to add_prefix.

	* gcc.c (process_command): Give error for -c with -o and
	multiple compilations.
	(handle_braces): Rename variable "pipe" to "pipe_p".

	* expr.h (clrstr_optab): New declaration.
	(clear_storage): New parm, ALIGN.
	* tree.h (CONSTRUCTOR_TARGET_CLEARED_P): New macro.
	* genopinit.c (optabs): Add "clrstr%a%".
	* optabs.c (init_optabs): Initialize clrstr_optab.
	* expr.c (struct clear_by_pieces): New structure.
	(clear_by_pieces{,_1}, {is,mostly}_zeros_p): New functions.
	(clrstr_optab): New optab.
	(clear_storage): Rework to try to use clear_by_pieces, then
	new clrstr insn, then library call.
	(store_constructor): Track if target is already cleared.
	Clear target first if CONSTRUCTOR is mostly zeros.
	Don't write zeros if target has been cleared.
	Add new arg to clear_storage call.
	(expand_expr, case CONSTRUCTOR): Don't put static constructor
	in memory if mostly zero.
	* i386.md (clrstrsi): New pattern and associate anonymous pattern.

Sat Dec 23 12:21:53 1995  Jeffrey A. Law  <law@cygnus.com>

	* pa.c (output_move_double): Correctly identify and handle
	overlapping moves.
	* pa.md (movdi patterns): Eliminate earlyclobbers in mem<->gr cases.
	(movdf patterns): Likewise.

Fri Dec 22 17:29:42 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (store_constructor): Don't call change_address on REG.
	(expand_expr, case CONSTRUCTOR): Likewise.

	* mips.c (expand_block_move): Preserve MEM flags in call to
	movstrsi_internal.

	* pa.c (emit_move_sequence): Don't try to set REGNO_POINTER_FLAG
	for a SUBREG.

	* reload.c (find_valid_class): New function.
	(push_reload): Use it in cases where a SUBREG and its contents
	both need to be reloaded.

	* toplev.c (rest_of_compilation): Never defer functions that
	contain nested functions.

Fri Dec 22 15:55:00 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.md (function units): Add 403 support which deleted
 	by accident on Nov 21st.  Mark all compares from 602, 603, 604,
 	620, 403, like was done for rios{1,2} and 601 as needing the bpu,
 	so that compares are hoisted far enough branches for zero cycle
 	branch support.

Fri Dec 22 15:13:47 1995  Stan Cox  <coxs@dg-rtp.dg.com>

	* i386.h (TARGET_UNROLL_STRLEN): New macro.
	* i386.c (output_strlen_unroll): New function.
	* i386.md (strlensi): New pattern.

Thu Dec 21 18:53:31 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* /gnu.h (GNU_CPP_PREDEFINES): Add missing space after -Amachine(CPU).

Thu Dec 21 12:23:42 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure ({powerpc,rs6000}*): Change --enable-cpu to --with-cpu.
	* rs6000.c (rs6000_select): Likewise.

	* rs6000/aix41.h (LINK_SPEC): Do not pass -bexport to the linker
	if -g and -shared.

Wed Dec 20 11:23:39 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure ({powerpc,rs6000}-ibm-aix*): Merge these two into the
	same case statement.  Aix 4 now generates -mcpu=common by default.
	({powerpc,rs6000}*): Add support for --enable-cpu=<value> to
	select the default cpu to compile for.

	* rs6000/aix41.h (TARGET_DEFAULT): Make -mcpu=common default behavior.
	(PROCESSOR_DEFAULT): Likewise.
	(MULTILIB_DEFAULTS): Set mcpu=common.

	* rs6000.h (TARGET_CPU_DEFAULT): Define to be NULL if not defined.
	(PROCESSOR_COMMON): Set this to PROCESSOR_601.
	(PROCESSOR_POWERPC): Set this to PROCESSOR_604.
	(TARGET_OPTIONS): Add -mtune= switch.
	(rs6000_select): New structure to hold -mcpu=, -mtune= switches
	and the result of configuring --enable-cpu=.
	(OVERRIDE_OPTIONS): Pass TARGET_CPU_DEFAULT to
	rs6000_override_options.

	* rs6000.c (rs6000_cpu_string): Delete global variable.
	(rs6000_select): Define new global variable.
	(rs6000_override_options): Take default_cpu argument, and provide
	support for it and -mtune= in addition to -mcpu=.

	* rs6000/{aix{3newas,41},lynx,netware,powerpc}.h (ASM_SPEC): Add
	support for -mcpu=power2.
	* rs6000/{rs6000,sysv4}.h (ASM_SPEC): Likewise.

	* rs6000/{aix41,eabiaix,eabile,lynx,powerpc}.h (CPP_SPEC): Make
	sure all -mcpu=xxx targets are supports.
	* rs6000/{rs6000,sysv4,sysv4le}.h (CPP_SPEC): Likewise.

	* rs6000/t-x{newas,rs6000}: New files to be used when making a
	cross compiler, to prevent libgcc1-test from being made.

	* rs6000/t-{x,}newas (MULTILIB_*): Build multlilib libraries for
	power, power2, 601, powerpc, and common mode processors.

	* rs6000/aix41ppc.h: Delete, no longer used.

Tue Dec 19 18:31:21 1995  Jim Wilson  <wilson@cygnus.com>

	* mips.c (mips_reg_names, mips_sw_reg_names, mips_regno_to_class):
	Add entry for new RAP reg.
	* mips.h (FIRST_PSEUDO_REGISTER): Increment.
	(FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES,
	DEBUG_REGISTER_NAMES): Add entry for new RAP reg.
	(RAP_REG_NUM, RETURN_ADDRESS_POINTER_REGNUM): New macros.
	(RETURN_ADDR_RTX): Define.
	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
	Add RETURN_ADDRESS_POINTER_REGNUM support.
	* emit-rtl.c (return_address_pointer_rtx): New global variable.
	(gen_rtx, init_emit_once): Add support for it.

Tue Dec 19 15:08:31 1995  Jason Merrill  <jason@yorick.cygnus.com>

	* collect2.c: Remove auto_export functionality.

Tue Dec 19 10:57:23 1995  Kim Knuttila  <krk@cygnus.com>

	* ppc-asm.h: Do not compile the register macros under winnt.

Mon Dec 18 19:31:23 1995  Adam Fedor  <fedor@wilma.Colorado.EDU>

	* objc/encoding.c (objc_alignof_type): Handle _C_PTR case.

Mon Dec 18 18:40:34 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* combine.c (simplify_rtx, case SUBREG): For SUBREG of a constant,
	use <= instead of < when comparing mode sizes.
	(force_to_mode, case NOT): Use full mask inside	the NOT operation.

	* expr.c (emit_block_move): When call emit_libary_call for bcopy,
	pass arguments using correct types and modes.
	(emit_push_insn, expand_assignment): Likewise.
	(clear_storage, store_expr): Likewise for memset and bzero.
	(store_constructor): Likewise for memset.
	* optabs.c (emit_cmp_insn): Likewise for memcmp and bcmp.
	* convex.c (expand_movstr_call): Likewise for memcpy.
	* m88k.c (expand_block_move): Likewise for memcpy and bcopy.
	* mips.c (block_move_call): Likewise for memcpy and bcopy.
	* mips.h (INITIALIZE_TRAMPOLINE): Likewise for cacheflush.

	* c-common.c (WCHAR_TYPE_SIZE): Add a default definition.

	* sdbout.c (sdbout_symbol, case FUNCTION_DECL): Use DECL_INITIAL
	instead of DECL_EXTERNAL to identify declarations.

        * svr4.h (ASM_IDENTIFY_GCC): Don't output stab here.
	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Output stab here instead of above.

	* stmt.c (expand_asm_operands): Handle numeric constraints in
	with the default case.

Mon Dec 18 16:49:43 1995  John F. Carr  <jfc@mit.edu>

	* expr.h (expand_mult_highpart_adjust): Declare.

Mon Dec 18 16:39:41 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (store_constructor): Fix error in last change: just
	copy MEM, but be sure to share address.
	(expand_expr, case CONSTRUCTOR): Likewise.

Mon Dec 18 16:22:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.h (ASM_GENERATE_INTERNAL_LABEL): Put leading '*' in label
	string so as to not confuse dbxout.c.

Mon Dec 18 09:44:56 1995  Mike Stump  <mrs@cygnus.com>

	* libgcc2.c (__empty): An empty function used by the C++ frontend for
	defaulting cleanup actions.

	* tree.c (save_tree_status, restore_tree_status): Save and restore
	temporary_firstobj.

Mon Dec 18 07:49:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* function.c (fixup_var_refs_1): Fix error in last change (when
	mode of VAR is not the same as PROMOTED_MODE).

Sun Dec 17 12:14:37 1995  Jeffrey A. Law  <law@cygnus.com>

	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Don't surround section names
	with '$'; that confuses collect2.
	(ASM_OUTPUT_SECTION_NAME): Likewise.

	* sched.c (canon_rtx): Recursively look for equivalences;
	look for expressions equivalent to MEMs.
	(true_dependence): Canonicalize inputs before operating
	on their values.
	(anti_dependence, output_dependence): Likewise.

        * jump.c (follow_jumps): Don't follow an unconditional jump
        that is not a simple_jump.

        * pa.c (override_options): Make 7100 scheduling the default.

        * pa.md: Add 2nd reload peephole somehow omitted from Nov27 changes.

	* regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's
	defined to avoid useless work.

	* combine.c (find_split_point): Try to split SET_DEST
	just like we do for SET_SRC.

Sun Dec 17 11:37:25 1995  Torbjorn Granlund  <tege@noisy.tmg.se>

	* expmed.c (expand_mult_highpart): When doing widening multiply,
	put constant in a register.
	(expand_mult_highpart): When mode is word_mode use gen_highpart
	instead of right shift by size.

	* expr.c (expand_expr, case MULT_EXPR): Generalize code for widening
	multiply to handle signed widening multiply when only unsigned optab
	is defined, and vice versa.

Sun Dec 17 07:35:50 1995  Pat Rankin  <rankin@eql.caltech.edu>

	* vax/vms.h (WCHAR_TYPE_SIZE): Define.

Sun Dec 17 07:08:34 1995  Ronald F. Guilmette  <rfg@monkeys.com>.

	* fp-test.c: New file.

Sun Dec 17 07:06:03 1995  Peter Flass  <flass@lbdc.senate.state.ny.us>

	* i370.md (cmpqi): Fix generation of literal operand of CLM instruction
	to avoid double literals (=X'=F'...).

Sun Dec 17 06:57:02 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c: Try harder not to open or stat the same include file twice.
	Simplify include file names so that they are more likely to match.
	E.g. simplify "./a//b" to "a/b".  Represent directories with simplified
	prefixes, e.g. replace "./a//b" with "a/b/", and "." with "".
	(absolute_filename): New function.
	(do_include): Use it.
	(read_name_map): Likewise; this makes things more consistent for DOS.
	(main, do_include, open_include_file): -M output now contains
	operands of -imacros and -include.
	(skip_to_end_of_comment): When copying a // comment, don't try to
	change it to a /* comment.
	(rescan, skip_if_group, skip_to_end_of_comment, macarg1): Tune.
	(rescan, skip_if_group, skip_to_end_of_comment, macarg1):
	If warn_comments is nonzero, warn if backslash-newline appears
	in a // comment.  Simplify method for finding /* /* */ comment.
	(skip_if_group): Optionally warn if /* /* */ appears between # and
	a directive inside a skipped if group.
	(macarg): Optionally warn if /* /* */ appears in a macro argument.
	(strncat, VMS_strncat, vms_ino_t, ino_t): Remove.
	(INCLUDE_LEN_FUDGE): Add 2 if VMS, for trailing ".h".
	(INO_T_EQ, INO_T_HASH): New macros.
	(struct file_buf): New member `inc'.
	(expand_to_temp_buffer): Initialize it.
	(struct file_name_list): New member `inc'.
	(struct file_name_list): New member `st'.
	c_system_include_path is now 1 if not 0.
	fname is now an array, not a pointer.
	(struct include_file): New members `next_ino', `deps_output', `st'.
	Remove members `inode' and `dev'; they are now in `st'.
	(INCLUDE_HASHSIZE): Rename from INCLUDE_HASH_SIZE.
	(include_hashtab): Rename from include_hash_table.
	(include_ino_hashtab): New variable.
	(main): Store file status in struct stat, not in long and int pieces.
	Use base_name to strip prefixes from file names.
	When printing directory prefixes, omit trailing / and print "" as ".".
	Fatal error if the input file is a directory.
	(main, path_include): Regularize operands of -include, -imacros,
	-isystem, -iwithprefix, and -iwithprefixbefore.
	Regularize default include directories.
	(do_include):
	Allocate dsp with alloca, since fname is now dynamically allocated.
	Use -3 to represent a never-opened file descriptor.
	Make copy of file name, and simplify the copy.
	Use base_name to identify the end of fname's directory.
	Do not prepend dir for "..." if it matches the search list's first dir.
	open_include_file now subsumes redundant_include_p and lookup_import.
	Use bypass_slot to remember when to skip directories when including
	a file that has already been seen.
	Instead of using 0 to represent the working directory, and ""
	to represent a directory to be ignored, use "" for the former,
	and assume the latter has been removed before we get here.
	Assume the directory prefixes have already been simplified.
	Report as errors all open failures other than ENOENT.
	Fatal error if fstat fails.
	Use new deps_output member to avoid printing dependencies twice.
	(bypass_hashtab): New variable.
	(do_include, open_control_file, record_control_macro): New convention:
	control_macro is "" if the file was imported or had #pragma once.
	(pragma_once_marker): Remove.
	(redundant_include_p, include_hash, lookup_include, lookup_import,
	add_import, file_size_and_mode): Remove; subsumed by open_include_file.
	(skip_redundant_dir_prefix): Remove; subsumed by simplify_filename.
	(is_system_include, read_name_map, remap_include_file):
	Assume arg is a directory prefix.
	(base_name, simplify_filename, remap_include_file,
	lookup_ino_include, new_include_prefix): New functions.
	(open_include_file): New arguments `importing' and `pinc'.
	Move filename mapping into new remap_include_file function.
	First try to find file by name in include_hashtab;
	if that doesn't work, open and fstat it and try to find it
	by inode and dev in include_ino_hashtab.
	(finclude): Get file status from inc->st instead of invoking fstat.
	Store inc into fp->inc so that record_control_macro doesn't
	need to do a table lookup.
	(finclude, record_control_macro): Accept struct include_file *
	instead of char * to identify include file.  All callers changed.
	(check_precompiled): Get file status from new argument `st'.
	(do_pragma): Output at most one warning about #pragma implementation.
	Always return 0 instead of returning garbage sometimes.
	(do_pragma, hack_vms_include_specification):
	Use base_name for consistency, and remove redundant code.

	From Per Bothner:
	Unify the 3 separate mechanisms for avoiding processing
	of redundant include files: #import, #pragma once, and
	redundant_include_p to use a single more efficient data structure.
	(struct file_name_list):  Remove no-longer needed field control_macro.
	(dont_repeat_files, all_include_files):  Remove, no longer used.
	(struct import_file):  Renmed to struct include_file, moved earlier
	in file, renamed field name to fname, and added control_macro field.
	(pragma_once_marker):  New constant.
	(import_hash_table):  Renamed to include_hash_table.
	(import_hash):  Renamed to include_hash.
	(IMPORT_HASH_SIZE):  Renamed to INCLUDE_HASH_SIZE.
	(main, path_include):  Don't clear removed control_macro field.
	(lookup_include):  New function - look up fname in include_hash_table.
	(redundant_include_p):  Re-write to use lookup_include.
	(lookup_import, record_control_macro):  Likewise.
	(add_import):  Defer fstat to caller.  Combine two xmallocs into one.
	(do_once):  Use pragma_once_marker in include_hash_table.
	(do_pragma):  Re-implement to scan include_hash_table.
	(do_include):  Use new lookup_include and add_import.

Sun Dec 17 06:45:43 1995  John F. Carr <jfc@mit.edu>

	* configure (savesrcdir): Do not create paths with trailing "/.".

	* combine.c (try_combine): When checking for two sets of the same
	register in a split insn, also test for setting a ZERO_EXTRACT,
	STRICT_LOW_PART, or SUBREG.

Sun Dec 17 06:37:00 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* reload.c (push_secondary_reload): Don't strip paradoxical SUBREG
	if reload_class is CLASS_CANNOT_CHANGE_SIZE.

Sat Dec 16 18:24:20 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (expand_assignment): Fix alignment parm in emit_block_move.

Sat Dec 16 18:16:08 1995  John Hassey  (hassey@rtp.dg.com)

	* local-alloc.c (optimize_reg_copy_2): Don't attempt
	optimization if destination register dies.

Sat Dec 16 08:31:16 1995  Paul Eggert  <eggert@twinsun.com>

	* fold-const.c (fold):  Don't record overflow when negating
	unsigned constants.

Sat Dec 16 07:45:11 1995  Gran Uddeborg  (uddeborg@carmen.se)

	* configure (i[3456]-*-isc, gas, stabs): Remove crt* from extra_files

Sat Dec 16 07:03:33 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* stor-layout.c (layout_record): When PCC_BITFIELD_TYPE_MATTERS,
	compute bitpos using field_size % type_align instead of field_size.

	* fixincludes (stdio.h):  Fix return type of fread and fwrite
	on sysV68.

Sat Dec 16 06:57:14 1995  Thomas Lundqvist  (d0thomas@dtek.chalmers.se)

	* function.c (fixup_var_refs_1): Fix two incorrect calls to single_set.

Fri Dec 15 22:30:27 1995  Torbjorn Granlund  <tege@noisy.tmg.se>

	* i386.h (REGISTER_MOVE_COST): Simplify.

Fri Dec 15 22:30:27 1995  Stan Cox  <coxs@dg-rtp.dg.com>

	* i386.h (TARGET_CPU_DEFAULT*, PROCESSOR_*,
	TARGET_{LEAVE,386_ALIGNMENT,PUSH_MEMORY,ZERO_EXTEND_WITH_AND,
	DOUBLE_WITH_ADD,BIT_TEST}): New macros.
	* i386.c (ix86_cpu*, ix86_isa*): New global variables.
	(override_options): Add -mcpu and -misa support
	* i386.md: Use TARGET* macros.
	* i386/dgux.{c,h}: New files.
	* m88k/t-dgux: (GCC_FOR_TARGET, T_CFLAGS): New macros.
	* m88k/t-dguxbcs: New file.
	* m88k/x-{dgux,dguxbcs}: (GCC_FOR_TARGET, X_CFLAGS): Removed.

Fri Dec 15 18:41:50 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* fixincludes (sys/wait.h):  Add forward declaration of struct rusage
	on AIX 3.2.5.

Fri Dec 15 18:39:36 1995  Marco S Hyman  (marc@dumbcat.sf.ca.us)

	* xm-bsd386.h (DONT_DECLARE_SYS_SIGLIST): Defined.

Fri Dec 15 18:36:42 1995  Gran Uddeborg (uddeborg@carmen.se)

	* i386/svr3dbx.h (DO_GLOBAL_DTORS_BODY): Delete; obsolete.

Fri Dec 15 18:21:34 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* i386/i386iscgas.h, i386/t-iscscodbx: Deleted; long dead.

Fri Dec 15 10:01:27 1995  Stan Cox  <coxs@dg-rtp.dg.com>

	* configure (target_cpu_default) Set for 486/586/686
	(m88k-dg-dgux) Use t-dguxbcs instead of x-dguxbcs
	(i*86*) Change [345] to [3456]
	(i[3456]86-dg-dgux) Added
	* Makefile.in (out_object_file) Add MAYBE_TARGET_DEFAULT

Fri Dec 15 08:05:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* function.c (init_temp_slots): New function.
	(init_function_start): Code moved to new function and called here.
	* toplev.c (rest_of_compilation): Call init_temp_slots.

	* expmed.c (store_bit_field): Don't use insv for BLKmode value.
	(store_split_bit_field): Set total_bits to BITS_PER_FOR for
	BLKmode value.

Fri Dec 15 06:35:36 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* xcoffout.h (DBX_STATIC_BLOCK_END): Use macro arguments.
	(xcoff_begin_function_line, xcoff_current_function_file): Remove
	unused extern declarations.
	(DBX_OUTPUT_MAIN_SOURCE_FILENAME): Use macro argument.
	* xcoffout.c (xcoff_begin_function_line): Make static.
	(xcoff_inlining): Likewise.
	(xcoff_current_function_file): Likewise.
	(xcoff_output_standard_types): Remove TARGET_64BIT dependencies from
	int and unsigned int.

Mon Oct 16 12:25:52 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* fix-header.c:  Support different kinds of functions (ANSI and
	Posix1).  Enable ANSI proptotypes if __STRICT_ANSI__.
	(namelist_end):  Removed.
	(std_include_table):  Divide up functions into kinds.
	(add_symbols):  New function.
	(read_scanfile, write_rbrac, main):  Use new data structures.

Thu Dec 14 19:17:12 1995  Torbjorn Granlund  <tege@noisy.tmg.se>

	* rs6000.md (umulsidi3): New pattern.

Thu Dec 14 18:08:59 1995  Torbjorn Granlund  <tege@noisy.tmg.se>

	* expmed.c (expand_divmod, case TRUNC_DIV_EXPR): Only reject
	larger-than-HOST_BITS_PER_WIDE_INT modes for general constants,
	not for powers-of-2.

	* i960.md (andsi3): Match op2 with logic_operand, change constraints
	accordingly.  Output andnot for negative op2.
	(iorsi3, xorsi3): Analogous changes.
	* i960.c (logic_operand): New function.
	(i960_print_operand): Handle code `C'.
	* i960.h (PREDICATE_CODES): Add logic_operand.
	(CONST_OK_FOR_LETTER_P): Handle `M'.
	* i960.md: Move all plain logical patterns together.
	* i960.h (SHIFT_COUNT_TRUNCATED): Define as 0 as appropriate.

	* clipper.md (untyped_call): New pattern.

	* m68k.md (ashrsi_31): New pattern.

Thu Dec 14 17:22:14 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm.c (output_move_double): Extract DFmode constants using
	REAL_VALUE_TO_TARGET_DOUBLE.

Thu Dec 14 15:05:13 1995  Doug Evans  <dje@cygnus.com>

	* Makefile.in (distclean): Delete float.h.
	* configure: Set CROSS_FLOAT_H from float_format.
	* config/float-i64.h: New file.
	* config/float-i32.h: New file.
	* config/float-vax.h: New file.
	* arm/cross-float.h: Delete.
	* arm/t-semi (CROSS_FLOAT_H): Delete.

Wed Dec 13 19:16:57 1995  Mike Stump  <mrs@cygnus.com>

	* expr.c (expand_expr, case ADDR_EXPR): Ensure op0 isn't QUEUED.

Wed Dec 13 19:12:21 1995  Paul Eggert  <eggert@twinsun.com>

	* gcc.c (my_strerror): Return "cannot access" if errno is 0.
	(perror_with_name, pfatal_with_name, perror_exec): Don't assume that
	the returned value from my_strerror contains no '%'s.
	(sys_nerr): Declare only if HAVE_STRERROR is not defined.

Wed Dec 13 19:05:47 1995  Alan Modra  (alan@spri.levels.unisa.edu.au)

	* Makefile.in (c-parse.y, objc-parse.y): Add warning that file is
	automatically generated.

Wed Dec 13 15:40:30 1995  Mike Stump  <mrs@cygnus.com>

	* function.c (identify_blocks): Start with chain of BLOCKs to match
	rest of backend (dbxout.c), instead of just one BLOCK.
	(reorder_blocks, all_blocks): Likewise.

	* stmt.c (find_loop_tree_blocks): Pass the toplevel list of
	blocks, not just the first subblock.

Wed Dec 13 16:11:18 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expmed.c (expand_divmod): Don't use TARGET if it's the wrong mode.

Wed Dec 13 15:02:39 1995  Ian Lance Taylor  <ian@cygnus.com>

	* dbxout.c (struct typeinfo): Define.
	(typevec): Change to be struct typeinfo *.  Change other uses as
	appropriate.
	(struct dbx_file): Define if DBX_USE_BINCL.
	(current_file): New static variable if DBX_USE_BINCL.
	(next_file_number): Likewise.
	(dbxout_init): If DBX_USE_BINCL, initialize new variables.
	(dbxout_start_new_source_file): New function.
	(dbxout_resume_previous_source_file): New function.
	(dbxout_type_index): New function.
	(dbxout_range_type): Use dbxout_type_index.
	(dbxout_type): Likewise.  If DBX_USE_BINCL, initialize new typevec
	fields.
	* c-lex.c (check_newline): If DBX_DEBUGGING_INFO and write_symbols
	== DBX_DEBUG, call dbxout_start_new_source_file and
	dbxout_resume_previous_source_file when appropriate.
	* sparc/sunos4.h (DBX_USE_BINCL): Define.
	* svr4.h (DBX_USE_BINCL): Define.

Wed Dec 13 06:52:40 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/win-nt.h (ASM_OUTPUT_EXTERNAL): Do not emit .extern for
	builtin functions.

Tue Dec 12 15:37:48 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c: Replace many uses of fprintf with putc and fputs.
	(output_function_profiler): Use more efficient mnemonics, target
	dependent mnemonics, asm_fprintf, and reg_names array.

	* rs6000.h: Replace many uses of fprintf with putc and fputs.

	* rs6000.h (INT_TYPE_SIZE): Remove TARGET_64BIT dependency.
	(MAX_INT_TYPE_SIZE): Delete.

Tue Dec 12 13:58:57 1995  Doug Evans  <dje@cygnus.com>

	* t-h8300 (MULTILIB_{OPTIONS,DIRNAMES}): Add -mint32 support.

Sun Dec 10 18:51:21 1995  Torbjorn Granlund  <tege@noisy.tmg.se>

	* rs6000.md (matcher for neg:SI (geu:SI ..)): Get ppc syntax right.

Sun Dec 10 08:47:16 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* combine.c (simplify_if_then_else): Convert "a == b ? b : a" to "a".

	* expr.c (expand_expr, case CONSTRUCTOR): If TREE_READONLY,
	set RTX_UNCHANGING_P in TARGET.
	(expand_expr, case COMPONENT_REF): If result is BLKmode,
	use that to access object too.

Sun Dec 10 01:06:57 1995  Jeffrey A. Law  <law@cygnus.com>

	* pa.md (millicode delay slot description): Remove reference
	to defunct TARGET_MILLICODE_LONG_CALLS.

Sat Dec  9 18:05:03 1995  Jim Wilson  <wilson@cygnus.com>

	* expr.c (expand_expr, case INDIRECT_REF): Correct typo in May 8
	change.

	* sh.h (ADDRESS_COST): Define.
	* sh.md (subsi3): Rename to subsi3_internal.  Add new define_expand
	to handle subtracting a register from a constant.

Fri Dec  8 19:17:30 1995  Mike Meissner  <meissner@beauty.cygnus.com>

	* rs6000.c (input_operand): Allow any integer constant, not
	just integers that fit in 1 instruction.

Fri Dec  8 10:45:07 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm/lib1funcs.asm (RET, RETCOND): Define according to whether we
	are compiling for 32 or 26 bit mode.
	(all return instructions): Use RET or RETCOND as appropriate.

Wed Dec  6 06:58:23 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm.c (arm_gen_constant): New function.
	(arm_split_constant): Split most of the functionality into
	arm_gen_constant.  Try to decide which way of handling the constant
	is optimal for the target processor.

	* arm.c (arm_prgmode): New enum.
	(target_{cpu,fpe}_name, arm_fast_multiply, arm_arch4): New variables.
	(all_procs): New table describing processors and capabilities.
	(arm_override_options): New function.
	(arm_return_in_memory): New function.
	(arm_rtx_costs): Adjust the multiply costs to cope with processors
	with fast multiplication instructions.
	(output_move_double): Use the ldm/stm variants more efficiently.
	Delete cases that can no-longer occur.
	(output_return_instruction, output_func_epilogue): Use TARGET_APCS_32,
	not TARGET_6 for determining the type of return instruction to emit.
	(final_prescan_insn case CALL_INSN): Use TARGET_APCS_32, not TARGET_6
	to determine condition preservation.
	* arm.h (CPP_SPEC): Add defines for the cpu type, hard or soft floating
	point, and the APCS PC size.
	(TARGET_*): Restructure.
	(ARM_FLAG_*): Many new definitions for different target options, not
	all of which are supported yet.
	(TARGET_SWITCHES): Use the ARM_FLAG_* definitions instead of explicit
	numbers.
	(prog_mode_type): New enum.
	(floating_point_type): Split emulated floating point into FP_SOFT[23].
	(OVERRIDE_OPTIONS): Call arm_override_options.
	(ARM_CPU_NAME): Default to NULL if not defined by a subtarget.
	(BYTES_BIG_ENDIAN): Can now be set as a compilation option.
	(RETURN_IN_MEMORY, DEFAULT_PCC_STRUCT_RETURN): New definitions.
	(GO_IF_LEGITIMATE_OFFSET): Use different HImode offsets if compiling
	for an architecture 4 target.  The offsets for floating point
	constants are the same as for integers if compiling TARGET_SOFT_FLOAT.
	(GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_INC and POST_DEC if
	the size is more than 4 bytes.  Restrict the range offsets for DImode;
	likewise for DFmode when TARGET_SOFT_FLOAT.
	(LEGITIMIZE_ADDRESS): Use symbol_mentioned_p, not LEGITIMATE_CONSTANT_P
	to determine if a constant address might be better in a register.
	Handle DFmode addresses in the same way as DImode if TARGET_SOFT_FLOAT.
	(LOAD_EXTEND_OP): If arm_arch4, then HImode also zero-extends.
	* arm.md (attributes): Rearrange order, so that condition clobbering
	can be automatically determined for call insns.
	(attribute cpu): Add new cpu ARM7.
	(attribute type): Add new type MULT.
	(attribute prog_mode): New attribute.
	(attribute conds): Clobbering of call insns can now be determined
	using prog_mode attribute.
	(function units "write_buf", "write_blockage"): Model the write buffer
	as two function units, so that conflicts are avoided more often.
	(function unit "core"): New function unit, so that elapsed cycles can
	be more accurately determined.
	(all anonymous patterns): Add names.
	(mulsidi3, umulsidi3): New patterns available with fast multiply
	variants.
	(all call insns): The conds attribute is now determined automatically.
	(zero_extendhisi): Expand for architecture 4 variants if appropriate.
	(*zero_extendhisi_insn): New pattern.
	(extendqi{hi,si}, extendhisi): Expand for architecture 4 variants if
	appropriate.
	(*extendhisi_insn, *extendqihi, *extendqisi): New patterns.
	(storehi_single_op): New expand.
	(movhi): Handle architecture 4 expansion.
	(*movhi_insn_arch4): New pattern.
	(*movhi_*): Adjust applicability conditions to handle architecture 4.
	(reload_outdf): Handle pre/post inc/dec reloads.
	(tablejump): Delete.
	(matcher for optimized tablejump): delete.
	(casesi): New expand.
	(casesi_internal): New pattern.
	* semi.h (EXIT_BODY): Delete.
	(TARGET_DEFAULT): Set to ARM_FLAG_APCS_32.
	(CPP_SPEC): Define.
	arm/cross-float.h: New file, used when building a cross-compiler.
	* t-semi: Don't define inhibit_libc when building libgcc2.a.
	(CROSS_FLOAT_H): Define.

	* arm.c	({symbol,label}_mentioned_p): New functions.
	(add_constant, dump_table, fixit, find_barrier, broken_move): New
	support functions for handling constant spilling.
	(arm_reorg): New constant spilling pass, for putting unhandlable
	constants into the rtl where we can load them efficiently.
	(output_load_symbol): Delete.
	* arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): No need to handle floating
	point constants any more, since arm_reorg will deal with them.
	(LEGITIMATE_CONSTANT_P): Is now anything that doesn't contain a
	LABEL.
	(GO_IF_LEGITIMATE_ADDRESS): Recognize address expressions generated
	by arm_reorg, but only after reload has completed.
	(MACHINE_DEPENDENT_REORG): Define.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): There should be nothing left in
	the pool, even if it might look like it.
	* arm.md (*movsi_insn): Much simpified now that constants are handled
	properly.
	(movaddr): New expand.
	(movsf, movdf): No need to force constants into the pool any more.
	(*movdf_hard_insn): Much simplified.
	(consttable_4, consttable_8, consttable_end, align_4): New patterns
	for supporting embedded constants.

	* configure: New target arm-semi-aof.
	* arm.c (strings_fpa): Use a form which is common to both GAS and
	ARMASM.
	(output_return_instruction, output_func_epilogue): Call
	assemble_external_libcall, before trying to generate an abort call
	in the assembler.
	(arm_asm_output_label): Call ARM_OUTPUT_LABEL, rather than assuming
	that labels are followed by a colon.
	(aof_text_section, aof_add_import, aof_delete_import,
	 aof_dump_imports): New functions to support ARMASM assembler
	generation.
	* arm/aout.h: New file.
	* arm/aof.h: New file.
	* arm.h (most assembler-specific defines): Move to arm/aout.h.
	(CONSTANT_ADDRESS_P): Can't directly access constant strings when
	generating assembler for ARMASM.
	(ENCODE_SECTION_INFO): Don't define if generating ARMASM assembler.
	(ASM_OUTPUT_INTERNAL_LABEL): Generalize, so that it can be used
	with all targeted assemblers.
	(ASM_OUTPUT_LABEL): Call arm_asm_output_label.
	* riscix.h: Include arm/aout.h, not arm/arm.h.
	* riscix1-1.h: Likewise.
	* semi.h: Likewise.
	* arm/semiaof.h: New file.
	* arm/t-semiaof: New file.

Mon Dec  4 22:17:37 1995  Jason Merrill  <jason@yorick.cygnus.com>

	* gcc.c (LIBGCC_SPEC): Do link with libgcc when -shared.
	* alpha.h (LIBGCC_SPEC): Remove.
	* linux.h (LIBGCC_SPEC): Remove.
	* svr4.h (LIBGCC_SPEC): Remove.
	* i386/t-crtpic (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
	* t-pa (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
	* sparc/t-sunos41 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
	* sparc/t-sol2 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
	* configure (i386-linux): Use i386/t-crtpic.

	* i386/xm-sco.h: #define NO_SYS_SIGLIST.

Mon Dec  4 21:30:37 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>

	* sh.c (shiftcosts): For SH3, max cost of arithmetic right shift is 3.
	(expand_ashiftrt): For SH3, if shift cost is more than 3, then
	call gen_ashrsi3_d to use shad instruction.

Mon Dec  4 18:29:08 1995  Jason Merrill  <jason@yorick.cygnus.com>

	* c-decl.c (finish_struct): Don't mess with the type of bitfields.

Mon Dec  4 15:28:02 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (store_constructor, record): If field is READONLY,
	set RTX_UNCHANGING_P in TO_RTX.

Mon Dec  4 12:59:33 1995  Ian Lance Taylor  <ian@cygnus.com>

	* sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use -fPIC unconditionally.

Sun Dec  3 20:55:43 1995  Jeffrey A. Law  <law@cygnus.com>

	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Handle arbitrary sections.
	(ASM_OUTPUT_SECTION_NAME): Define.

Sat Dec  2 22:19:16 1995  Jeffrey A. Law  (law@cygnus.com)

	* pa.h: Replace many uses of fprintf with fputs.
	* pa.c: Likewise.
	* pa-pro.h: Likewise.

	* pa.h (SECONDARY_RELOAD_CLASS): Don't call secondary_reload_class
	to handle trivial cases.
	* pa.c (secondary_reload_class): Rework to be more efficient.

Sat Dec  2 07:52:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.md (movsi): Don't split large constants in the
	movsi pattern, let the define_split split it later as needed.

Fri Dec  1 16:00:42 1995  Brendan Kehoe  <brendan@cygnus.com>

	* sparc.c (output_double_int): Handle CODE_LABEL's if v9.

Fri Dec  1 09:13:23 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* m68k.md (decrement_and_branch_until_zero): Split into a
	define_expand and an anonymous define_insn.
	* fx80.md (decrement_and_branch_until_zero): Ditto.
	* m88k.md (decrement_and_branch_until_zero): Ditto.

Thu Nov 30 15:02:16 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>

	* sh.c (noncall_uses_reg): New function.
	(machine_dependent_reorg): Add support for TARGET_RELAX.
	(final_prescan_insn): Likewise.
	* sh.h (ASM_SPEC, LINK_SPEC): Pass on -mrelax.
	(RELAX_BIT, TARGET_RELAX): New macros.
	(TARGET_SWITCHES): Add -mrelax.

	* sh.c (insn-attr.h): Include.
	(pragma_nosave_low_regs): New global variable.
	(calc_live_regs): If SH3 and pragma_nosave_low_regs, then don't
	save registers r0 through r7 for interrupt functions.
	(function_epilogue): Clear pragma_nosave_low_regs.
	(handle_pragma): Set pragma_nosave_low_regs if see pragma for it.

	* sh.h (FUNCTION_PROFILER): Use trap #33 instead of trap #5.
	Put additional .align before trapa instruction.

Thu Nov 30 14:45:13 1995  Doug Evans  <dje@canuck.cygnus.com>

	* sparc.md (seqdi_special_trunc, snedi_special_trunc,
	seqsi_special_extend, snesi_special_extend): Delete uses of SUBREG.
	Make compare modes match modes of operands.
	(snesi_zero_extend, snedi_zero_trunc_sp32, snedi_zero_trunc_sp64,
	seqsi_zero_extend, seqdi_zero_trunc_sp32, seqdi_zero_trunc_sp64):
	New patterns.

Thu Nov 30 12:27:22 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* genmultilib: Take a 4th argument that says are the exceptions to
	the multilibs, so illegal combinations can be eliminated.

	* Makefile.in (multilib.h): Pass $(MULILIB_EXCEPTIONS) as the 4th
	argument to genmultilib.

	* configure (powerpc*): Remove little endian and eabiaix versions
	of the t-* files.  Accept powerpc{,le}-*-sysv in addition to
	*-sysv4.
	(powerpc{,le}-*-eabisim): Use standard t-eabigas instead of
	t-eabisim.
	(powerpcle-*-{winnt3,pe}): Add support for Windows NT on PowerPC.
	* rs6000/t-{eabiaix,eabisim,eabilegas,ppclegas}: Delete.

	* rs6000/{t-winnt,win-nt.h}: New files for PowerPC Windows NT.

	* ginclude/ppc-asm.h: New file to provide common macros for the
	various PowerPC calling sequences.
	* rs6000/eabi.asm: Use ppc-asm.h.

	* rs6000/aix3newas.h (CPP_SPEC): Add support for -mcpu=603e, 602,
	and 620.
	* rs6000/{aix41,powerpc,rs6000,eabi{aix,le}}.h (CPP_SPEC): Ditto.
	* rs6000/sysv4{,le}.h (CPP_SPEC): Ditto.

	* rs6000/aix3newas.h (LINK_SPEC): If cross compiling, don't use
	absolute paths.
	* rs6000/{aix41,aixppc,rs6000}.h (LINK_SPEC): Ditto.

	* rs6000/eabi.h (INVOKE__main): Don't define any more.
	(ASM_OUTPUT_INT): Move to sysv4.h.
	({STARTFILE,LIB}_SPEC): If -msim or -mmvme add the appropriate
	libraries.

	* rs6000/{eabiaix,eabile,sysv4{,le}}.h (CPP_SPEC): Add support for
	-mcall-{aixdesc,nt} directives.
	(MULTILIB_DEFAULTS): Define.

	* rs6000/eabi{,le}sim.h (TARGET_DEFAULT, CPP_SPEC): No longer
	define, simulator supports floating point.
	({STARTFILE,LIB}_SPEC): If -mvme, use mvme libraries, not
	simulator libraries.

	* rs6000/{mach,netware}.h (TARGET_AIX): Define as 0.

	* rs6000/netware.h (RS6000_OUTPUT_BASENAME): Don't redefine
	anymore.
	(STRIP_NAME_ENCODING): Undef.

	* rs6000.c (rs6000_save_toc_p, rs6000_abi): New globals.
	(rs6000_override_options): Add 602, 603e, and 620 support.
	(count_register_operand): New function to return true if operand
	is the count register.
	(easy_fp_constant): All constants are easy if -msoft-float.
	(volatile_mem_operand): New function to return true if operand is
	in volatile memory.
	({fp_,}reg_or_mem_operand): Call volatile_mem_operand.
	(input_operand): Allow support for Windows NT loading SYMBOL_REFs
	and LABEL_REFs from the TOC.
	(function_arg_boundary): On Windows NT, any argument >= 8 bytes
	must be double word aligned.
	(function_arg{_advance,}): Call function_arg_boundary to determine
	if we need to align to an odd register for large arguments.
	Changes to accomidate new method of determining which ABI we're
	adhering to.
	(expand_block_move_mem): Copy RTX_UNCHANGING_P, and if
	MEM_UNALIGNED_P is defined, copy that too.
	(expand_block_move): Copy dest/src to registers using
	copy_addr_to_reg.
	(print_operand): Changes to accomidate Windows NT.
	(first_reg_to_save): Ditto.
	(rs6000_stack_info): Ditto.
	(debug_stack_info): Ditto.
	(output_{prolog,epilog,toc,function_profiler}): Ditto.
	(rs6000_stack_info): Save main's arguments around __eabi call.
	(svr4_traceback): Delete, current V.4 ABI no longer wants
	tracebacks in this format.
	(output_prolog): Call __eabi here, saving and restoring main's
	args if needed.  Save the toc pointer if needed.
	(get_issue_rate): New function to return # of instructions a
	machine can issue at once.
	(rs6000_sync_trampoline): Emit instructions to synchronize the
	PowerPC caches after a trampoline.
	(rs6000_trampoline_{template,size}): New functions to provide
	common trampoline support for all ABI's.
	(rs6000_initialize_trampoline): Ditto.

	* rs6000.h (TARGET_{WINDOWS_NT,AIX,MACOS}): Define.
	(processor_type): Add 602.
	(PROCESSOR_COMMON): Assume current processor is a 604, not a 601.
	(SUBTARGET_OPTIONS): Define if not defined.
	(TARGET_OPTIONS): Include SUBTARGET_OPTIONS.
	(COUNT_REGISTER_REGNUM): Define as 66.
	(EXTRA_CONTRAINT): Add 'S' and 'T' for Windows NT.
	(rs6000_abi): Add ABI_AIX_NODESC, ABI_NT.
	(DEFAULT_ABI): Define if not defined.
	(rs6000_stack): Add fields for Windows NT support.
	(RS6000_SAVE_TOC): Add for Windows NT support.
	(FUNCTION_ARG_BOUNDARY): Call function_arg_boundary.
	(trampoline macros): Call trampoline functions in rs6000.c.
	(RETURN_ADDRESS_OFFSET): Add Windows NT support.
	(toc_section): Skip leading '*'.
	(PREDICATE_CODES): Add volatile_mem_operand,
	count_register_operand.
	(MACHINE_issue_rate): Define.
	(function decls): Add new function decls from rs6000.c.

	* rs6000.md (cpu attribute): Add 602.
	(function units): Update to match reality better.
	(calls through pointer): Rework to support Windows NT.
	(movsi): Add Windows NT support.
	(movstrsi): Remove match_operand predicates, since
	expand_block_move does the checking.
	(sync_isync): Delete.
	(icbi, dcbst, sync, isync): New insns to generate named instruction
	for making trampolines on eabi/V.4 properly flush the caches.
	(decrement_and_branch_on_count): Rename from
	decrement_and_branchsi.  Add update of count in insn pattern.

	* rs6000/sysv4.h (TARGET_SWITCHES): Drop -mtraceback.  Keep
	-mno-traceback but don't do anything with it.  Add
	-mcalls-{nt,aixdesc}.  Add -m{,no-}relocatable-lib.  Add -msim,
	-mmvme, and -memb.
	(TARGET_TOC): Update for use with -mcalls-{nt,aixdesc}.
	(SUBTARGET_OVERRIDE_OPTIONS): Update for new switches.
	(RS6000_OUTPUT_BASENAME): Delete.
	(toc_section): Add support for -mcall-{nt,aixdesc}.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Ditto.
	(ASM_DECLARE_FUNCTION_NAME): Use STRIP_NAME_ENCODING instead of
	RS6000_OUTPUT_BASENAME.  For -mcall-{nt,aixdesc} emit the proper
	function descriptor.
	(ASM_SPEC): Pass appropriate -mxxx switches to the assembler based
	on the -mcpu=xxx options.
	(ASM_OUTPUT_INT): Move here from eabi.h.
	(ENCODE_SECTION_INFO): If -mcall-{nt,aixdesc} add appropriate magic
	so function name has two or one leading periods.
	(ASM_OUTPUT_SOURCE_LINE): Delete, use version in svr4.h.
	(trampoline macros): Call trampoline functions in rs6000.c.

	* t-{eabi,ppc}{,gas} (EXTRA_HEADERS): Add ginclude/ppc-asm.h.
	(LIB2FUNCS_EXTRA): Depend on eabi.S, not eabi.s.
	(eabi.S): Rename from eabi.asm.

	* t-{eabi,ppc}gas (MULTILIB_*): Add -mcall-aixdesc libraries, but
	don't build either little endian or -mrelocatable versions of
	those libraries.

Tue Nov 28 00:10:27 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (divsi3): Reorder so common mode does not negate
	power-of-2 shift optimization.

Wed Nov 29 22:06:11 1995  J.T. Conklin  <jtc@rtl.cygnus.com>

 	* configure (sparc-*-solaris2*): Add gcrt1.o to extra_parts.
 	* sparc/sol2.h (STARTFILE_SPEC): Link with gcrt1.o with -pg.
 	* sparc/sol2-g1.asm: New file, startup code for profiled
  	executables.
 	* sparc/t-sol2: Add make rule for gcrt1.o.
 	* sparc/gmon-sol2.c (_mcleanup): Add support for PROFDIR
 	environment variable.

Wed Nov 29 21:41:13 1995  Ian Lance Taylor  <ian@cygnus.com>

	* mips/abi64.h (CPP_SPEC): If -msingle-float and not
	-msoft-float, pass -D__mips_single_float.  Likewise for -m4650 and
	not -msoft-float.
	* mips/dec-bsd.h (CPP_SPEC): Likewise.
	* mips/dec-osf1.h (CPP_SPEC): Likewise.
	* mips/elf64.h (CPP_SPEC): Likewise.
	* mips/iris3.h (CPP_SPEC): Likewise.
	* mips/iris5.h (CPP_SPEC): Likewise.
	* mips/mips.h (CPP_SPEC): Likewise.
	* mips/netbsd.h (CPP_SPEC): Likewise.
	* mips/osfrose.h (CPP_SPEC): Likewise.
	* mips/t-ecoff (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_MATCHES): Add -msingle-float support.

Wed Nov 29 17:57:48 1995  Doug Evans  <dje@cygnus.com>

	* toplev.c (main): Invoke OPTIMIZATION_OPTIONS after target_flags
	has been initialized so sets of target_flags aren't clobbered.

	* cccp.c (do_include): Recognize c:\foo as absolute path name in DOS.

	* svr4.h (MD_EXEC_PREFIX): Don't use if cross compiling.
	(MD_STARTFILE_PREFIX): Likewise.
	(LINK_SPEC): Don't use absolute path names if cross compiling.
	* svr3.h (LIB_SPEC): Likewise.

	* gcc.c (do_spec_1): Fix typos in version calculation.

Wed Nov 29 14:06:13 1995  Jim Wilson  <wilson@cygnus.com>

	* sh.md (ashrsi3_d): Use %0 not %1 in output pattern.

	* svr4.h (MAX_OFILE_ALIGNMENT): Define.

	* mips/iris5.h (WORD_SWITCH_TAKES_ARG): Define.
	(LINK_SPEC): Add rpath.
	* mips/iris6.h (LINK_SPEC): Likewise.

	* stupid.c (stupid_mark_regs): For hard registers, use regno+j
	instead of just regno in MARK_LIVE_AFTER and SET_HARD_REG_BIT calls.

	* c-common.c (combine_strings): Add support for WCHAR_TYPE as short.

Wed Nov 29 13:59:58 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* c-decl.c (duplicate_decls): Add new parameter different_binding_level.
	Lots of changes to use new new parameter.
	(pushdecl): Delete variable declared_global.  New variable
	different_binding_level and code to set it.  Move extern/static
	warning before duplicate_decls call.  Don't let global typedefs
	conflict with nested extern declarations.  Move oldglobal test
	inside code for setting IDENTIFIER_LIMBO_VALUE.
	(lookup_name_current_level_global): Delete.
	* c-tree.h (merge_attributes): New declaration.
	* c-typeck.c (merge_attributes): New function.  Move code from
	common_type to here.
	(common_type): Call merge_attributes instead of having inline code.
	* integrate.c (integrate_decl_tree): Delete variable newd.
	Always set DECL_ABSTRACT_ORIGIN before calling pushdecl.

Tue Nov 28 21:57:04 1995  Jim Wilson  <wilson@cygnus.com>

	* mips.c (mips_function_value): Add check for i > 0 when deciding
	if structure should be return in FP registers.

Tue Nov 28 12:47:52 1995  Jeffrey A. Law  <law@cygnus.com>

	* pa.md (define split for (plus (reg) (large_constant)): Try
	another way to handle this with only 2 insns.  From Tege.

Mon Nov 27 02:05:18 1995  Jeffrey A. Law  <law@cygnus.com>

	* lib1funcs.asm, pa-pro.h, t-pro.h, xm-papro.h: New PA
	target files.
	* configure (hppa*-*-pro*): Use new target files.

	* toplev.c (rest_of_compilation): Always call jump_optimize
	at least once.

	* pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber
	the value of TREE_SYMBOL_REFERENCED.

	* pa-ghpux9.h (LINK_SPEC): Pass "-z" to the linker to enable
	trap on null pointer dereference for programs built on hpux9.
	* pa-hpux9.h, pa1-ghpux9.h, pa1-hpux9.h: Likewise.

	* pa.c (output_function_prologue): No longer need to keep
	track of the total number code bytes when TARGET_GAS &&
	not TARGET_PORTABLE_RUNTIME.
	* pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use .NSUBSPA when
	not TARGET_PORTABLE_RUNTIME.
	(ASM_OUTPUT_FUNCTION_PREFIX): Define.  Prefix functions with
	.NSUBSPA when TARGET_GAS and not TARGET_PORTABLE_RUNTIME.

	* pa.md (symbolic high patterns): Use 'H' to print the symbolic
	address so that the constant part gets rounded.
	* pa.c (print_operand): Handle 'H' operand for high part of a
	symbolic address with a rounded constant.
	(output_global_address): New argument "rounded_constant".  All
	callers changed appropriately.

	* x-pa-hpux (FIXPROTO_DEFINES): Add -D_HPUX_SOURCE.

	* pa.h (CPP_SPEC): Only pass -D_HPUX_SOURCE and -D_HIUX_SOURCE if
	-ansi is not present.
	(CPP_PREDEFINES): Remove -D_HPUX_SOURCE and/or -D_HIUX_SOURCE.
	* pa-ghiux.h (CPP_PREDEFINES): Likewise.
	* pa-gux7.h (CPP_PREDEFINES): Likewise.
	* pa-hiux.h (CPP_PREDEFINES): Likewise.
	* pa-hpux.h (CPP_PREDEFINES): Likewise.
	* pa-hpux7.h (CPP_PREDEFINES): Likewise.
	* pa1-ghiux.h (CPP_PREDEFINES): Likewise.
	* pa1-hiux.h (CPP_PREDEFINES): Likewise.

	* pa-hpux.h (LINK_SPEC): If -mlinker-opt, then pass -O to the
	linker.
	* pa-ghpux.h, pa-hpux9.h, pa-ghpux9.h: Likewise.
	* pa1-ghpux9.h, pa1-hpux9.h: Likewise.
	* pa.h (LINK_SPEC): Likewise.
	(TARGET_SWITCHES): Add -mlinker-opt.

	* pa.md (all peepholes): Disable if TARGET_SOFT_FLOAT.

	* pa.c (pa_reorg): If TARGET_GAS, then emit insns to mark
	the beginning and end of the branch table.
	* pa.md (begin_brtab): New insn.  Just a marker so GCC knows
	where to put the .begin_brtab pseudo-op.
	(end_brtab): Similarly.

	* pa.h (EXTRA_SECTIONS): Add in_ctors and in_dtors if
	CTORS_SECTION_FUNCTION is defined.  Else define dummy
	versions of CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION.
	(EXTRA_SECTION_FUNCTIONS): Add CTORS_SECTION_FUNCTION and
	DTORS_SECTION_FUNCTION.

	* pa.md: Add peepholes to improve spill code generated
	by reload when we run out of FP registers.

	* xm-pa.h: Remove spurious double-quote.

	* pa.md (call expanders): For indirect calls, load %r22 with the
	function's address.
	(indirect call patterns): No need to copy the call address into
	%r22 anymore.

	* pa.c (output_cbranch): Fix buglet in length handling of
	backwards branches with unfilled delay slots.
	(output_bb, output_bvb, output_dbra, output_movb): Likewise.

	* pa.md: Fix off-by-one error in length computations for all
	conditional branch patterns.

	* pa.h (output_bvb): Declare.
	* pa.c (output_bvb): New function to output branch on variable
	bit insns.
	* pa.md (branch-on-variable-bit): New patterns.

	* pa.h (TARGET_MILLICODE_LONG_CALLS): Delete swtich and all
	references.
	(output_millicode_call): Declare new function
	* pa.md (millicode calls): Update length computation to handle
	variable length millicode calls.
	(call pattners): Likewise.
	(indirect call patterns): Update length compuations and output
	templates to handle variable length millicode calls.
	(plabel_dereference): Likewise.
	* pa.c (override_options): Give warnings when incompatable
	options are used.
	(output_mul_insn): Call output_millicode_call instead of
	output_call, eliminate last argument to output_millicode_call.
	(output_div_insn): Likewise.
	(output_mod_insn): Likewise.
	(output_call): Rewrite long call code to handle variable length
	millicode calls.  Eliminate support for calling mul, div and mod
	millicode routines.
	(output_millicode_call): New function for calling mul, div and mod
	millicode routines.

	* pa.md (abssi2): New pattern.

	* pa.c (secondary_reload_class): Loads from reg+d addresses into
	FP registers don't need secondary reloads.
	* pa.h: Delete soem #if 0 code.  Update some comments.
	(EXTRA_CONSTRAINT, case 'Q'): Only accept valid memory addresses.

	* pa.h (RTX_COSTS): Tege's rewrite.

	* pa.c (hppa_legitimize_address): Generate unscaled indexed
	addressing for (plus (symbol_ref) (reg)).
	(emit_move_sequence): Set REGNO_POINTER_FLAG appropriately
	to encourage unscaled indexing modes.
	(basereg_operand): New function for unscaled index address support.
	* pa.md (unscaled indexing patterns): New patterns for unscaled
	index address support.

	* pa.h (MOVE_RATIO): Define.
	* pa.md (movstrsi expander): Refine tests for when to use the
	library routine instead of an inlined loop copy.  Provide an
	additional scratch register for use in the inlined loop copy.
	(movstrsi_internal): Name the pattern for ease of use.  Add
	additional scratch register.
	* pa.c (output_block_move): Greatly simplify.  Use 2X unrolled
	copy loops to improve performance.
	(compute_movstrsi_length): Corresponding changes.

	* pa.c (print_operand): Handle 'y' case for reversed FP
	comparisons.  Delete some #if 0 code.  Fix various comment typos.
	* pa.md (fcmp patterns): Try and reverse the comparison to avoid
	useless add,tr insns.

Sun Nov 26 14:47:42 1995  Richard Kenner  <kenner@mole.gnu.ai.mit.edu>

	* Version 2.7.2 released.

	* function.c (fixup_var_refs_1): Make pseudo for DEST
	in PROMOTED_MODE unless in a SUBREG.

	* cse.c (insert): Don't put a REG into qty_const.

	* msdos/top.sed: Change version to 2.7.2.
	* winnt/config-nt.sed: Likewise.

Sun Nov 26 14:41:49 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* Makefile.in (stamp-objlist): Change .o to $objext.

	* alpha/win-nt.h (CPP_PREDEFINES): Set __unaligned and __stdcall
	to null.
	(ASM_SPEC): Add a translation for -g to -Zi.
	* winnt/ld.c (main): Don't pass -g to link.
	* winnt/oldnames.c: Reformat and add some new functions for gnat1.
	* winnt/win-nt.h (LINK_SPEC): Pass -g to ld.exe.
	Increase default stack size.
	* configure ({alpha-dec,i386-ibm}-winnt3.5): Add oldnames.o
	to extra_objs.
	* libgcc2.c (trampoline): Add getpagesize and mprotect for WINNT.

Sun Nov 26 14:25:26 1995  Uwe Seimet  (seimet@chemie.uni-kl.de)

	* atari.h (FUNCTION_VALUE): Deleted; incorrect.

Sun Nov 26 14:23:03 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* fixincludes (curses.h): Allow space or tab after bool keyword,
	instead of tab or tab.

Sun Nov 26 14:14:11 1995  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)

	* 1750a.md (pattern for HImode PSHM): Corrected.
	(trunchiqi2, zero_extendqihi2, extendhftqf2): Corrected.
	(pattern for movhi of CONST_INT to REG): Corrected.
	(divmodqi pattern for DISN): Corrected.
	(all shift patterns): Corrected.

	* 1750a.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Corrected.
 	(ASM_OUTPUT_[datatype]): Corrected datalbl[].size computation
	for output of arrays.

Sun Nov 26 14:08:57 1995  Dave Love  <d.love@dl.ac.uk>

	* mips/iris5.h (NO_IMPLICIT_EXTERN_C): Define this again so
	that unistd.h doesn't get badly `fixed' for C++.  libg++ will now
	build with this definition.

Sun Nov 26 14:02:43 1995  Robert E. Brown  (brown@grettir.bibliotech.com)

	* configure: Better workaround for Nextstep bug.

Sun Nov 26 13:55:07 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* rs6000.md (load_multiple matcher): Fix typo in opcode.

Sun Nov 26 13:51:08 1995  Lee Iverson  <leei@Canada.AI.SRI.COM>

	* final.c (final_start_function): Move call to sdbout_begin_function
	back to final_scan_insn on MIPS systems so parameter descriptions are
	recognized.

Sun Nov 26 13:43:06 1995  DJ Delorie  (dj@delorie.com)

	* msdos/top.sed: Don't insert "go32".

Sun Nov 26 12:08:23 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* combine.c (nonzero_bits, case REG):  Put POINTERS_EXTEND_UNSIGNED
	code before stack pointer code.  Return nonzero at end of stack
	pointer code.

	* sparc.h (PRINT_OPERAND_ADDRESS): Handle CONST inside PLUS.

	* Makefile.in (cppalloc.o): Add a rule to build it.

	* alpha.c (alpha_emit_set_const): Don't output SImode sequences
	that rely on invisible overflow.  Sign extend new when SImode.
	Don't recur if new == c.  Don't allow shift outside mode.  Make
	logical right shift be unsigned.

Sun Nov 26 11:37:50 1995  Arne H. Juul  (arnej@idt.unit.no)

	* Makefile.in (compare*): Add "|| true" to avoid spurious
	failure messages from some versions of make.

Sun Nov 26 11:20:09 1995  Dmitry K. Butskoy  (buc@stu.spb.su)

	* expr.c (truthvalue_conversion): Add declaration.

Sun Nov 12 18:09:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* Version 2.7.1 released.

	* function.c (put_reg_into_stack): New arg volatile_p.
	(put_var_into_stack): Call with new arg.

Sat Nov 11 08:25:34 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* reload.c (output.h): Include it.
	* Makefile.in (reload.o): Add dependence on output.h.

Thu Nov  9 11:24:20 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* mips.h (HARD_REGNO_NREGS): If FP_REG_P, always use UNITS_PER_FPREG
	to calculate number of words needed.

Thu Nov  9 11:04:50 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)

	* 1750a.md (cmphf): Addd Base Reg with Offset address mode (LB,STB,..)
	(movqi,movhi,movhf,addqi3,addhf3,subqi3,subhf3,mulqihi3): Likewise.
	(mulhf3,divhf3,andqi3,iorqi3): Likewise.
	(define_peephole): Remove the Base mode peepholes. Replace the
	special addqi define_insn for "LIM Ra,sym,Rb" by a define_peephole.
	(ashlqi3): Took out futile 0th alternative.
	(lshrqi3, lshrhi3, ashrqi3, ahsrhi3): Correct case of non-constant
	shift count.

	* 1750a.h (REG_ALLOC_ORDER): Define.
	(REGNO_OK_FOR_BASE_P): Include stack pointer in test against
	reg_renumber[REGNO].
	(ASM_OUTPUT_DESTRUCTOR): Remove bogus assembler comment.

Thu Nov  9 11:01:33 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (expand_expr, case ARRAY_REF): Properly convert types
	of index, size, and multiplication.

Wed Nov  8 09:00:22 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm.md (mov*cc_{,soft_}insn): Use match_operator to test the
	comparison and check that the condition code register is used.

Wed Nov  8 08:49:35 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/sysv4.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Undef before
	including svr4.h.

Tue Nov  7 10:58:12 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* m68k.md (subxf3): Properly name pattern.

Tue Nov  7 10:53:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* libgcc2.c (__{C,D}TOR_LIST): For AIX, initialize these arrays to
	0,0, just like NeXT to avoid a warning message from the AIX 4.1
	linker.

Tue Nov  7 09:58:34 1995  John F. Carr <jfc@mit.edu>

	* cppexp.c (cpp_lex): Correctly parse character constants.

Tue Nov  7 09:52:15 1995  Jason Merrill  <jason@yorick.cygnus.com>

	* rs6000.h (ASM_OUTPUT_{DES,CONS}TRUCTOR): Define.

Mon Nov  6 10:27:15 1995  Doug Evans  <dje@cygnus.com>

	* combine.c (force_to_mode): Fix typo.

Sun Nov  5 18:37:02 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* m68k.md (cmpxf): Don't call force_const_mem, it looses for PIC;
	get predicates right instead.  Get rid of separate DEFINE_EXPAND.
	(addxf3, subxf3, mulxf3, divxf3): Likewise.
	(All XFmode patterns): Delete `F' and `G' constraints.
	(absxf2, negxf2): Delete spurious condition on TARGET_FPA.

Sun Nov  5 11:05:44 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* fixincludes (malloc.h):  Fix return type of {m,re}alloc.

Sun Nov  5 11:02:26 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

        * cse.c (invalidate): For a pseudo register, do a loop to
	invalidate all table entries, irrespective of mode.

Sun Nov  5 10:57:43 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* combine.c (force_to_mode): Put in last change properly.

Sun Nov  5 10:53:49 1995  Jeffrey A Law  (law@cygnus.com)

	* pa.h (CONDITIONAL_REGISTER_USAGE): Make sure FP regs
	get disabled regardless of PA1.0 vs PA1.1 code generation
	when TARGET_SOFT_FLOAT or TARGET_DISABLE_FPREGS is on.

Sun Nov  5 10:49:43 1995  Doug Evans  <dje@lisa.cygnus.com>

	* i960.c (emit_move_sequence): Add a scratch register to
	multi-reg stores.
	(i960_output_move_{double,quad}): New functions.
	(i960_print_operand): Handle new operand types E, F.
	* i960.md (movdi matchers): Rewrite.
	(store_unaligned_di_reg): New pattern.
	(movti matchers): Rewrite.
	(store_unaligned_ti_reg): New pattern.

Sun Nov  5 10:45:24 1995  Ian Lance Taylor  (ian@cygnus.com)

	* mips.h (MULTILIB_DEFAULTS): Define.
	* mips/elf64.h, mips/iris6.h (MULTILIB_DEFAULTS): Define.

Sun Nov  5 10:41:48 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* reload.c (push_reload): Delete abort for RELOAD_OTHER case added
	in last change.
	* reload1.c (emit_reload_insns): For RELOAD_OTHER output reloads,
	output the reload insns in descending order of reloads.

	* sh.md (mulsidi3-1, mulsidi3, umulsidi3-1, umulsidi3): Enable.
	(smulsi3_highpart-1, smulsi3_highpart): New patterns.
	(umulsi3_highpart-1, umulsi3_highpart): Likewise.
	(movdi-1): Add r/x constraint.
	* t-sh (MULTILIB_OPTIONS): Add m2.
	(MULTILIB_DIRNAMES): Add m2.
	(MULTILIB_MATCHES): Define.

	* sparc.h (RTX_COSTS, case MULT): Check for TARGET_SPARCLITE.

	* abi64.h, elf64.h (CPP_SPEC): Add -EB and -EL support.

Sat Nov  4 10:36:26 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.md (casesi_worker): Change constraint from = to +.

	* svr4.h (ASM_IDENTIFY_GCC_AFTER_SOURCE): Delete.
	(ASM_IDENTIFY_GCC): Output stab here.

Sat Nov  4 10:32:37 1995  John Carr  <jfc@mit.edu>

	* cpplib.c (finclude): Set current input pointer when input
	is not a regular file.

	* cppmain.c: Define progname, required by cpplib.

Sun Oct 29 07:48:36 1995  Michael Meissner  <meissner@cygnus.com>

	* xcoffout.h (DBX_FINISH_SYMBOL): Deal with names created via
	the __asm__ construct that start with a leading '*'.
	* xcoffout.c (xcoff_declare_function): Likewise.

Sun Oct 29 07:45:41 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* stupid.c (stupid_mark_refs): Handle SUBREG of pseudo-reg in a
	SET_DEST same as we handle a pseudo-reg in a SET_DEST.

Sun Oct 29 07:43:15 1995  Pat Rankin  <rankin@eql.caltech.edu>

	* libgcc2.c (L_eh: __unwind_function): Implement for VAX.
	* vax.h (RETURN_ADDRESS_OFFSET, RETURN_ADDR_RTX): Define.

Sun Oct 29 12:39:08 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>a

	* i386/sol2.h (CPP_PREDEFINES): Add -D__SVR4.

Sun Oct 29 07:14:36 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* reload.c (find_equiv_reg): Check for nonsaving setjmp.

Fri Oct 27 15:15:56 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* Makefile.in (out_object_file): Depend on TREE_H.

Fri Oct 27 06:42:36 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* alpha.c (call_operand): Only allow reg 27 on NT too.
	* alpha.md (call_value_nt, call_nt): Force non-SYMBOL_REF
	into reg 27, just like for OSF.

	* rs6000.c (struct asm_option): Changed from struct option.
	(expand_block_move_mem): Remove erroneously-added line.

	* expr.c (clear_storage): SIZE is now rtx, not int.
	(store_constructor): Call clear_storage with rtx.
	(get_inner_reference): Convert index to precision of
	sizetype, not POINTER_SIZE.
	(expand_expr, case ARRAY_REF): Likewise.
	* expr.h (clear_storage): Second arg is rtx, not int.

Fri Oct 27 05:45:58 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* combine.c (force_to_mode, case ASHIFTRT): Properly handle
	mask wider than HOST_WIDE_INT.

        * c-decl.c (pushdecl): Don't test TREE_PUBLIC when deciding whether
	to register a duplicate decl in the current block.

Thu Oct 26 21:55:39 1995  Jason Merrill  <jason@sethra.cygnus.com>

	* calls.c (expand_call): Don't trust the callee to copy a
 	TREE_ADDRESSABLE type.
	* function.c (assign_parms): Likewise.

Thu Oct 26 19:25:05 1995  Mike Stump  <mrs@cygnus.com>

	* libgcc2.c (__unwind_function): Provide a default definition for
	implementations that don't yet have a function unwinder.

Thu Oct 26 18:08:19 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (handle_directive): Don't treat newline as white
	space when coalescing white space around a backslash-newline.

Thu Oct 26 17:57:34 1995  Ian Lance Taylor  <ian@cygnus.com>

	* mips-tdump.c (enum st): Define st_Struct, st_Union, and st_Enum.
	(st_to_string): Handle them.
	(type_to_string): Add fdp argument; pass it to emit_aggregate.
	(print_symbol): Add fdp argument; pass it to type_to_string.
	Handle st_Struct, st_Union, and st_Enum.
	(emit_aggregate): Add fdp argument.  Handle opaque types.  Map
	through RFD entries.
	(print_file_desc): Pass FDR to print_symbol.
	(main): Pass null FDR to type_to_string.

Thu Oct 26 08:07:10 1995  Michael Meissner  <meissner@cygnus.com>

	* configure (powerpc-ibm-aix[456789]*): Use rs6000/t-newas,
	not rs6000/t-rs6000.
	(rs6000-ibm-aix3.2.[456789]*): Likewise.
	(rs6000-ibm-aix[456789]*): Likewise.

	* rs6000/t-newas: Copy from t-rs6000.
	* t-rs6000: Don't build -mcpu=common multilib variants of libgcc.a.

	* rs6000.md (load_multiple insn): If address register is among regs,
	don't load it with a lwsi instruction, which is undefined on PowerPC.

Thu Oct 26 08:01:32 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* dwarfout.c (output_compile_unit_die): Handle language_string
	of "GNU F77".

	* reload.c (find_reloads_address): When check for out of range constant
	plus register, accept any hard register instead of just fp, ap, sp.

	* combine.c (distribute_notes): For Oct 19 change, add additional
	check to verify that place has a valid INSN_CUID.

	* sparc/t-vxsparc (LIBGCC1_TEST): Define.

	* sh.md (negdi2): Use TARGET_LITTLE_ENDIAN.

	* combine.c (force_to_mode, case ASHIFTRT): Verify mode bitsize is
	within HOST_BITS_PER_WIDE_INT before shifting by it.

	* final.c (final_scan_insn): When recur for instruction in delay slot,
	add loop around recursive call in case the instruction gets split.

Thu Oct 26 07:28:45 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* genrecog.c (write_tree_1): Avoid emitting '-2147483648'.

	* jump.c (duplicate_loop_exit_test): Return 0 if found
	a NOTE_INSN_LOOP_CONT.

Tue Oct 24 15:30:14 1995  Jeffrey A Law  <law@cygnus.com>

	* calls.c (expand_call): Make sure valreg is at least
	a full word.

Sun Oct 22 19:35:41 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.h (INIT_SECTION_ASM_OP): Delete.
	(HAVE_ATEXIT): Define.

Sun Oct 22 07:46:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* libgcc2.c (__fixuns[xds]fsi): #undef MIN and MAX before #include
	of limits.h.

	* pa.c (pa_adjust_cost): Use pa_cpu, not pa_cpu_attr.

Sun Oct 22 07:38:58 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

        * alpha.h (CONST_OK_FOR_LETTER_P): Use 'U' for unsigned constants.
        * alpha.c (alpha_emit_set_const): Likewise.
        * mips.c (gen_int_relational): Likewise.

Sun Oct 22 07:14:35 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* i386.c (i386_return_pops_args): Don't need a FUNDECL to
	check for type attributes in FUNTYPE.

Sat Oct 21 18:17:42 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.md (define_delay): Don't accept any instruction for an annulled
	slot, only accept those for which in_delay_slot is yes.
	* sh.c (find_barrier): When hi_const returns true, increment count_si
	by two if found_si is true.
	Always use get_attr_length to compute length of instructions.
	If count_hi or count_si out of range at end, need two PREV_INSN calls
	not one.
	When create new label, set LABEL_NUSES to 1.
	(reg_unused_after): Ifdef out code for handling labels.
	(prepare_scc_operands): New local variable mode.  Set it from
	sh_compare_op0 or sh_compare_op1.  Use it instead of SImode in
	force_reg calls.

	* optabs.c (expand_float): Emit missing barrier after unconditional
	jump.

Sat Oct 21 14:16:46 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* alpha.md (cmpdf): Make conditional on TARGET_FP.

Fri Oct 20 19:11:12 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* combine.c (distribute_notes): Delete instructions without
	side effect that set a subreg of an unused register.

	* m68k.h (PREFERRED_RELOAD_CLASS): Check for !G constants
	for DATA_OR_FP_REGS also.

Fri Oct 20 18:57:10 1995  Ian Lance Taylor  <ian@cygnus.com>

	* genmultilib: Output negations of unused alternatives, even if
	one of the alternatives is selected.

Fri Oct 20 18:48:50 1995  Jeff Law  (law@hurl.cygnus.com)

	* integrate.c (output_inline_function): Turn on flag_no_inline
	to avoid function integration once we begin writing deferred
	output functions.

Fri Oct 20 18:46:33 1995  Michael Meissner  <meissner@wogglebug.tiac.net>

	* rs6000.c (float_conv_temp): Delete global variable.
	(stack_temps): New static array to hold stack temps.
	(offsettable_mem_operand): Delete function.
	(offsettable_addr_operand, rs6000_stack_temp): New functions.
	(output_epilog): Zero stack_temps.

	* rs6000.h (offsettable_addr_operand): Declare instead of
	offsettable_mem_operand.
	(PREDICATE_CODES): Use offsettable_addr_operand.
	(float_conv_temp): Delete variable.

	* rs6000.md (move_to_float insns): Change move_to_float so
	that it doesn't have a clobber of the memory address, and instead
	passes the stack temp's memory address as one of the unspec args.
	(fix_truncdfsi2): Use rs6000_stack_temp to allocate the temp.
	(multiply, shift insns): Fix all cases of multiply and shift insns so
	that the right mnemonics are used for -mcpu=common with both
	-m{old,new}-mnemonics.

Fri Oct 20 17:58:19 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* expr.c (safe_from_p, case RTL_EXPR): Return 0 if RTL_EXPR_SEQUENCE
	exists.  Delete code to return 0 if exp_rtl is zero.

	* function.c (init_function_start): Don't call init_insn_lengths here.
	* toplev.c (rest_of_compilation): Call it here.

Thu Oct 19 19:19:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-common.c (check_format_info): Make test for null pointer
	more general.

Thu Oct 19 18:56:16 1995  Satoshi Adachi  (adachi@wisdom.aa.ap.titech.ac.jp)

	* fixincludes (stdlib.h): Be more general in edit to change
	declaration of {c,m,re}alloc.

Thu Oct 19 18:48:53 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* libgcc2.c (__udiv_w_sdiv): If we don't have sdiv_qrnnd, define
	dummy variant of __udiv_w_sdiv.

Thu Oct 19 18:45:21 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* alpha.h (ASM_SPEC): If GNU as is the default, then pass -g to
	the assembler if -malpha-as.  If GNU as is not the default, then pass
	-g to the assembler is not -mgas.

	* combine.c (distribute_notes): When search for new place to put
	REG_DEAD note, call distribute_links if this new place is between
	i2 and i3, and i2 uses the register.

Thu Oct 19 18:41:36 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.md (float{,uns}sidf2): Rewrite to break the conversion
	process into several general insns.
	(move_to_float): New insns to move 2 integer regs into a float register
	through memory, taking endianess into account.  Make sure that the
	floating temporary is a valid address.  Use one temporary for all
	floats converted.
	(fix_truncdfsi2): Take endianess into account.

	* rs6000.c ({low_32_bit,offsettable_mem}_operand): The function
	low_32_bit_operand is now unused, delete it.  New function
	offsettable_mem_operand to determine if a memory address is
	offsettable.
	* rs6000.h ({low_32_bit,offsettable_mem}_operand): Ditto.
	(PREDICATE_CODES): Ditto.

	* rs6000.{c,h} (float_conv_temp): New global.
	* rs6000.c (output_epilog): Zero out float_conv_temp.

	* Makefile.in (libgcc{1,2}.a): Allow LIB{1,2}FUNCS_EXTRA files to
	end in .S as well as .c and .asm.

Wed Oct 18 17:56:45 1995  Jose Alonso  (sidinf@fpsp.fapesp.br)

	* c-typeck.c (parser_build_binary_op): Warn about x^y==z, etc.

Mon Oct  9 12:38:06 1995  Michael Meissner  <meissner@cygnus.com>

	* protoize.c (reverse_def_dec_list): Silence compiler warnings.

Mon Oct  9 12:35:54 1995  Andrew Cagney  <cagney@highland.com.au>

	* ginclude/va-ppc.h (va_arg): Deal with long longs that would be
	passed in the 7th register, and are passed in the stack instead.

Fri Oct  6 13:47:10 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* alpha.h (ASM_SPEC): Add -g.

Fri Oct  6 13:42:50 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alpha.h (alpha_{arg,auto}_offset): Make extern.

Fri Oct  6 13:24:43 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.h (RETURN_ADDRESS_OFFSET): Correct previous change.

Fri Oct  6 13:14:43 1995  Doug Evans  <dje@canuck.cygnus.com>

	* rtlanal.c (reg_set_last): Fix call to reg_set_between_p.

Tue Oct  3 12:31:38 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* stor-layout.c (layout_type, case ARRAY_TYPE): Strip MAX_EXPR
	from upper bound when computing length if it just protects against
	negative length.

	* expr.c (emit_move_insn_1): When doing multi-word move, show
	output is clobbered.

Tue Oct  3 12:26:07 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* cse.c (set_nonvarying_address_components, case AND): Add *pend to
	end.  Add constant to start instead of subtracting it.

Tue Oct  3 12:23:28 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* combine.c (simplify_rtx): In code that attempts to simplify
 	conditional expressions, if the result is an NE around another
	comparison, return the original expression.

	* longlong.h (mips umul_ppmm): Use `l' and `h' constraints;
	remove mflo and mfhi instructions.

Tue Oct  3 12:21:29 1995  Michael Meissner  <meissner@cygnus.com>

	* ginclude/va-ppc.h (va_start, stdarg case): Call
	__builtin_next_arg, and ignore the result, so that the compiler
	can report the proper error, if the second argument is not the
	last argument.

Tue Oct  3 12:02:51 1995  Kohtala Marko  <Marko.Kohtala@ntc.nokia.com>

	* function.c (assign_stack_temp): Adjust full_size field of
	temp_slot when splitting an unused slot.

Tue Oct  3 11:51:59 1995  Mike Stump  <mrs@cygnus.com>

	* expr.c (expand_builtin_return_addr): Break out functionality
	from expand_builtin.
	(expand_builtin): Call expand_builtin_return_addr.
	* rs6000.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
	Offset to return address is 4 when !TARGET_64BIT and v4_call_p,
	8 otherwise.
	* sparc.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
	* alpha.h (RETURN_ADDR_RTX): New definition.

Sun Oct  1 21:23:30 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* tree.c (staticp, case INDIRECT_EXPR): Disable case.

	* expr.c (expand_expr, case COMPONENT_REF): If getting component
	of union of variable size, propagate TARGET.

Fri Sep 29 07:48:09 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (store_expr): When storing promoted value, don't return
	MEM if address contains target.

Thu Sep 28 14:30:03 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (rescan): Expand `#if foo && #bar' without a bogus
	complaint about preprocessor directives within macro args.
	Expand `foo' in `foo#bar' without requiring a space before `#'.

Thu Sep 28 14:24:26 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (anonymous DImode shift patterns setting cc0): Turned
	off due to reload problems.

Thu Sep 28 14:05:22 1995  Niklas Hallqvist  (niklas@appli.se)

	* Makefile.in (USER_H): Move up so can override.
	(INSTALL_ASSERT_H): New definition.
	(install-headers): Use it.
	(stmp-int-hdrs): Handle USER_H being empty.
	* config/x-netbsd (INSTALL_ASSERT_H): Define as empty.

	* i386/netbsd.h (WCHAR_{TYPE,UNSIGNED,TYPE_SIZE}): Now int.
	* m68k/netbsd.h, ns32k/netbsd.h, sparc/netbsd.h: Likewise.
	* vax/netbsd.h: Likewise.
	(SIZE_TYPE): Use unsigned int.

	* m68k.c (output_scc_di): Swap operands when needed.
	* m68k.h (LEGITIMATE_PIC_OPERAND): Allow SYMBOL_REF_FLAG symref.
	* m68k.md: Make both assembler syntaxes do the same for PIC calls.

Tue Sep 26 16:51:44 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* mips.c (override_options): Don't allow anything but integers to
	go in the HI/LO registers.

Tue Sep 26 16:36:18 1995  John F. Carr  <jfc@mit.edu>

	* c-common.c (check_format_info): Don't warn about format type
	mismatch if the argument is an ERROR_MARK.

Mon Sep 25 17:50:50 1995  Craig Burley  (burley@gnu.ai.mit.edu)

	* stor-layout.c (put_pending_sizes): New function.
	* tree.h (put_pending_sizes): Add declaration.
	* tree.c (save_expr): Return original for ERROR_MARK.

Fri Sep 22 19:20:01 1995  Jeff Law  (law@hurl.cygnus.com)

	* expr.c (expand_builtin, case BUILT_IN_MEMCPY): Strip off
	all NOP exprs from the source and destination nodes, then
	set MEM_IN_STRUCT_P.

Fri Sep 22 18:50:31 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000/eabi.h (ASM_OUTPUT_INT): Test for whether the integer
	being output is also a constant so &sym - &sym2 is not fixed up.

Fri Sep 22 18:49:07 1995  Peter Flass  (FLASS@LBDRSCS.BITNET)

	* i370.md (cmpsi): Add missing constraints to operand 1.

Fri Sep 22 18:27:33 1995  Torbjorn Granlund  <tege@matematik.su.se>

	* i386.h (CONST_OK_FOR_LETTER_P): Make `N' match range 0..255
	for `outb' instruction.

	* pyr.h (PRINT_OPERAND): Handle code `R' for REG.
        * longlong.h (pyr umul_ppmm): Use it.

Fri Sep 22 18:24:38 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-parse.in (enumlist): Propagate error_mark_node.

	* c-aux-info.c (gen_type): Handle ERROR_MARK.

	* alpha.md (movdi): Avoid memory sharing problem when in reload.

Wed Sep 20 14:27:09 1995  Peter Flass <flass@lbdrscs.bitnet>

        * mvs.h (FUNCTION_PROLOGUE): Maintain savearea forward chain
	per MVS standards.

Wed Sep 20 14:20:52 1995  Torbjorn Granlund  <tege@matematik.su.se>

        * pyr.md (cmphi recognizer): Make condition match constraints.
	(cmpqi recognizer): Likewise.

Wed Sep 20 12:42:59 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* integrate.c (expand_inline_function): Do copy something setting
	the result register if it is setting it to itself and has a REG_NOTE.

	* integrate.c (set_decl_{origin_self,abstract_flags}): Treat
	a DECL_INITIAL of error_mark_node the same as one of NULL_TREE.

Tue Sep 19 19:30:18 1995  Dave Pitts  (dpitts@nyx.cs.du.edu)

	* i370.md (cmphi, movhi, movstricthi, extendhisi2): Correct generation
	of short integer (Halfword)
	({add,sub,mul,and,ior,xor}hi3): Likewise.
	* i370/mvs.h (MACROPROLOGUE): New macro.
	(FUNCTION_{PRO,EPI}LOGUE): Added ability to use IBM supplied function
	prologue macros.
	(FUNCTION_PROLOGUE): Corrected function "in-line" prologue alignment
	problems.
	(ASM_DECLARE_FUNCTION_NAME): Changed alignment to FullWord.
	(ASM_OUTPUT_{SHORT,ASCII}): Reworked.

Tue Sep 19 19:22:15 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* winnt/win-nt.h: Renamed from winnt/win-nt.h.
	(LINK_SPEC): Add -noinhibit-exec.
	* {alpha,i386}/win-nt.h: Renamed from {alpha,i386}/winnt.h.
	Include winnt/win-nt.h, not winnt/winnt.h.
	* winnt/oldnames.c: New file.
	* winnt/headers.mak (fixinc-nt.obj): Fix typo.
	* winnt/config-nt.bat: Change winnt.h to win-nt.h.
	* i386/config-nt.sed: Likewise.
	* configure ({alpha,i386}-*-winnt3*): Likewise.

Mon Sep 18 14:00:45 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)

	* 1750a.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
	Added R2 and R0_1.
	(REG_CLASS_FROM_LETTER): New letters 't' and 'z'.
	(EXTRA_CONSTRAINT): New letter 'Q'.

Sun Sep 17 12:39:22 1995  Jeff Law  (law@snake.cs.utah.edu)

	* pa.h (ASM_DECLARE_FUNCTION_NAME): If a parameter's type
	has TYPE_NEEDS_CONSTRUCTING on, then it's passed by invisible
	reference.

Sat Sep 16 17:42:33 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* loop.c (find_and_verify_loops): Fix error in last change.

Sat Sep 16 08:38:22 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* alpha.h (GO_IF_LEGITIMATE_ADDRESS): Disallow SYMBOL_REF for
	current function.

	* cse.c (recorded_label_ref): New variable.
	(insert): Set instead of cse_jumps_altered.
	(cse_main): Initialize it and return 1 if nonzero at end.

Fri Sep 15 18:26:49 1995  Torbjorn Granlund  (tege@matematik.su.se)

	* fold-const (div_and_round_double): Change `carry', `quo_est',
	and `scale' from plain int to `unsigned HOST_WIDE_INT'.

Fri Sep 15 18:24:24 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cse.c (insert): Set cse_jumps_altered when inserting a LABEL_REF.

Fri Sep 15 17:29:41 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)

	* 1750a.c (b_mode_operand): New function.
	(print_operand): Added code 'Q'.

Fri Sep 15 17:27:23 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* loop.c (find_and_verify_loops): When moving exit blocks out of
	the loop, verify that the target of P is within the current loop.

	* reorg.c (fill_slots_from_thread): Update thread if it is split.

Fri Sep 15 17:06:51 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.md (decrement_and_branchsi and related insns): Don't use
	a "2" to select a register preference for operand 1 if operand 2
	hasn't been seen yet.
	Add appropriate clobbers in decrement_and_branchsi.
	Add patterns where the pc/label_ref are interchanged.

	* Makefile.in (gnucompare, stmp-multilib-sub): Remove extra . in
	front of $(objext).

	* rs6000.c (output_toc): Align DF constants if STRICT_ALIGNMENT.

	* config/fp-bit.c (FLO_union_type): Add words field if double
	precision to get at the separate words.
  	(FLO_union_type, pack_d, unpack_d): Use FLOAT_BIT_ORDER_MISMATCH
	to determine when the bitfields need to be reversed, and
	FLOAT_WORD_ORDER_MISMATCH when the words need to be reversed.

Fri Sep 15 16:41:43 1995  Jeff Law  (law@snake.cs.utah.edu)

	* reorg.c (fill_simple_delay_slots): When filling insn's delay slot
	with JUMP_INSN, don't assume it immediately follows insn on
	unfilled slots obstack.

	* Makefile.in (caller-save.o): Depend on insn-codes.h.

Thu Sep 14 17:41:49 1995  Jim Meyering  (meyering@comco.com)

	* protoize.c (do_cleaning): Don't blank out backslash-escaped
	newlines in double quoted strings.

Thu Sep 14 16:20:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* emit-rtl.c (gen_lowpart): If gen_lowpart_common fails
	for a REG, load it into a pseudo and try again.

Thu Sep 14 14:15:16 1995  Stan Cox  (coxs@dg-rtp.dg.com)

	* m88k.h (VERSION_INFO1): Removed BCS reference.
	* m88k/dgux.h (ASM_SPEC, *_LEGEND):
	Added -mno-legend option. -mstandard no longer implies that legend
	legend information not be produced.
	(LINK_SPEC): Removed -z text

Tue Sep 12 19:05:39 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* cccp.c (is_system_include): Call skip_redundant_dir_prefix.

Tue Sep 12 18:58:21 1995  John Carr  <jfc@mit.edu>

	* sparc.md: Change `*return "string"' to "string" in patterns.

Tue Sep 12 18:48:47 1995  Craig Burley  (burley@gnu.ai.mit.edu)

	* function.c (put_var_into_stack): For CONCAT case, order of
	placement depends on FRAME_GROWS_DOWNWARD, not STACK_GROWS_DOWNWARD.

Tue Sep 12 18:34:10 1995  Doug Evans  <dje@canuck.cygnus.com>

	* va-sparc.h (v9 varargs va_start): Handle __builtin_va_alist
	being stack argument.

	* sparc.h (STATIC_CHAIN_REGNUM): Use %g5 for sparc64.
	(TRAMPOLINE_TEMPLATE): Rewrite for sparc64.
	(TRAMPOLINE_SIZE): Is 40 for sparc64.
	* sparc.c (sparc64_initialize_trampoline): Rewrite.

Tue Sep 12 18:30:22 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* cp/Make-lang.in (cc1plus) : Removed unnecessary $(exeext).

	* configure: Added code to handle gcc_extra_objs.
	(alpha-winnt): Changed xmake_file to winnt/x-winnt.
	Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
	(i386-winnt): Changed xmake_file to winnt/x-winnt.
	Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
	* configure.bat: Changed to used common winnt/config-nt.bat.
	* Makefile.in: Changed various .o's to .$(objext)'s
	(specs): Removed unnecessary $(exeext).
	(EXTRA_GCC_OBJS): New variable.
	(clean): Removed $(LIB2FUNCS_EXTRA)
	* objc/Makefile: Changed archive command for libobjc.a to use $?
	for objects.

	* alpha/x-winnt, i386/x-winnt: Deleted.
	* alpha/config-nt.bat, i386/config-nt.bat: Deleted.
	* alpha/config-nt.sed, i386/config-nt.sed: Moved architecture
	independent commands to config/winnt/config-nt.sed.
	* alpha/winnt.h: Added -D_M_ALPHA to CPP_PREDEFINES.
	Changed LIB_SPEC to be compatible with Gnu ld for NT.
	* i386/winnt.h: Added -D_cdecl=__attribute__((__cdecl__)).
	Change LIB_SPEC to be compatible with Gnu ld for NT.
	* winnt/config-nt.bat, winnt/config-nt.sed: New files.
	* winnt/dirent.{c,h}, winnt/fixinc-nt.c, winnt/headers.mak: New files.
	* winnt/ld.c: Changed precedence of libraries to look for
	libfoo.lib before libfoo.a
	Changed to work like Gnu ld for NT.
	* winnt/libgcc.mak, winnt/mklibgcc.c: New files.
	* winnt/spawnv.c: Changed spawn function entry points to __spawn*
	instead of spawn*.
	* winnt/x-winnt: New file.
	* fixinc-nt.sed: New file.
	* fixinc.winnt: Rewritten to use fixinc-nt.sed.

	* gcc.c: Remove fix_argv kludge.

Tue Sep 12 13:24:17 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.md (power subdi3 pattern): Fix pattern to have 5
	alternatives, and correct 4th alternative to match reality.

	* rs6000.md (adddi3, subdi3, negdi2): Add constraints so output reg
	does not overlap one reg with one of the inputs.

Tue Sep 12 13:09:48 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.c (output_scc_di): Fixed for non-SGS_CMP_ORDER syntax.

	* collect2.c (scan_libraries): Cast lsyms' alloca to LDSYM*.

Tue Sep 12 13:04:12 1995  Niklas Hallqvist  (niklas@appli.se)

	* stmt.c (expand_start_stmt_expr): Do stack adjust in right place.

	* stdarg.h (__gnuc_va_list): Make char * for NetBSD.

Tue Sep 12 12:44:46 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* ginclude/va-ppc.h (va_arg): Reorganize to avoid BIND_EXPRs of
 	aggregate or array type.

Tue Sep 12 12:42:27 1995  Ian Lance Taylor  <ian@cygnus.com>

	* fixincludes: Fix HP/UX <sys/file.h> for g++ -pedantic-errors.

	* fixincludes (curses.h): typedef bool need not take up entire line.

Mon Sep 11 19:05:42 1995  Stan Cox  (coxs@dg-rtp.dg.com)

	* c-typeck.c (digest_init): Don't recursively call digest_init
	when in traditional mode if the type is invalid.

Mon Sep 11 18:58:26 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)

	* 1750a.md: Added DLB/DSTB peepholes for HFmode.
	Corrected mnemonics for HImode DSTB peephole.

Mon Sep 11 18:48:06 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* config/fp-bit.c (FLO_union_type): Remove bitfields to set sign,
	exponent, and mantissa, and add value_raw field, which is an
	integer of the appropriate type.  If _DEBUG_BITFLOAT is defined,
	provide little and big endian bitfields.  If the macro
	FLOAT_BIT_ORDER_MISMATCH is defined, use explicit bitfields.
	(pack_d, unpack_d): Switch to use value_raw and explicit shifts
	and masks so that we don't have to worry about whether the target
	is big or little endian unless FLOAT_BIT_ORDER_MISMATCH is
	defined.  If single precision floating point, rename to pack_f and
	unpack_f, so there is no confusion in the debugger.

	* rs6000.h (rs6000_abi): New enumeration to describe which
	ABI we're conforming to.
	(rs6000_stack): Use abi enum, not AIX vs. V.4 boolean.
	(ASM_OUTPUT_OPTIONS): New macro to print output options in .s file.
	(ASM_FILE_START): Use it.
	(output_options,rs6000_float_const): Declare new functions.

	* rs6000.c (output_option{,s}): New functions to write -f, -m,
	and -W options to the asm file.
	(rs6000_float_const): New function to generate floating point
	constants portably used in signed,unsigned -> double conversions.
	(rs6000_stack_info,debug_stack_info): Use ABI enumeration instead
	of AIX vs. V.4 boolean.

	* rs6000.md (float{,uns}sidf2): Call rs6000_float_const to
	portably build the proper floating point constant for conversions.
	(movdi): Properly handle movdi of CONST_{INT,DOUBLE} on little
	endian systems.

	* rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Define to be 0/1
	depending on the target endianess.
	(ASM_FILE_START): Define, to call output_options in addition to
	output_file_directive.
	(TRAMPOLINE_SIZE): Correct size to match code.

	* rs6000/eabi{,le}sim.h (CPP_SPEC): Define the correct endian
	macro for varargs/stdargs use.

Mon Sep 11 18:41:58 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* c-decl.c (redeclaration_error_message): For TYPE_DECLs, return 0
	if TYPE_MAIN_VARIANT of old type is same as new type.

Mon Sep 11 17:39:35 1995  Rob Ryan (robr@cmu.edu)

	* xcoffout.c (xcoff_inlining): New variable, used in place of
	xcoff_current_include_file when determining whether to use
	absolute line numbers.
	(xcoffout_source_file): Switched to using xcoff_inlining to
	determine when to emit .bi/.ei directives.

Mon Sep 11 16:55:06 1995  Torbjorn Granlund  <tege@matematik.su.se>

	* m68k.md (cmpdi): Change patterns to allocate scratch register at
	RTL generation time.
	(tstdi): Likewise.

Sun Sep  3 09:03:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fold-const.c (size_binop): Don't pass 1 to NOTRUNC.

Thu Aug 31 19:27:00 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* libgcc2.c: Include longlong.h.
	[L_udivdi3 || L_divdi3 || L_umoddi3 || L_moddi3] (__udivmoddi4):
	Define this `static inline' when defining these, so they all
	remain leaf functions.

Thu Aug 31 18:38:21 1995  Paul Eggert  <eggert@twinsun.com>

	* c-parse.in (ends_in_label): New %union member.
	(stmts, stmt_or_label): Use new member to avoid lexical lookahead hack.
	(lineno_stmt_or_labels): New rule.
	(lineno_stmt_or_label, stmt_or_label): Yield nonzero if it ends
	in a label.

Thu Aug 31 08:31:40 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cse.c (canon_hash, CONST_DOUBLE): Hash integer and real
	differently.
	* varasm.c (struct rtx_const): Add new field DI to union.
	(decode_rtx_const, case CONST_DOUBLE): Use to hash CONST_DOUBLE
	representing an integer.

	* va-alpha.h (__gnuc_va_list): Make __offset an int.
	* alpha.c (alpha_builtin_saveregs): Properly compute address
	of __offset both both OSF and WINNT.

	* xm-alpha.h (sbrk): Don't define here.
	* gmon.c (sbrk): Define here for __alpha.
	* toplev.c (sbrk): Likewise.
	* mips-tfile.c (malloc, calloc, realloc): Don't define for anybody.

	* reload.c (push_reload): Add case for output reload of a SUBREG
	of a hard reg when output mode is invalid for that mode.
	In both that case and existing case for in, don't remove SUBREG.
	* reload1.c (emit_reload_insns): Emit RELOAD_OTHER output reloads last.

Tue Aug 29 19:16:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-common.c (decl_attribute, case A_PACKED): Check is_type first.
	(decl_attribute, case A_T_UNION): Likewise.
	Don't access TYPE_FIELDS if DECL is zero.
	* c-decl.c (finish_struct): If transparent_union attribute
	specified, validate it once we finish laying the union out.

Mon Aug 28 05:58:03 1995  Paul Eggert  <eggert@twinsun.com>

	* arm.c (arm_gen_movstrqi): Remove unused variable const_sxteen.

	* bi-lexer.c (buffer, inpoint): Remove unused variables.

	* i370/mvs.h, i370/mvs370.c (mvs_label_emitted): Renamed
	from mvs_label_emited.

	* msdos/configur.bat: Fix misspelling of `maintainer-clean'.

Sat Aug 26 06:57:17 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* reload.c (push_secondary_reload): If X is a paradoxical SUBREG,
	get mode and thing to reload from inside.
	* reload1.c (emit_reload_insns): Do nothing for SUBREG whose
	operand is unused subsequently.
	In secondary reload case, if paradoxical SUBREG for output, reload
	thing inside SUBREG, just like gen_reload.

Fri Aug 25 19:26:53 1995  Paul Eggert  <eggert@twinsun.com>

	* c-typeck.c (set_init_label): Don't die if an entire
	brace-pair level is superfluous in the containing level.

Fri Aug 25 19:22:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure (powerpc{,le}-eabisim): Add support for a new target
	that works under the PSIM simulator.
	* rs6000/eabisim.h, rs6000/eabilesim.h, rs6000/t-eabisim: New files.

	* rs6000/eabi.h (STRICT_ALIGNMENT): If little endian, always set
	strict alignment to 1.

Fri Aug 25 19:22:23 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md ({add,sub,mulsi}di3): Support both endian possibilities.
	(negdi2): Likewise.

Fri Aug 25 19:10:41 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)

	* 1750a.md: Added peephole definitions for Load/Store Base insns
	and eliminating redundant load in an equivalent store/load sequence.

Fri Aug 25 18:33:27 1995  Craig Burley  (burley@gnu.ai.mit.edu)

	* toplev.c (report_error_function): Don't attempt to use input
	file stack to identify nesting of #include's if file name oflocation
	diagnosed is not same as input_filename.

Fri Aug 25 07:31:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* integrate.c (output_inline_function): Switch to function obstack.

Mon Aug 21 13:29:54 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* i386.c (arithmetic_comparison_operator): New function.
	(print_operand): Take into account that overflow flag is not
	set the same as after a compare instruction.
	* i386.md (decrement_and_branch_until_zero): Use
	arithmetic_comparison_operator to decide if there is comparison
	suitable to be expressed by condition code from an arithmetic op.

Mon Aug 21 13:26:13 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (adddi3, subdi3): "&" added to clobber's constraints.

Mon Aug 21 12:11:14 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* t-sparclite (MULTILIB_*, LIBGCC, INSTALL_LIBGCC): Define.

	* sh.md (movdi-1, movdf-1): Make conditional on reload_completed,
	delete conditions checking for pseudo registers and Q addresses.
	Add code to handle SUBREG.

	* local-alloc.c (wipe_dead_reg): Make a register mentioned in a
	REG_INC note die after the instruction.

	* m68k.md: For all dbra pattern, change constraint from 'g' to 'd*g'.

	* Makefile.in: (underscore.c): Rename rule to stamp-under, and
	touch stamp-under at the end.  Add new rule for underscore.c that
	depends on stamp-under.

	* sh.c (reg_unused_after): For a SEQUENCE, make sure all insns are
	safe before returning 1.

	* sh.h (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN): Define.

	* sh.c (output_stack_adjust): Add new argument reg.  Use it instead
	of stack_pointer_rtx.
	(sh_expand_prologue, sh_expand_epilogue): Pass new argument to
	output_stack_adjust.

Sat Aug 19 17:34:15 1995  Jim Wilson  <wilson@phydeaux.cygnus.com>

	* sparc/gmon-sol2.c (_mcount): Define.
	* sparc/sol2.h (STARTFILE_SPEC, ENDFILE_SPEC): Delete superfluous
	-pg tests.
	(LINK_SPEC): Add libp directories to -Y when -pg.

	* unroll.c (calculate_giv_inc): Handle increment computed by ASHIFT.

Sat Aug 19 17:28:56 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (subdi3): Should not be commutative.
	(one_cmpldi2): Fixed typo with register operand.

Sat Aug 19 17:20:43 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (output_prolog): Fixup code to set stack pointer
	if stack size > 32k.
	* rs6000.md (sync_isync): Renamed from sync; added an isync insn
	after the sync to properly deal with PowerPC's with split I/D caches.
	* sysv4.h (INITIALIZE_TRAMPOLINE): Sync function now named sync_isync.

Sat Aug 19 17:07:09 1995  Doug Evans  <dje@canuck.cygnus.com>

	* h8300.h (STATIC_CHAIN_REGNUM): Use r3.
	(REGISTER_NAMES): Print r7 as sp.
	(ADDITIONAL_REGISTER_NAMES): Recognize r7.
	(ASM_OUTPUT_ALIGN): Alignment is power of 2.
	* h8300.md (fancy_btst,fancy_btst1): Branch target must be
	operand 0 for length attribute to work.

Sat Aug 19 16:43:11 1995  Paul Franklin  <paul@cs.washington.edu>

	* assert.h: Declare __eprintf with attribute noreturn.

Sat Aug 19 16:40:12 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* stddef.h: Don't define wchar_t if __cplusplus is defined.

Tue Aug 15 18:01:01 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (warning_with_line): Fix typo in declaration when
	!HAVE_VPRINTF and defined (__STDC__).

Tue Aug 15 17:57:54 1995  Stephen L Moshier <moshier@world.std.com>

	* real.c (ediv, emul): Set sign bit of IEEE -0.0 result.

Tue Aug 15 17:49:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (safe_from_p): Only safe if EXP is variable-size and X
	is BLKmode.

	* stmt.c (fixup_gotos): When some fixups done, reset to point
	to next instead of zeroing TREE_VALUE, which may be shared.

Mon Aug 14 09:15:45 1995  Doug Evans  <dje@canuck.cygnus.com>

	* m68k/m68kemb.h (STARTFILE_SPEC): Define as empty.

Mon Aug 14 09:08:57 1995  Pat Rankin  <rankin@eql.caltech.edu>

	* vax.c (vms_check_external): Update `pending_head' properly
	when the first list element is removed.

Mon Aug 14 09:01:32 1995  Jeffrey A. Law  <law@adder.cygnus.com>

	* pa.md (call expanders): Emit a blockage insn after restoring
	%r19 when generating PIC.

Sun Aug 13 21:58:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* toplev.c (main): Change text of unsupported -g option warning.

Sun Aug 13 21:47:57 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* objc/selector.c (sel_get_any_typed_uid): New function.
	* objc/objc-api.h (sel_get_any_typed_uid): Declare new function.

Sun Aug 13 21:43:17 1995  John Carr  <jfc@mit.edu>

	* c-typeck.c (c_expand_asm_operands): Check for read-only output
	operand where the variable is read-only but the type is not.

Sun Aug 13 21:16:12 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c (direct_return): Epilogue required if CR saved.

Sun Aug 13 19:09:25 1995  Jeff Law  (law@snake.cs.utah.edu)

	* configure (hppa1.?-hp-hpux10): Recognize and treat just like hpux9.

Sun Aug 13 19:07:23 1995  Doug Evans  <dje@canuck.cygnus.com>

	* i960.md (movdi matchers): Fix src/dest order in unaligned
	reg->reg case.

Sun Aug 13 18:49:01 1995  DJ Delorie  <dj@delorie.com>

	* i386/xm-dos.h (HAVE_STRERROR): New definition.

	* msdos/configur.bat: Add missing carriage return.

Sun Aug 13 18:40:55 1995  Andrew Cagney  <cagney@highland.com.au>

	* Makefile.in (USER_H): Add va-ppc.h.

Sun Aug 13 18:36:17 1995  M. Warner Losh  <imp@village.org>

	* stmt.c (expand_asm_operands): Type '0'..'4' operands may
	allow regs, so move them to the default case.

Sun Aug 13 18:32:35 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (warning_with_line): New function.
	(trigraph_pcp): Use it, to avoid reporting line number.
	(vwarning_with_line): Don't report line number if zero.

Sun Aug 13 18:23:08 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* toplev.c (vmessage): Support four arguments.

Sun Aug 13 18:19:51 1995  Michael Meissner  <meissner@cygnus.com>

	* ginclude/stdarg.h: Add ppc svr4 calling sequence support.
	* ginclude/varargs.h: Likewise.
	* ginclude/va-ppc.h: New file.

Sun Aug 13 18:05:20 1995  Michael Gschwind  <mike@donoussa.vlsivie.tuwien.ac.at>

	* configure (pdp-*-*): Add support for t-pdp11.
	* t-pdp11: New file.
	* Makefile.in (LIBGCC2_CFLAGS): Add TARGET_LIBGCC2_CFLAGS.

Sun Aug 13 14:50:58 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* final.c (final_start_function): Always call sdbout_begin_function
	and xcoffout_begin_function, even if no line number info.

	* mips/abi64.h (SETUP_INCOMING_VARARGS): In if statement, only
	subtract one for stdarg.  Don't subtract PRETEND_SIZE from
	argument pointer when calculating stack address.
	* mips.h (INITIAL_ELIMINATION_OFFSET): For 64 bit ABI, subtract
	current_function_pretend_args_size when converting from argument
	pointer.
	* va-mips.h (va_start): For stdarg, delete separate define for
	64 bit ABI.  For varargs, don't subtract 64, and only add -8 when
	all argument registers are used.

	* gcc.c (main): When concat gcc_exec_prefix and
	standard_startfile_prefix, put machine_suffix in the middle.

	* iris6.h (INIT_SECTION_ASM_OP): Don't define.
	(LD_INIT_SWITCH, LD_FINI_SWITCH, HAS_INIT_SECTION): Don't undef.
	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Ifdef out.
	* configure (mips-sgi-irix6, mips-sgi-irix5cross64): Define
	use_collect2 to yes.

	* combine.c (move_deaths): When have a multi-reg hard register,
	if don't find a note, then recur for each individual hard register.

	* cse.c (set_nonvarying_address_components): Handle addresses
	which are the sum of two constant pseudo regs.
	(cse_rtx_addr_varies_p): Likewise.

	* Makefile.in (gfloat.h): Add a - before the rm command.

	* loop.c (find_and_verify_loops): Set dest_loop only if
	JUMP_LABEL (insn) is nonzero.

Mon Jul 31 14:31:53 1995  Ian Lance Taylor  <ian@cygnus.com>

	* fixincludes: Avoid clobbering VxWorks drv/netif/if_med.h file.

Sat Jul 29 16:21:42 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* collect2.c: (XCOFF_SCAN_LIBS): Define if OBJECT_FORMAT_COFF and
	XCOFF_DEBUGGING_FORMAT.
	(SCAN_LIBRARIES): Also define if XCOFF_SCAN_LIBS.

Sat Jul 29 16:19:42 1995  Stuart D. Gathman  <stuart@bmsi.com>

	* collect2.c (scan_libraries): Implement for AIX.

Sat Jul 29 09:59:33 1995  Michael Gschwind  <mike@lanai.vlsivie.tuwien.ac.at>

	* configure: (pdp11-*-bsd) New target.
	* 2bsd.h: New file.

	* pdp11.c (output_move_double): Handle CONST_INT parameters properly.
	* pdp11.h (RTX_COSTS): Fill in missing default values.
	* pdp11.md (truncdfsf2, extendsfdf2, floatsidf2, fix_truncdfsi2):
	Allow register parameters, required by gcc to generate correct code.
	* xm-pdp11.h: Include tm.h.

Sat Jul 29 09:55:17 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* configure (m68k-*-linux*aout*, m68k-*-linux*): New targets.
	* m68k/linux-aout.h, m68k/linux.h, m68k/t-linux, m68k/xm-linux.h: New.
	* m68k.md [USE_GAS]: Output `jbsr' instead of `jsr' for normal
	function calls and `bsr.l' instead of `bsr' for pic function calls.

Sat Jul 29 09:44:13 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.h (CAN_DEBUG_WITHOUT_FP): Comment out.

	* reload.c (find_reloads_address_1, case PLUS): When handle SUBREG,
	add SUBREG_WORD offset to SUBREG_REG register number.
	(find_reloads_address_1, case SUBREG): If a pseudo register inside
	a SUBREG is larger than the class, then reload the entire SUBREG.
	* sh.h (SUBREG_OK_FOR_INDEX_P): New macro.
	(INDEX_REGISTER_RTX_P): Use it.

Sat Jul 29 09:33:19 1995  Doug Evans  <dje@canuck.cygnus.com>

	* mips/netbsd.h (CPP_SPEC): Fix typo.

	* configure (a29k-*-vxworks*): Define extra_parts for crt{begin,end}.o.
	* t-a29k, t-a29kbase, t-vx29k ({,CROSS_}LIBGCC1): Define as empty.

Sat Jul 29 09:15:17 1995  Jeffrey A. Law  <law@rtl.cygnus.com>

	* pa/lib2funcs.asm (gcc_plt_call): Rewrite to avoid the need
	for being called by _sr4export.  Inline expand $$dyncall to
 	avoid the need for long-call and PIC support.

Sat Jul 29 07:30:04 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)

	* ms1750.inc (ucim.m, ucr.m, uc.m): New.
	* 1750a.md (cmpqi): Account for unsigned comparisons.
	(rotrqi3, rotrhi3): Reworked.
	* 1750a.c (notice_update_cc): INCM and DECM set condition codes.
	(unsigned_comparison_operator, next_cc_user_is_unsigned): New fcns.
	* 1750a.h (FUNCTION_EPILOGUE): Local variables freed from SP, not FP.
	(ASM_OUTPUT_BYTE): Make distinct from ASM_OUTPUT_CHAR.
	(ASM_OUTPUT_CONSTRUCTOR): Add FILE arg to assemble_name.

Fri Jul 28 09:40:07 1995  Jeffrey A. Law  <law@rtl.cygnus.com>

        * pa.h (DO_GLOBAL_DTORS_BODY): Use an asm statement to keep optimizer
	from deleting an assignment it believes dead.

Fri Jul 28 08:47:51 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* unroll.c (unroll_loop): When preconditioning, output code to
	execute loop once if initial value is greater than or equal to final
	value.

	* configure (lang_specs_files, lang_options_files): Add $srcdir to
	file names when adding them to these variables.

	* c-typeck.c (pointer_int_sum): Don't distribute if intop is unsigned
	and not the same size as ptrop.

	* function.c (assign_stack_temp): When split a slot, set base_offset
	and full_size in the newly created slot.
	(combine_temp_slots): Update full_size when slots are combined.

	* sh.c (reg_unused_after): New function.
	* sh.md (define_peephole): Add peepholes to use r0+rN addressing mode
	for some address reloads.

	* final.c (final_start_function): If SDB_DEBUG, call
	sdbout_begin_function.  If XCOFF_DEBUG, call xcoffout_begin_function
	instead of xcoffout_output_first_source_line.
	(final_scan_insn): Don't call sdbout_begin_function or
	xcoffout_begin_function.
	* xcoffout.c (xcoffout_output_first_source_line): Delete.
	(xcoffout_begin_function): Call dbxout_parms and
	ASM_OUTPUT_SOURCE_LINE.

	* va-mips.h: Change every occurrence of #if __mips>=3 to
	#ifdef __mips64.
	* mips/abi64.h (CPP_SPEC): Output -D__mips64 when -mips3, or -mips4,
	or -mgp64.  Output -U__mips64 when -mgp32.
	* mips/dec-bsd.h, mips/elf64.h, mips/iris3.h: Likewise.
	* mips/iris5.h, mips/mips.h, mips/netbsd.h, mips/osfrose.h: Likewise.

	* i960.c (i960_function_epilogue): Don't clear g14 for functions with
	an argument block.
	(i960_output_reg_insn): Likewise.
	(i960_output_call_insn): Clear g14 for functions wtih an argument
	block.

Fri Jul 28 08:43:52 1995  Doug Evans  <dje@canuck.cygnus.com>

	* i960.c (i960_arg_size_and_align): Correct alignment of XFmode
	values in library calls.
	* i960.md (movdi matchers): Support odd numbered regs.

Fri Jul 28 08:37:25 1995  Michael Gschwind  <mike@lanai.vlsivie.tuwien.ac.at>

	* pdp11.md (divhi3, modhi3, divmodhi4): Rewrite.

Wed Jul 26 10:15:52 1995  Hallvard B Furuseth  (h.b.furuseth@usit.uio.no)

	* collect2.c (end_file): Fix typo in error message text.

Wed Jul 26 09:22:22 1995  Jeff Law  (law@snake.cs.utah.edu)

	* xm-pa.h (USE_C_ALLOCA): Always define.
	* xm-pahpux.h (USE_C_ALLOCA): Likewise.

	* x-pa (CC): Remove useless definition.
	* xm-pa.h (HAVE_STRERROR): Define.
	(__BSD_NET2__): Define.

Wed Jul 26 09:10:25 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* expr.c (preexpand_calls): Don't look past a CLEANUP_POINT_EXPR.

Wed Jul 26 08:43:42 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* cse.c (cse_insn): When do special handling for (set REG0 REG1),
	must delete REG_EQUAL note from insn if it mentions REG0.

	* loop.c (find_and_verify_loops): When moving blocks of code, verify
	that the just destination is not in an inner nested loop.
	(mark_loop_jump): Don't mark label as loop exit if it jumps to
	an inner nested loop.

Wed Jul 26 08:40:31 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (do_include, read_name_map): Omit leading "./" and
	trailing "/" when it makes sense.
	(skip_redundant_dir_prefix): New function.

Wed Jul 26 08:36:41 1995  Michael Meissner  <meissner@cygnus.com>

	* stmt.c (emit_nop): Do not emit a nop if there is a single
	insn before a label or at the start of a function.

Wed Jul 26 08:21:21 1995  Doug Evans  <dje@cygnus.com>

	* Makefile.in (gfloat.h): Delete previous copy before updating.

Wed Jul 26 08:18:29 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* Makefile.in (STAGESTUFF): Add stamp-crtS.
	(crtbeginS.o, crtendS.o, stamp-crtS): New rules; just like
	crtbegin.o et al, but compiled using -fPIC.
	* configure (*-*-gnu*): Add crtbeginS.o and crtendS.o to $extra_parts.

Wed Jul 26 08:11:52 1995  Michael Gschwind  <mike@java.vlsivie.tuwien.ac.at>

	* pdp11.md: Fixed typos ('bhos' -> 'bhis').

Wed Jul 26 08:05:41 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* hp320.h, m68k.h, m68kv4.h (LEGITIMATE_PIC_OPERAND_P): Reject
	CONST_DOUBLE with MEM with invalid pic address.
	* reload1.c (real.h): Include it.
	* Makefile.in (reload1.o): Depends on real.h.

Wed Jul 26 07:58:22 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gcc.c (MULTILIB_DIRS): Provide default if not defined.
	(multilib_defaults): New static variable.
	(default_arg): New static function.
	(set_multilib_dir): Ignore default arguments.
	(print_multilib_info): Ignore entries which use default arguments.

Tue Jul 25 10:06:09 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.md (allocate_stack): Don't copy the LR register to
	the new stack end.
	* rs6000.c (rs6000_stack_info): Correctly store the LR in
	the caller's frame, not the current frame, for V.4 calls.
	* rs6000/eabi.asm (_save*, _rest*): Provide all mandated V.4 save
	and restore functions, except for the save*_g functions which
	return the GOT address.

Fri Jul 21 14:24:25 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/eabi.h (__eabi): Load up r13 to be the small data
	pointer, unless -mrelocatable.

	* rs6000/aix3newas.h (LINK_SPEC): Import machine independent
	functions if -mcpu=common.
	* rs6000/milli.exp: Import file referenced in aix3newas.h.

	* rs6000/eabi.asm (__eabi): Support for fixing up user initialized
	pointers when -mrelocatable is used.
	* rs6000/eabi.h (ASM_OUTPUT_INT): Record any pointers initialized
	by the user if -mrelocatable, to be fixed up by __eabi.
	(CONST_SECTION_ASM_OP): If -mrelocatable, put read-only stuff in .data,
	not .rodata, to allow user initialized pointers to be updated by __eabi.

	* rs6000.h (TARGET_SWITCHES): Add -mdebug-{stack,arg}.
	(TARGET_{ELF,NO_TOC,TOC}): Add defaults for non system V.
	(rs6000_stack): New structure to describe stack layout.
	(RS6000_{REG_SAVE,SAVE_AREA,VARARGS_*}): New macros used to
	support both AIX and V.4 calling sequences.
	(FP_ARG_*, GP_ARG_*): Ditto.
	(FP_SAVE_INLINE): Ditto.
	(STARTING_FRAME_OFFSET): Modify to support both AIX and V.4
	calling sequences.
	(FIRST_PARM_OFFSET): Ditto.
	(REG_PARM_STACK_SPACE): Ditto.
	(STACK_POINTER_OFFSET): Ditto.
	(FUNCTION_ARG_REGNO_P): Ditto.
	({,INIT_}CUMULATIVE_ARGS): Ditto.
	(LEGITIMATE_LO_SUM_ADDRESS_P): Ditto.
	(FUNCTION_ARG{,_ADVANCE,PARTIAL_NREGS,PASS_BY_REFERENCE}): Ditto.
	(SETUP_INCOMING_VARARGS): Ditto.
	(EXPAND_BUILTIN_SAVEREGS): Ditto.
	(CAN_ELIMINATE): Ditto.
	(INITIAL_ELIMINATION_OFFSET): Ditto.
	(LEGITIMATE_CONSTANT_POOL_{BASE,ADDRESS}_P): Ditto.
	(GO_IF_{LEGITIMATE_ADDRESS,MODE_DEPENDENT_ADDRESS}): Ditto.
	(LEGITIMIZE_ADDRESS): Ditto.
	(CONST_COSTS): Ditto.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Ditto.
	(ASM_OUTPUT_REG_{PUSH,POP}): Use reg_names to print registers.
	(function declarations): Add new rs6000.c function declarations,
	and delete decls of deleted functions.
	(SHIFT_COUNT_TRUNCATED): Parenthesize the expression.

	* rs6000.c (init_cumulative_args): New function to support AIX
	and V.4 calling sequences.
	(function_arg{,_advance,partial_nregs,pass_by_reference}): Ditto.
	(setup_incoming_varargs): Ditto.
	(expand_builtin_saveregs): Ditto.
	(rs6000_stack_info): Ditto.
	(debug_stack_info): Ditto.
	(direct_return): Changes to support AIX and V.4 calling sequences.
	(first_reg_to_save): Ditto.
	(svr4_traceback): Ditto.
	(output_{prolog,epilog}): Ditto.
	(print_operand): Use reg_names to print registers.  Add support
	for V.4 HIGH/LO_SUM address modes.
	(must_save_cr): Function deleted, in rewrite of AIX/V.4 calling
	sequence support.
	(rs6000_sa_size): Ditto.
	(rs6000_pushes_stack): Ditto.
	(output_toc): Add abort if no toc.

	* rs6000.md (call insns): Add a new argument to flag a V.4
	function needs to set bit 6 of the CR.
	(elf_{low,high}): New V.4 functions to create addresses via HIGH
	and LO_SUM patterns.
	(movsi): Use elf_{low,high} if appropriate.
	(mov{si,di}_update): Name these patterns for allocate_stack.
	(allocate_stack): Support for V.4 stack layout.
	(sync): New pattern for V.4 trampolines to issue the sync
	instruction.

	* rs6000/sysv4.h (TARGET_SWTICHES): Add -mcall-{aix,sysv}, and
	-mprototype.  Remove separate flag bit for -mno-toc.
	(SUBTARGET_OVERRIDE_OPTIONS): Don't test for -mno-toc.
	(FP_ARG_*): Adjust for V.4 calling sequences.
	(RS6000_*): Ditto.
	(FP_SAVE_INLINE): Ditto.
	(toc_section): Eliminate use of AIX style full TOC.
	(TRAMPOLINE_{TEMPLATE,SIZE}): Redefine for V.4 support.
	(INITIALIZE_TRAMPOLINE): Ditto.

	* rs6000/eabi.h (CPP_SPEC): Define _CALL_SYSV or _CALL_AIX,
	depending on whether -mcall-sysv or -mcall-aix was used.
	* rs6000/eabile.h (CPP_SPEC): Ditto.
	* rs6000/sysv4le.h (CPP_SPEC): Ditto.

	* rs6000/t-eabigas (MULTILIB_{OPTIONS,DIRNAMES}): Delete no-toc
	libraries, explicit big endian libraries.
	* rs6000/t-ppcgas (MULTILIB_{OPTIONS,DIRNAMES}): Ditto.

	* rs6000/t-eabiaix: New file for eabi, using -mcall-aix as the
	default.
	* rs6000/eabiaix.h: Ditto.

	* rs6000/t-eabilegas: New file for eabi on little endian systems.
	* rs6000/t-ppclegas: New file for V.4 on little endian systems.

	* rs6000/t-rs6000 (MULTILIB_{OPTIONS,DIRNAMES}): Build libgcc.a
	for -mcpu=common.

	* configure (powerpc-*-eabiaix): New configuration for defaulting
	to old-style AIX calling sequence.
	(powerpcle*): Use new t-{eabi,ppc}legas files, to avoid building
	explicit little endian multilib libraries.

Fri Jul 21 13:23:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* toplev.c (main): Don't define sbrk #ifdef __alpha__.

Tue Jul 18 19:23:44 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (do_include): Prefix -H output lines with spaces, not dots.
	(output_dots): Remove.

	* cccp.c (main): cplusplus_comments now defaults to 1.
	But clear it if	-traditional or the new option -lang-c89 is given.
	* gcc.c (default_compilers, cpp): Specify -lang-c89 if -ansi is given.
	This turns off C++ comment recognition.

Tue Jul 18 19:16:38 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* va-sparc.h (va_arg): Add support for 128 bit long double type.

Tue Jul 18 19:11:18 1995  Jorn Rennecke  (amylaar@meolyon.hanse.de)

	* c-common.c (decl_attributes, case A_ALIGNED): Handle is_type
	case properly.

Tue Jul 18 19:03:02 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fold-const.c (fold, case CONVERT_EXPR): Don't merge conversions
	if outer is to handle a type with differing precision.

Mon Jul 17 14:37:35 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* vax/vms.h (HAVE_ATEXIT): Define.
	(DO_GLOBAL_CTORS_BODY): Don't call atexit; let __do_global_ctors do it.
	* vax/xm-vms.h (HAVE_VPRINTF): Define.

Mon Jul 17 06:41:19 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-typeck.c ({unsigned,signed}_type): Handle intXX_type_node types.

	* xm-alpha.h (sbrk): Add declaration.

	* convert.c (convert_to_integer): If TYPE is an enumeral type or
	if its precision is not the same as the size of its mode,
	convert in two steps.

	* m68k.md (tstdi, cmpdi): Use match_scratch, not match_operand.

Fri Jul 14 19:23:42 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* c-decl.c (field_decl_cmp): Rewritten to make sure that a null
	name always sorts low against other names.
	* c-typeck.c (lookup_field): Change name comparison to match what
	field_decl_cmp does.

Fri Jul 14 18:46:24 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.md (movsi): Convert a CONST_DOUBLE into a CONST_INT of
	the low part.

Fri Jul 14 18:30:52 1995  Doug Evans  <dje@cygnus.com>

	* toplev.c (main): Reword dwarf/c++/-g warning.

Fri Jul 14 18:19:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.h (NO_DEFER_POP): Remove last change.
	* expr.c (stor_expr): Force stack adjust before NO_DEFER_POP.
	(expand_expr, case COND_EXPR): Likewise.
	* stmt.c (expand_start_stmt_expr): Likewise.

Fri Jul 14 07:58:35 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* function.c (struct temp_slot): New fields base_offset, full_size.
	(assign_stack_temp): For !FRAME_GROWS_DOWNWARD, set p->size to size.
	Set new fields base_offset and full_size.
	(combine_temp_slots): Use new fields base_offset and full_size instead
	of slot and size.

	* loop.c (loop_number_exit_count): New global variable.
	(loop_optimize): Allocate space for it.
	(find_and_verify_loops, mark_loop_jump): Set it.
	(strength_reduce, check_dbra_loop): Use loop_number_exit_count
	instead of loop_number_exit_labels.
	* loop.h (loop_number_exit_count): Declare it.
	* unroll.c (find_splittable_{regs,givs}, final_[bg]iv_value): Use
	loop_number_exit_count instead of loop_number_exit_labels.
	(reg_dead_after_loop): Check loop_number_exit_count, and fail
	if the count doesn't match loop_number_exit_labels.

	* cse.c (cse_insn): Ifdef out code that pre-truncates src_folded.

	* sparc.md (sethi_di_sp64): Return null string at end.

	* function.h (struct function): Add stdarg field.
	* function.c (current_function_stdarg): New global variable.
	(push_function_context_to): Save it.
	(pop_function_context_from): Restore it.
	(assign_parms): Set it.
	(init_function_start): Clear it.
	* output.h (current_function_stdarg): Declare it.
	* i960.md: Modify all patterns which handle stores to memory to also
	check current_function_varargs and current_function_stdarg.

	* reorg.c (fill_simple_delay_slots): When trying to take instruction
	from after the branch, don't continue past target label.  Local
	variables passed_label and target_uses are no longer necessary.

Thu Jul 13 19:30:04 1995  Jeff Law  (law@snake.cs.utah.edu)

	* pa.c (output_bb): Fix error in long backwards branch with
	nullified delay slot.

Thu Jul 13 19:26:13 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* expmed.c (SHIFT_COUNT_TRUNCATED): Use #ifdef not #if.

Mon Jul 10 20:16:44 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (rescan): Don't address outside of array when
	preprocessing C++ comments.

Mon Jul 10 20:05:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* rs6000.c (expand_block_move): Remove #if 0 conditionals
	against using larger block moves.

	* t-rs6000 (EXTRA_PARTS): Copy milli.exp to release dir.
	(milli.exp): Copy to build dir from machine dependend dir.

Mon Jul 10 20:03:29 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm.md (matcher for (shiftable_op (cond-exp) (reg))): If
	shiftable_op is minus, then subtract from zero when cond fails.

Mon Jul 10 19:58:26 1995  John F. Carr <jfc@mit.edu>

	* sparc.h (SELECT_SECTION): Use TREE_CODE_CLASS instead of directly
	referencing tree_code_type.

Mon Jul 10 19:54:31 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* protoize.c (reverse_def_dec_list): Delete const qualifiers from
	local variables, and delete casts which were casting away const.

Mon Jul 10 19:14:39 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-lang.c (finish_file): Add missing parm to start_function call.

	* jump.c (jump_optimize): Pass outer_code arg to rtx_cost.

	* varasm.c (assemble_name, bc_assemble_integer): Call
	bc_emit_labelref with proper args.

	* function.c (setjmp_args_warning): Remove bogus arg.

Mon Jul 10 18:20:54 1995  Fergus Henderson  (fjh@cs.mu.oz.au)

	* gcc.c (p{fatal,error}_with_name, perror_exec): Quote filename.

Mon Jul 10 18:12:51 1995  Gran Uddeborg (uddeborg@carmen.se)

	* i386/iscdbx.h (STARTFILE_SPEC): Handle -Xp.

Wed Jul  5 02:42:17 1995  Per Bothner  (bothner@spiff.gnu.ai.mit.edu)

	* cpphash.h (enum node_type):  Remove unneeded and non-standard
	forward declaration.

Sat Jul  1 20:15:39 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* mips/t-mips, mips/t-mips-gas (MULTILIB_*, LIBGCC, INSTALL_LIBGCC):
	Delete.

	* sparc/sol2.h (LINK_SPEC): Revert March 16 change.  Do not add -R
	for each -L.

	* collect2.c (libcompare): Verify that file name extensions are valid.
	Put files with invalid extensions last in the sort.

	* integrate.c (integrate_decl_tree): Set DECL_ABTRACT_ORIGIN before
	pushdecl call for local variables.

Sat Jul  1 08:13:38 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* cpplib.c (output_line_command): If not emitting #line directives
	delay returning until after adjust_position has been called.

	* arm.md (mov{si,sf,df}cc): Call gen_compare_reg to generate
	the condition code register.

Sat Jul  1 06:55:09 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fold-const.c (decode_field_reference): New parm PAND_MASK.
	(unextend): New parm MASK.
	(fold_truthop): Pass new parms to decode_field_reference and unextend.

	* va-alpha.h (__va_tsize): Use __extension__ to avoid warning
	on use of `long long'.

	* expr.h (NO_DEFER_POP): Do any pending stack adjusts.

	* recog.c (register_operand): Disallow subreg of reg not allowed to
	change size.

Thu Jun 29 05:51:57 1995  Jeff Law  (law@snake.cs.utah.edu)

	* pa.md (reload addsi3): New pattern to avoid reload lossage
	with register eliminations.

	* pa.c (output_cbranch): When checking for a jump to the given
	insn's delay slot, handle the case where JUMP_LABEL for the
	given insn does not point to the first label in a series of
	labels.
	(output_bb, output_dbra, output_movb): Likewise.

Wed Jun 28 18:04:56 1995  Jeff Law  (law@snake.cs.utah.edu)

	* pa.h (PIC_OFFEST_TABLE_REGNUM_SAVED): Define to %r4.
	(CONDITIONAL_REGISTER_USAGE): Make it fixed when compiling
	PIC code.
	(INIT_EXPANDERS): Delete.
	* pa.c (hppa_save_pic_table_rtx): Delete variable.
	(hppa_expand_prologue): For PIC generation, copy the PIC
	register into a fixed callee register at the end of the
	prologue of non-leaf functions.
	* pa.md (call expanders): Reload the PIC register from the
	fixed callee saved register.  Don't try to save the PIC
	register before the call.

Wed Jun 28 18:01:14 1995  Stan Cox  (coxs@dg-rtp.dg.com)

	* m88k/dguxbcs.h (ASM_SPEC): Removed -h flag.
	* m88k/dgux.h (ASM_SPEC): Likewise.

Wed Jun 28 17:01:58 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.c (processor_target_table): Remove CPU name synonyms.
	* rs6000.h (CPP_SPEC): Likewise.
	* rs6000/sysv4.h (CPP_SPEC): Likewise.
	(ASM_SPEC): Likewise.
	* rs6000/sysv4le.h (CPP_SPEC): Likewise.
	* rs6000/eabile.h (CPP_SPEC): Likewise.
	* rs6000/powerpc.h (CPP_SPEC): Likewise.
	(ASM_SPEC): Set assembler target according to compiler target.
	* rs6000/aix3newas.h (CPP_SPEC): Likewise.
	(ASM_SPEC): Likewise.
	* rs6000/aix41.h (CPP_SPEC): Likewise.
	(ASM_SPEC): Likewise.

Wed Jun 28 16:25:53 1995  Gran Uddeborg  (uddeborg@carmen.se)

	* i386/x-isc3 (INSTALL_HEADERS_DIR): Delete; done by configure.

Wed Jun 28 16:10:47 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* xm-rs6000.h (alloca): Extern decl added for non-GNU compiler.

Wed Jun 28 11:31:30 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cpplib.c (progname): Remove definition from here.

	* final.c (final_scan_insn): Fix error in last change.

	* rtlanal.c (reg_set_p_1): Now static; add extra parm.

	* stmt.c: Delete redundant forward decls.
	(expand_anon_union_decl): Correctly call expand_decl.

	* toplev.c (strip_off_ending): Strip off any ending; don't
	pretend we know what valid endings are.

	* svr4.h (ASM_OUTPUT_SECTION_NAME): Don't crash if DECL is null.

	* rs6000.md ({load,store}_multiple): Don't use indirect_operand
	in define_insn; use explicit MEM of register_operand instead.

Tue Jun 27 11:42:56 1995  Stephen L Moshier  <moshier@world.std.com>

	* i386/i386.c (print_operand, case `J'): Use jns for GE and js for
	LT.

Tue Jun 27 07:58:55 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* expr.c (expand_expr, TARGET_EXPR): Only use original_target
	if !ignore.

Tue Jun 27 07:27:26 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fold-const.c (fold_truthop): Commute unextend and convert on
	l_const and r_const.

	* c-common.c (decl_attributes, case A_CONSTRUCTOR, A_DESTRUCTOR):
	Set TREE_USED.

	* final.c (final_scan_insn): Don't call alter_cond unless
	condition is on cc0.

	* stmt.c (expand_asm_operands): Handle input operands that may not
	be in a register.

Mon Jun 26 19:23:05 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm/lib1funcs.asm (L_dvmd_tls): Renamed from L_divmodsi_tools.
	* arm/t-semi (LIB1ASMFUNCS): Rename _dvmd_tls from _divmodsi_tools.

Mon Jun 26 19:18:06 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* unroll.c (find_splittable_regs): When completely unrolling loop,
	check for non-invariant initial biv values.

Mon Jun 26 19:13:54 1995  Gran Uddeborg  <uddeborg@carmen.se>

	* configure (i[345]86-*-isc*): Fix misspelled "rfile" to "ifile".

Mon Jun 26 18:58:22 1995  Mike Stump  <mrs@cygnus.com>

	* expr.c (expand_expr, case COND_EXPR): Protect the condition from
	being evaluated more than once.
	(do_jump, case TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR): Likewise.

Mon Jun 26 18:52:36 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* fixincludes (string.h):  Fix return value for mem{ccpy,chr,cpy,set}
	and str{len,spn,cspn} on sysV68.

Mon Jun 26 06:54:50 1995  Michael Meissner  (meissner@cygnus.com)

	* i386/osfrose.h (LONG_DOUBLE_TYPE_SIZE): Go back to making long
	double == double.

Thu Jun 22 19:14:41 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* make-cc1.com (if DO_LINK): Skip c-parse.* processing when
	only relinking.
	(gas_message): Update to reflect current version, and give
	a different message if/when no version of gas is found.xo

Thu Jun 22 18:52:37 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm/lib1funcs.asm (___modsi3): Correctly set SIGN register for
	modulo involving negative numbers.

Thu Jun 22 18:32:27 1995  Uwe Seimet  (seimet@chemie.uni-kl.de)

        * xm-atari.h (HZ): Now 100 and don't define if already defined.

Thu Jun 22 18:26:12 1995  Jeffrey A Law  (law@snake.cs.utah.edu)

	* calls.c (expand_call): Correctly handle returning BLKmode
	structures in registers when the size of the structure is not
	a multiple of word_size.
	* stmt.c (expand_return): Likewise.

	* pa-gux7.h (LIB_SPEC): Undefine before redefining.
	* pa-hpux.h (LIB_SPEC): Likewise.
	* pa-hpux7.h (LIB_SPEC): Likewise.

	* genmultilib: Work around hpux8 /bin/sh case bug.

	* pa.h (LIB_SPEC): Define to avoid -lg.

Thu Jun 22 18:19:09 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* expr.c (expand_expr, TARGET_EXPR): Use original_target.

	* collect2.c (locatelib): Fix parsing of LD_LIBRARY_PATH.

Thu Jun 22 18:15:54 1995  Paul Eggert  <eggert@twinsun.com>

	* configure: Create an empty Makefile.sed first, to work
	around a Nextstep 3.3 bug.

Thu Jun 22 18:03:44 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* Makefile.in (STAGESTUFF): Add stamp-crt.
	(crtbegin.o, crtend.o): Now depend on stamp-crt.
	(stamp-crt): New rule, to actually build crt{begin,end}.o.

	* collect2.c (main): Unlink export_file before we return.

Thu Jun 22 14:25:56 1995  Michael Meissner  (meissner@cygnus.com)

	* rs6000.h (STRIP_NAME_ENCODING): Store NAME and strlen(NAME) into
	local variables; cast result of alloca to avoid compiler warnings.

Tue Jun 20 18:25:29 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* alpha/config-nt.sed, i386/config-nt.sed: Edit to add
	a missing $(exeext) for CCCP.

Tue Jun 20 18:18:00 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* protoize.c (default_include): Use name and two ints to be
	compatible with definition of INCLUDE_DEFAULTS.

Mon Jun 19 19:24:29 1995  Ted Lemon  <mellon@toccata.fugue.com>

      * mips/netbsd.h (ASM_DECLARE_FUNCTION_NAME): Don't emit function label.

Mon Jun 19 18:34:55 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* fixincludes: Don't define wchar_t under C++.

Mon Jun 19 17:12:41 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (collect_expansion): Work around enum bug in vax
	ultrix 4.3 pcc.
	* tree.c (simple_cst_equal): Likewise.

Mon Jun 19 16:53:00 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* winnt/spawnv.c: New file.

Mon Jun 19 16:30:29 1995  Glenn Brown  <glenn@mars.myri.com>

 	* caller-save.c (save_call_clobbered_regs): If AUTO_INC_DEC, mark
	register indicated by REG_INC notes as live so they will be saved.

Mon Jun 19 16:21:12 1995  Jeffrey A Law  (law@snake.cs.utah.edu)

	* pa.h (PRINT_OPERAND_ADDRESS, case LOW_SUM): Fix logic bug
	in last change.

Mon Jun 19 14:11:49 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* integrate.c (integrate_decl_tree): Only set DECL_ABSTRACT_ORIGIN
	if the decl returned by pushdecl is the one we started with.

	* mips.h (current_function_name): Delete declaration.
	(ASM_DECLARE_FUNCTION_NAME): Don't set current_function_name.
	* gnu.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
	* mips.c (current_function_decl): Delete declaration.
	(function_prologue): New variable fnname.  Use it instead of
	current_function_name.
	(function_epilogue): Likewise.

Mon Jun 19 13:13:15 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alpha.h (ASM_OUTPUT_ASCII): Always reset line count when
	starting new line.

	* scan-decls.c (scan_decls): Fix typo when resetting PREV_ID_START.

	* i386/config-nt.sed, alpha/config-nt.sed: Change version to 2.7.1.

Mon Jun 19 13:06:14 1995  DJ Delorie  (dj@delorie.com)

	* msdos/top.sed: Support new build variables.
	* msdos/configur.bat: Make options.h and specs.h.
	Change realclean to maintainer-clean.

Fri Jun 16 06:54:03 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* Version 2.7.0 Released.

	* obstack.c: Always enable this code for now.

	* alpha.c (alpha_builtin_saveregs): Use ptr_mode and conversions
	when need so works for both OSF and NT.
	* va-alpha.h (__va_tsize): Round to long long not long.

Thu Jun 15 17:54:52 1995  Bdale Garbee  <bdale@gag.com>

	* configure (a29k-*-coff): Synonym for a29k-*-udi.

Thu Jun 15 17:51:21 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* function.c (assign_parms): Do all conversions in CONVERSION_INSNS.

Thu Jun 15 17:36:49 1995  Michael Meissner  <meissner@cygnus.com>

	* reg-stack.c (record_reg_life): Call record_reg_life_pat with 0
	for douse argument so that USE's created to mark variables within
	blocks don't get marked as set.

Thu Jun 15 06:28:15 1995  Dennis Glatting  (dennisg@CyberSAFE.COM)

	* configure: Change one sed command to work around m68k-next bug.

Wed Jun 14 22:14:39 1995  Jason Merrill  <jason@deneb.cygnus.com>

	* collect2.c (main): Don't turn off auto_export because of -g.
	(main): Ignore the argument to -o.

	* alpha.h (LINK_SPEC): Don't pass -init __main anymore.
	* alpha/osf12.h (LINK_SPEC): Ditto.
	* mips/iris5.h (LINK_SPEC): Ditto.

	* collect2.c (main): Place o_file after an initial .o (like crt0.o).
	If we have LD_INIT_SWITCH, use init and fini functions for
	executables, too.  Specify the unique function names.
	(write_c_file_stat): Fix the case of destructors but no constructors.
	Don't include the generic-named functions for executables.
	(write_c_file): If we have LD_INIT_SWITCH, always use
	write_c_file_stat.

	* collect2.c (main): Also add _GLOBAL__D? to export list.

	* ginclude/iso646.h: Do nothing if compiled as C++.

Wed Jun 14 17:39:10 1995  Roland McGrath  (roland@gnu.ai.mit.edu)

	* c-common.c (format_char_info, case 'm'): Set type to void.
	(check_format_info): If type is void, ignore operand.

Wed Jun 14 17:04:10 1995  Paul F. Kunz  (Paul_Kunz@SLAC.Stanford.EDU)

	* expr.c (expand_builtin_apply_args): Put back original
	register save and restore order.

Wed Jun 14 16:56:22 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/eabi.h (INVOKE__main): Define, so __eabi is called after
	main's arguments are saved.

	* rs6000.c (output_prolog): Don't call __eabi here, let
	compiler call it after the arguments to main are saved.
	(output_{prolog,epilog}): Don't use functions under V.4 to save
	and restore floating point registers.

Wed Jun 14 16:52:12 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k/mot3300.h (PCC_BITFIELD_TYPE_MATTERS): Defined.

Wed Jun 14 16:48:53 1995  Jerry Frain  (jerry@tivoli.com)

	* Makefile.in (stage[1-4]): Correctly link `as', `ld', and `collect2'.

Wed Jun 14 05:52:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* objc-act.c (hack_method_prototype): Set DECL_CONTEXT of parms.

	* expmed.c (emit_store_flag): Always set LAST.

	* c-decl.c (start_function): New parameter for attributes.
	* c-tree.h (start_function): Likewise.
	* c-lang.c (finish_file): Pass extra parm to start_function.
	* objc-act.c (build_module_descriptor, really_start_method): Likewise.
	* c-parse.in (fndef, nested_function, notype_nested_function):
	Likewise.

	* function.c (assign_parms): Use convert_to_mode instead of
	gen_lowpart when converting incoming parm.

Tue Jun 13 19:10:32 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* rs6000.md (decrement_and_branch): Finish last fix; update matching
	constraint.

Tue Jun 13 18:32:51 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* fold-const.c (fold): When converting a COND_EXPR to an ABS_EXPR,
	get the types right for ABS_EXPR to work.

Mon Jun 12 17:09:55 1995  Michael Tiemann  (tiemann@axon.cygnus.com)

	* reorg.c (fill_simple_delay_slots): Set MAYBE_NEVER according to
	code of TRIAL_DELAY, not TRIAL.

Mon Jun 12 15:02:37 1995  Doug Evans  <dje@cygnus.com>

	* configure: Restore code to make ld symlink if ! use_collect2.

	* gcc.c (link_command_spec): Undo patch of May 11.
	-nostdlib implies -nostartfiles again.
	* dsp16xx.h (CROSS_LINK_SPEC): Likewise.
	* i386/freebsd.h (LINK_SPEC): Undo patch of May 24.
	Don't pass "-e start" if nostdlib.
	* i386/sun.h (LINK_SPEC): Likewise.
	* m68k/sun2o4.h (LINK_SPEC): Likewise.
	* m68k/sun3.h (LINK_SPEC): Likewise.
	* m68k/vxm68k.h (LINK_SPEC): Likewise.
	* mips/netbsd.h (LINK_SPEC): Likewise.
	* config/netbsd.h (LINK_SPEC): Likewise.
	* rs6000/mach.h (LINK_SPEC): Likewise.
	* sparc.h (LINK_SPEC): Likewise.
	* sparc/vxsparc.h (LINK_SPEC): Likewise.

	* gcc.c (link_command_spec): New argument -nodefaultlibs.

Sun Jun 11 20:47:53 1995  Stephen L Moshier  (moshier@world.std.com)

	* Makefile.in (fix-header.o): Depends on xsys-protos.h.

Sun Jun 11 15:07:58 1995  Tim Carver  (timc@ibeam.intel.com)

	* reload1.c (emit_reload_insns): Don't call HARD_REGNO_NREGS
	on psuedo when clearing reg_last_reload_reg.

Sun Jun 11 14:07:05 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md ({add,sub}di{_mem,3}): Patterns merged.

Sun Jun 11 13:43:26 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* m68k.md (cmpdi matcher): Set cc_status before returning.

	* config/xm-freebsd.h (DONT_DECLARE_SYS_SIGLIST): Define.

Sun Jun 11 13:38:49 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* fixincludes (math.h):  Keep declaration of abs on HPUX.

Sun Jun 11 12:31:42 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* stor-layout.c (variable_size): Do nothing if SIZE is constant.

	* stmt.c (expand_asm_operands): See if output operand permits
	register.  If not, mark output addressable, call expand_operand
	on it, and give error if not MEM.

	* function.c (assign_parms): Handle promotions of both
	passed and nominal modes separately and insert needed conversions.
	(promoted_input_arg): Return 0 if nominal and passed modes differ.

	* stmt.c (all_cases_count, case INTEGER_TYPE): Fix typo in checking
	for integer bounds.

Sat Jun 10 08:55:25 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* libgcc2.c (_floatdidf): Correctly set float sizes.

	* c-decl.c (c_decode_option, case "-Wall"): Don't set extra_warnings.

	* Makefile.in (cpplib.o, fix-header.o): Update dependencies.
	(cpperror.o, cppexp.o, cpphash.o): New rules, to show .h dependencies.

Fri Jun  9 18:06:10 1995  Doug Evans  <dje@canuck.cygnus.com>

	* cse.c (cse_basic_block): Fix test for whether block ends with a
	barrier.  Return next insn, not 0, if block ends in a barrier.

Fri Jun  9 17:58:29 1995  Paul Eggert  <eggert@twinsun.com>

	* fold-const.c (lshift_double): Replace `&' with `%' to fix typo.
	([lr]shift_double): Truncate shift count only if SHIFT_COUNT_TRUNCATED.
	Remove unnecessary `count >= prec' test.

	* cexp.y (left_shift): Ignore integer overflow.

	* cexp.y (skip_evaluation): New variable.
	(&&, ||, ?:): Increment it in unevaluated subexpressions.
	(/, %, integer_overflow): Suppress diagnostics if skip_evaluation != 0.
	(yyerror): Clear skip_evaluation.

Fri Jun  9 17:49:05 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* m68k.md (tstdi): Rewrite.

Fri Jun  9 17:28:55 1995  Per Bothner  <bothner@cygnus.com>

	* scan-decls.c (scan_decls):  Handle declarations with
	multiple comma-separated declarators.

Thu Jun  8 19:16:12 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm.md (mov[sd]f expands): Don't allow fp constants in pseudos
	when TARGET_SOFT_FLOAT.

Thu Jun  8 19:11:43 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* expmed.c (store_split_bit_field): When adjust arg in
	BYTES_BIT_ENDIAN case, use number of bits in arg for MEM operands
	and BITS_PER_WORD for other operands.
	(extract_fixed_bit_field): Undo last change.

	* unroll.c (verify_addresses): New function.
	(find_splittable_givs): Use it instead of memory_address_p.

Thu Jun  8 18:58:18 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* expmed.c (expand_divmod): Always check result of emit_store_flag.

Thu Jun  8 12:02:34 1995  David D Zuhn  (zoo@armadillo.com)

	* cpplib.c (cpp_push_buffer): Include filename in error message.

Thu Jun  8 11:53:45 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* function.c (assign_parms): Don't call promote_mode on arg
	unless PROMOTE_FUNCTION_ARGS defined.

	* rs6000.md (decrement_and_branch): Ensure label is operand 0.

	* rs6000.md (aux_truncdfsf2): New pattern.
	(movsf): Use it instead of invalid SUBREG and truncdfsf2.

	* varasm.c (assemble_name): Disable warn_id_clash around
	get_identifier call.

Wed Jun  7 17:22:25 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* configure (gdb_needs_out_file_path): New variable.
	(m68k-motorola-sysv): Set gdb_needs_out_file_path if not using gas.
	(.gdbinit): If gdb_needs_out_file_path is set, add a 'dir' command
	for $(out_file).

Wed Jun  7 17:17:19 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* fold-const.c (fold): When folding `<' type nodes, make true_value
	and false_value have correct types.

Wed Jun  7 05:06:42 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* collect2.c (COFF scan_prog_file): Use the AIX duplicate entry.

Tue Jun  6 18:43:09 1995  Jeffrey A Law  (law@snake.cs.utah.edu)

	* pa.h (FUNCTION_ARG_CALLEE_COPIES): Define.

Tue Jun  6 18:21:18 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (expand_expr, case PLACEHOLDER_EXPR): Consider two types
	identical if their TYPE_MAIN_VARIANTs are the same.

	* c-decl.c (start_decl): Set DECL_COMMON before calling
	decl_attributes.

	* a29k.c (print_operands): Cast args to bcopy to char *.

	* c-decl.c (duplicate_decls): Don't clear DECL_CONTEXT of
	new decl if it is a function.

Tue Jun  6 17:57:44 1995  Eberhard Mattes  (mattes@azu.informatik.uni-stuttgart.de)

	* gcc.c (do_spec_1, case 'g'): Handle %O as suffix if MKTEMP_EACH_FILE.

Tue Jun  6 17:53:05 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (expand_block_move): Update source and destination pointers
	inside the loop moving the bytes, not outside.

Tue Jun  6 14:58:37 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* m68k.h (CONDITIONAL_REGISTER_USAGE): Don't mark pic reg as fixed.
	* m68k.c (finalize_pic): Emit USE insn at start and end of function.

Tue Jun  6 13:46:57 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>

	* sh.c (print_operand): Check for annulled branches.
	(output_movedouble): Handle SUBREG addresses.
	(output_branch): Handle annulled branches.
	(sh_expand_prologue): Correct number of saved registers for
	varargs functions.
	* sh.h: Add some comments.
	* sh.md: Add some comments.  Cleanup formatting.
	(type attribute): Add pstore and call.
	(return define_delay): Reorganize to make clearer.
	(call/sfunc define_delay): Define.
	(cbranch define_delay): Define to have annul-true delay slot.
	(subsi3): Use arith_reg_operand for operand 2.
	(shift patterns): Use const_int_operand instead of immediate_operand
	for shift counts.
	(push): Add pstore constraint case.
	(movsi_i): Move t/z constraint pair to the front of the list.
	(calli, call_valuei): Add "call" attribute.

Mon Jun  5 19:23:13 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sched.c (attach_deaths): In last change, use find_reg_note instead
	of find_regno_note.

Mon Jun  5 19:17:31 1995  Tom Quiggle  (quiggle@lovelace.engr.sgi.com)

	* mips/iris5.h (MACHINE_TYPE): Say "IRIX 5.x", not "5.0".
	(NO_DOLLAR_IN_LABEL): Undefine.
	* mips.h (sdb_begin_function_line): New declaration.
	(PUT_SDB_FUNCTION_END): New definition.

Mon Jun  5 18:56:10 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (expand_block_move): Don't do block moves where we clobber
	fixed numbers of regs, instead move just 1-8 bytes at a time.

	* Makefile.in (STAGESTUFF): Copy files produced by -da and
	-save-temps to the stage subdirectories.

Mon Jun  5 08:18:46 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>

	* combine.c (reg_dead_at_p): When scanning backwards, stop at BARRIER.

	* m68k.c (print_operand): Handle 'R' for registers.
	* m68k.md (cmpdi): Rewrite to avoid bogus matching constraints.

	* optabs.c (expand_binop): In last change, don't defererence TARGET
	if it is 0.

	* pa.md (movsicc): Use MATCH_DUP for operand 4 and 5.

Mon Jun  5 08:14:56 1995  Jeffrey A Law  (law@cs.utah.edu)

	* pa.c (hppa_encode_label): Allocate stuff on permanent_obstack
	rather than via malloc.

	* c-common.c (decl_attributes): Fix typo in size passed to alloca.

Mon Jun  5 08:10:55 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* alpha.md: Use "some_operand" for patterns valid only during
	reload and meant to handle adding more PLUS operators during
	register elimination.

Mon Jun  5 07:31:53 1995  Stephen L Moshier  (moshier@world.std.com)

	* cse.c (simplify_unary_operation, case FLOAT, UNSIGNED_FLOAT):
	Truncate to requested mode.

Sat Jun  3 22:08:51 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sched.c (attach_deaths): Don't add a REG_DEAD note if a REG_UNUSED
	note is already present.

Sat Jun  3 18:36:57 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* pa.h (hppa_builtin_saveregs): Add declaration.

Sat Jun  3 18:11:26 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* Makefile.in (scan-decls.o):  Depends on cpplib.h.

Fri Jun  2 19:23:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* optabs.c (expand_binop): Don't use non-REG TARGET in 2-word case.

Thu Jun  1 19:30:30 1995  Tor Egge  (tegge@flipper.pvv.unit.no)

	* m88k.h (RETURN_POPS_ARGS): New argument.
	* m88k/dolphin.ld: Added start of comment.

Thu Jun  1 19:12:28 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* configure (a29k-*-bsd*): Fix typo in last change.

Thu Jun  1 18:51:53 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* expmed.c (extract_fixed_bit_field): For REG case, compute total_bits
	from mode instead of assuming BITS_PER_WORD.

Thu Jun  1 18:34:31 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.h (FIXED_R13): Default to 0.
	({FIXED,CALL_USED}_REGISTERS): Use FIXED_R13 for register 13.
	* sysv4.h (FIXED_R13): Define to be 1.

Wed May 31 20:57:26 1995  Torbjorn Granlund  <tege@matematik.su.se>

	* m68k.md ([su]mulsi3_highpart): Pass correct number of arguments to
	const_uint32_operand.
	* m68k.c (const_uint32_operand): Reject negative numbers.

	* expmed.c (expand_mult_highpart): Use wide_op1 for all multiplies.
	(expand_divmod): Undo Nov 12 change.  Instead, add special case
	for division by MIN_INT in signed TRUNC_DIV_EXPR case.

Wed May 31 20:44:21 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (one_cmpldi2): New pattern.
	({a,l}shrdi{3,_const}): Allow 63 as shift count.

Wed May 31 14:56:31 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* varasm.c (assemble_start_function, assemble_variable):
	Make sure first_global_object_name is in permanent obstack.

	* reload1.c (alter_reg): Clean up setting of RTX_UNCHANGING_P
	when making a MEM.

	* reorg.c (struct resources): New field unch_memory.
	(CLEAR_RESOURCES, mark_target_live_regs, dbr_schedule): Clear it.
	(mark_{referenced,set}_resources, redundant_insn): Set it.
	(fill_simple_delay_slots): Likewise.
	(resource_conflicts_p): Test it.

	* unroll.c (copy_loop_body): Fix typo in call to sets_cc0_p.

	* integrate.c (output_inline_function): Don't call expand_function_end.

	* calls.c (prepare_call_address): Only call use_reg on
	static_chain_rtx if it is a REG.

	* configure (a29k-*-bsd*): Use t-a29k.
	* t-a29k: New file.
	* a29k/t-a29kbare (LIBGCC1_TEST): New null definition.
	* a29k/t-vx29k (LIBGCC1_TEST): Likewise.

Wed May 31 14:17:42 1995  Jeffrey A Law  (law@snake.cs.utah.edu)

	* configure (hppa*-*-bsd*): Do not run fixincludes.
	(hppa*-*-osf*): Likewise.
	(hppa*-*-lites*): Likewise.

	* pa.h (PRINT_OPERAND_ADDRESS): Use "RR'" rather than "R'" for
	symbolic addresses.
	* pa.md (symbolic HIGH patterns): Likewise.
	(symbolic LO_SUM pattern): Likewise.

Wed May 31 14:11:53 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.md (all movstri recognizers): Eliminate updating the pointers.
	* rs6000.c (expand_block_move): Don't pass argument of # bytes to
	increment pointers by to movstrsi expanders.

	* rs6000.c (rs6000_override_options): Fix typo with -mstring handling.

	* rs6000.h (TARGET_SWITCHES): Set MASK_STRING_SET explicitly
	if -mno-string, so that it can override the processor default.

Wed May 31 07:31:53 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* c-common.c (truthvalue_conversion, BIT_AND_EXPR): Make sure that
	the result has boolean_type_node.

Tue May 30 19:03:21 1995  J.T. Conklin  <jtc@cygnus.com>

	* stddef.h: Undefine _BSD_XXX_T_ if _GCC_XXX_T is defined on BSD
	Net/2 derived systems.

Tue May 30 08:17:37 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (decrement_and_branch_until_zero): Operand 0 constraint
	changed from "+g" to "+d*am".
	(similar anonymous HImode pattern): Likewise.

	* m68k.md (tstdi): Use tst/subx #0 instead of neg/negx.
	Allow "a" and ">" for operand 0.

Mon May 29 19:24:43 1995  Niklas Hallqvist  (niklas@appli.se)

	* m68k.md (addsi_lshrsi_31): Use match_dup, not constraint "1",
	for matching inputs.

Mon May 29 12:39:58 1995  Allen Briggs <briggs@rrinc.com>

	* i386/isc.h ({STARTFILE,LIB,CPP}_SPEC): Handle -Xp like -posix.
	* i386/x-isc3 (X_CFLAGS): Add -Xp.

Mon May 29 12:28:41 1995  J.T. Conklin  (jtc@cygnus.com)

	* configure (sparc-*-netbsd): Add missing asterisk at end.

Mon May 29 08:55:48 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* combine.c (recog_for_combine): New parm PADDED_SCRATCHES; set it.
	(try_combine): Accumulate number of scratches and update max_scratch.
	(simplify_set): Add extra parm to recog_for_combine.

	* romp.md (call): Put USE for r0 in CALL_INSN; call call_internal
	to emit insn.
	(call_internal): New name for anonymous call.
	(call_value, call_value_internal): Likewise.

	* winnt/xm-winnt.h: Protect most definitions with #ifndef.
	* alpha/xm-winnt.h: Include alpha/xm-alpha.h, then winnt/xm-winnt.h.
	(POSIX): Undefine.
	* xm-alpha.h: Don't include alloca.h for winnt.

Sun May 28 18:34:01 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* configure: Make sed commands more uniform.

	* Makefile.in: Properly use $(srcdir) for files that have it
	in their reference as a target of a rule.
	(libgcc1.a): Add missing RANLIB_TEST use.

	* stmt.c (expand_computed_goto): Call do_pending_stack_adjust.

Sun May 28 18:08:41 1995  Torbjorn Granlund  <tege@mole.gnu.ai.mit.edu>

	* m68k.md (divmodhi4, udivmodhi4): Use "dmsK" for operand 2.

Fri May 26 17:01:22 1995  Paul Eggert  <eggert@twinsun.com>

	* fixincludes: Fix bogus recursive <stdlib.h> in NEWS-OS 4.0C.

Fri May 26 08:02:14 1995  Michael Meissner  (meissner@cygnus.com)

	* c-typeck.c (initializer_constant_valid_p): For the CONSTRUCTOR
	case, if the type is a record, recurse, just like for unions.

Thu May 25 07:56:14 1995  Paul Eggert  <eggert@twinsun.com>

	* fixincludes: Add `sel', `tahoe', `r3000', `r4000' to the
	list of pre-ANSI symbols that need to be surrounded with __ __.
	Allow white space between `#' and `if' when looking for lines to patch.

	* objc/sarray.h (PRECOMPUTE_SELECTORS, struct soffset):
	Use #ifdef __sparc__, not sparc.

	* m68k.md (addsi_lshrsi_31, ashldi_const, ashrdi_const, lshrdi_const):
	Replace `mov' with `move'.

Thu May 25 07:35:37 1995  Allen Briggs  <briggs@rrinc.com>

	* libgcc2.c (L_eh, i386): Remove in-line comments in assembly
	code--the '#' character is not valid for the SYSV as.

Thu May 25 07:28:54 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* Makefile.in (BC_ALL): Restore it from May 22 change; vms uses it.
	(STAGESTUFF): Use it.

Thu May 25 07:11:56 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* alpha.c (alpha_emit_set_const): Don't call expand_binop for
	other than add if SImode and can't create pseudos.

Wed May 24 21:38:24 1995  Jim Wilson  <wilson@cygnus.com>

	* sched.c (reemit_notes): New function.
	(schedule_block): Call reemit_notes twice.  Reorganize code for
	handling SCHED_GROUP_P insns, so that reemit_notes works.

	* sh/sh.c (shiftcosts, genshifty_op): Add SH3 support.
	* sh/sh.md (ashlsi3, lshrsi3): Add SH3 support.
	(ashlsi3_d, ashrsi3_d, lshrsi3_d): New patterns for SH3.
	(ashrsi2_31): Remove r/!r constraint.

Wed May 24 17:00:47 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* tree.c (type_list_equal): Call simple_cst_equal before checking
        types.

Wed May 24 16:49:49 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* Makefile.in (libgcc2.a): Handle case of separate srcdir.

Wed May 24 16:22:01 1995  Paul Eggert  <eggert@twinsun.com>

	* configure: Define $(MAKE) if `make' doesn't.

Wed May 24 15:50:51 1995  Doug Evans  <dje@cygnus.com>

	* dsp16xx.h (CROSS_LINK_SPEC): ENDFILE_SPEC moved to -nostartfiles.
	* i386/freebsd.h (LINK_SPEC): Don't pass "-e start" if nostartfiles
	rather than nostdlib.
	* i386/sun.h (LINK_SPEC): Likewise.
	* m68k/sun2o4.h (LINK_SPEC): Likewise.
	* m68k/sun3.h (LINK_SPEC): Likewise.
	* m68k/vxm68k.h (LINK_SPEC): Likewise.
	* mips/netbsd.h (LINK_SPEC): Likewise.
	* config/netbsd.h (LINK_SPEC): Likewise.
	* rs6000/mach.h (LINK_SPEC): Likewise.
	* sparc.h (LINK_SPEC): Likewise.
	* sparc/vxsparc.h (LINK_SPEC): Likewise.

	* m88k/m88k.h (FUNCTION_ARG_BOUNDARY): Use GET_MODE_BITSIZE.

Wed May 24 15:44:04 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* fold-const.c (fold): Make sure that a folded TRUTH_NOT_EXPR
        retains the same type.

	* c-common.c (truthvalue_conversion): Also accept TRUTH_NOT_EXPR.

Wed May 24 15:41:51 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cplus-dem.c (strstr, strncmp, strlen): Remove declarations.

	* tree.c (type_list_equal, simple_cst_list_equal, index_type_equal):
	Check for simple_cst_equal return value of -1.

Wed May 24 10:05:24 1995  Michael Meissner  <meissner@cygnus.com>

	* libgcc1-test.c (start, _start): Provide declarations, so that
	the GNU linker doesn't give a warning message about defaulting the
	start address.

	* rs6000/sysv4.h (STRIP_NAME_ENCODING): Redefine back to the
	original defination, rather than the defination used in rs6000.h.
	(ASM_OUTPUT_SOURCE_LINE): Use STRIP_NAME_ENCODING.
	* rs6000.h (STRIP_NAME_ENCODING): Skip leading '*'.

	* rs6000.h (MASK_STRING_SET, TARGET_STRING_SET): Add target
	flags bit for whether -mstring was actually used.
	(TARGET_SWITCHES): Add MASK_STRING to all power targets.  Set
	MASK_STRING_SET for -mstring and -mno-string.
	(TARGET_DEFAULT): Add MASK_STRING.

	* rs6000.c (rs6000_override_options): Add MASK_STRING to
	all power targets.  Make an explicit -mstring/-mno-string override
	the -mcpu=processor default.

	* rs6000/eabile.h (CPP_SPEC): Copy from sysvle.h to provide the
	appropriate little endian defaults.

	* rs6000/sysv4.h (ASM_OUTPUT_SOURCE_LINE): Use assemble_name to
	output the canonical name.

Wed May 24 01:21:15 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* rs6000.h (STRIP_NAME_ENCODING): Define.
	(RS6000_OUTPUT_BASENAME): Use it.

Tue May 23 19:54:21 1995  Doug Evans  <dje@cygnus.com>

	* gcc.c (link_command_spec): Move ENDFILE_SPEC from -nostdlib
	to -nostartfiles.

Tue May 23 17:01:50 1995  Jim Wilson  <wilson@cygnus.com>

	* alpha.md (negsi2-2): Change output pattern to #.

	* mips.c (embedded_pic_offset): Output RTL to initialize
	embedded_pic_fnaddr_rtx.
	(mips_finalize_pic): Delete.
	* mips.h (mips_finalize_pic): Delete declaration.
	(FINALIZE_PIC): Delete.
	(INIT_EXPANDERS): Clear embedded_pic_fnaddr_rtx.
	* mips.md (get_fnaddr): Add = to output contraint.

	* sh.c (shift_amounts): Correct entry for shifts by 29.
	* sh.md (sett): New pattern.
	(movsi_i): Change source constraint for move to T reg to be 'z'.

	* mips/ecoff.h (STARTFILE_SPEC): Define to null string.
	* mips/elfl.h, mips/elfl64.h: Correct typo in comment.

	* mips/elflorion.h, mips/elforion.h (MIPS_CPU_DEFAULT): Delete.
	* mips.c (override_options): Delete #ifdef MIPS_CPU_DEFAULT code.
	Add #ifdef MIPS_CPU_DEFAULT_STRING code before the first
	mips_cpu_string test.

Tue May 23 07:22:36 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* romp.c (hash_rtx): Avoid warning on int-to-pointer conversion.
	(output_fpops): Cast args to bcopy to char *.

	* cpplib.c (initialize_builtins): Add missing parm to timestamp call.

	* Makefile.in (install-libobjc): Don't depend on libobjc.a.

	* c-parse.in: Objc shift/reduce conflicts now 48.
	(parm): Use setspecs/restore here.
	(parmlist_or_identifiers): Not here.

Mon May 22 19:30:30 1995  Doug Evans  <dje@cygnus.com>

	* h8300.md (movsf_h8300h): Add missing post-inc case to constraints.

Mon May 22 14:38:36 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (rs6000_override_options): Do SUBTARGET_OVERRIDE_OPTIONS
	here.
	* rs6000.h (OVERRIDE_OPTIONS): Not here.

	* rs6000.c (expand_block_move): Handle moves without string
	instructions by generating a series of loads and stores.
	(output_prolog): Support -mno-toc on V.4 and eabi systems.

	* rs6000/sysv4.h (TARGET_SWITCHES): Add -mtoc and -mno-toc.
	(SUBTARGET_OVERRIDE_OPTIONS): Add some warnings for incompatible
	switches.
	(TOC_SECTION_FUNCTION): Make -mno-toc like -mrelocatable in that
	we don't put the minimal toc pointer in the global toc section.
	(LINK_SPEC): Use -oformat to set link output format, not -m.

	* rs6000/t-eabigas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build
	libgcc.a variants with -mno-toc support.
	* rs6000/t-ppcgas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Ditto.

Mon May 22 07:10:52 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cplus-dem.c (mystrstr): Replacement for strstr.

	* configure: Split up long sed command.
	* Makefile.in (SYMLINK): Deleted; unused.
	(oldobjext): Deleted; no longer used.
	(FLAGS_TO_PASS): Include objext and exeext.
	(STAGESTUFF, protoize.o, unprotoize.o): Use $(objext), not .o.
	(test_protoize_simple, compare{,3}, gnucompare{,3}): Likewise.
	(STAGESTUFF, specs, gcc-cross, collect2): Add missing $(exeext).
	(libgcc1.null, libgcc[12].a, stage[1-4]): Likewise.
	(xgcc, cc1, cc1obj, enquire): Use $@ instead of filename for -o value.
	(collect2, mips-tfile, mips-tdump, gen*): Likewise.
	(bi-arity, bi-opcode, bi-opname, cccp, cppmain): Likewise.
	(protoize, unprotoize, gen-protos, fix-header): Likewise.
	(crtbegin.o, crtend.o): Don't use -o; move output to proper
	filename (using objext) instead.
	(BI_ALL, BC_ALL, bytecode): Deleted; unused.
	(bi-*.o, cexp.o, stamp-{proto,fixinc}): Remove unneeded $(srcdir).
	(getopt{,1}.o, SYSCALLS.c.X): Likewise.
	(install-driver): New target.
	(install-normal): Depend on it.
	(install-common): Don't depend on xgcc.
	(maketest): Deleted; no longer used.
	(stage[1-4]): Use name collect-ld, not real-ld.
	(risky-stage[1-4]): Use stage[1-4] as dependencies; don't copy.
	* alpha/config-nt.bat, i386/config-nt.bat: Make {,h,t}config.h
	and tm.h by writing a single #include line.
	Update way specs.h and options.h are written.
	* alpha/config-nt.sed, i386/config-nt.sed: Set new variables
	into Makefile.
	Build winnt.obj.
	Edit CCCP definition.
	* alpha/x-winnt, i386/x-winnt (oldobjext): Deleted.
	Add rules for .c.obj, .adb.obj, and .ads.obj.
	(LIB2FUNCS_EXTRA, spawnv.o): New rules.
	* i386/x-winnt (objext): Now .obj, not .o.

	* gcc.c (HAVE_OBJECT_SUFFIX): New macro.
	(process_command): Convert x.o to x.foo for OBJECT_SUFFIX of ".foo".
	(do_spec_1): Avoid shadow variable "i" and always use for loop var.

	* c-decl.c (finish_decl_top_level): Removed; no longer used.
	* objc-act.c: Numerous formatting changes.
	(NULLT): Deleted; all uses changed to NULL_TREE.
	(get_{static,object}_reference, objc_add_static_instance):
	Use push_obstacks instead of saving obstacks manually.
	(build_{selector,class}_reference_decl): Likewise.
	(build_objc_string_decl, build_protocol_reference): Likewise.
	(comp_{method,proto}_with_proto): Likewise.
	(create_builtin_decl, synth_module_prologue): Set DECL_ARTIFICIAL
	for internal objects.
	(build_{selector,class}_reference_decl, add_objc_decls): Likewise.
	(generate_objc_symtab_decl, build_module_descriptor): Likewise.
	(build_protocol_reference): Likewise.
	(build_objc_string_decl, synch_forward_declarations): Likewise.
	Delete call to end_temporary_allocation.
	(generate_static_references, generate_strings): Likewise.
	(build_selector_translation_table, generate_category): Likewise.
	(generate_{ivars,protocol}_list, build_protocol_reference): Likewise.
	(build_objc_string_object): If next_runtime, put everything in
	permanent obstack.
	(objc_add_static_instance): Use build_decl instead of start_decl
	and finish_decl_top_level.
	(build_{class_reference,objc_string}_decl): Clear DECL_CONTEXT.
	(start_class): Exit with FATAL_EXIT_CODE, not 1.
	(add_objc_decls): Don't set DECL_IN_SYSTEM_HEADER.

	* tree.c (valid_machine_attribute): Handle attribute on
	pointer-to-function types.

Sun May 21 17:16:37 1995  J. T. Conklin <jtc@cygnus.com>

	* mips/netbsd.h (HAVE_STRERROR): Remove.
	* mips/xm-netbsd.h: New file.
	* mips/t-mips-netbsd: Deleted.
	* configure (mips-dec-netbsd): Use xm-netbsd.h and t-libc-ok.

Sun May 21 17:16:37 1995  Arne H. Juul  (arnej@pvv.unit.no)

	* mips/netbsd.h: Use __start as entry point. Ifdef some
	paths on CROSS_COMPILE.

Sun May 21 08:39:26 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-parse.in (datadef, fndef, ivar_decl, mydecls):
	Restore declspec_stack since setspecs is used.
	(parmlist_or_identifiers): Use setspecs before parsing parms
	and restore after parsing parms.

Sun May 21 01:04:52 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* pa.c (hppa_encode_label): New variable "permanent" to
	where/how memory is allocated for the new label.  All
	callers changed.

Sat May 20 16:53:30 1995  Mike Meissner  <meissner@cygnus.com>

	* rs6000.md (insv, extz): Fail if the structure is QI or HI reg to
	avoid paradoxical subreg's being created in RTL phase, which uses
	SImode to load from memory if  structure is later moved to stack.

Sat May 20 06:44:59 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (udivmodhi4): Output "divu" instead of "divs".

Sat May 20 06:11:32 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* reload.c (push_reload): Don't reload inside a SUBREG
	when SUBREG_WORD is nonzero.

	* c-decl.c (shadow_tag_warned): Don't warn about useless keyword
	if in system header file.

	* tree.c (simple_cst_equal): Don't look at language-specific
	nodes since we don't know what's in them.

	* cpperror.c: #include config.h before any other .h file.
	* collect2.c: Likewise.

	* i386/config-nt.bat: Add missing ^M on two lines.
	Add case for Fortran; fix typo in Ada case.
	* alpha/config-nt.bat: Add case for Fortran; fix typo in Ada case.

	* m68k/t-next (LIBGCC1, CROSS_LIBGCC1): Make not, not "libgcc1.null".
	(OTHER_FIXINCLUDES_DIRS, LIMITS_H_TEST): Delete from here.
	* m68k/x-next (OTHER_FIXINCLUDES_DIR, LIMITS_H_TEST): Move to here.

Fri May 19 19:30:20 1995  Stan Cox  (gcc@dg-rtp.dg.com)

      * crtstuff.c: Added reference to INIT_SECTION_PREAMBLE for systems that
      do something which must be undone prior to __do_global_ctors.

Fri May 19 19:27:08 1995  Alan Modra  <alan@SPRI.Levels.UniSA.Edu.Au>

	* i386/linux-aout.h (CPP_SPEC): Add defines for -fPIC.
	* i386/linux-oldld.h (CPP_SPEC): Likewise.

Fri May 19 17:46:28 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* collect2.c (strstr): Deleted.
	* cplus-dem.c (strstr): Define ifndef POSIX.

Fri May 19 11:16:51 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* cpplib.c (collect_expansion):  Don't escape '@' inside string.

Fri May 19 06:59:21 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* vmsconfig.com (process_objc_lib, configure_makefile): New routines.
	(bc_all.list, ./vax.md, objc-objs.opt, objc-hdrs.list): New files
	created at config time.
	(bc_all.opt, ./md.): No longer created.
	* make-cc1.com: Handle revised filenames from vmsconfig.com;
	(DO_OBJCLIB): New variable, plus code to compile objc/*.{c,m}.

Wed May 17 16:15:31 1995  Torbjorn Granlund  <tege@cygnus.com>

	* i960.c (i960_output_ldconst): New code for XFmode.
	Also, move SFmode code to immediately after DFmode code.
	(S_MODES, D_MODES): Handle XFmode.
	(XF_MODES): Was TF_MODES, handle XFmode instead of TFmode.
	(hard_regno_mode_ok): Replace TFmode with XFmode.
	(i960_output_long_double): New function.

	* i960.h (DATA_ALIGNMENT): Define.
	(ROUND_TYPE_ALIGN): Align XFmode scalars at 128 bit boundaries.
	(ROUND_TYPE_SIZE): Round up the size of XFmode objects to 128 bits.
	(CONST_DOUBLE_OK_FOR_LETTER_P): Use CONST0_RTX and CONST1_RTX
	so that all FP modes are recognized.
	(ASM_OUTPUT_LONG_DOUBLE): Define.

	* i960.md: Change all TFmode patterns to have XFmode.
	(movxf recognizer, frame version): Use movt, ldt, and stt.
	(movxf recognizer, non-frame version): Delete.
	(extenddfxf2): Delete * before f constraint.
	(extendsfxf2): Likewise.

Wed May 17 17:53:35 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>

	* unroll.c (unroll_loop): Increment copy_start_luid if copy_start
	is loop_start.

Wed May 17 17:44:57 1995  Lee Iverson  <leei@Canada.AI.SRI.COM>

	* fold-const.c (invert_truthvalue, case CLEANUP_POINT_EXPR): New case.

Tue May 16 18:51:16 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/rs6000.h (TARGET_SWITCHES): Add -mstring to enable string
	instructions, and -mno-string to disable them.
	(MOVE_MAX): Don't test TARGET_MULTIPLE anymore.
	(MAX_MOVE_MAX): Set to 8, not 16.
	(expand_block_move): Add declaration.

	* rs6000/rs6000.c (expand_block_move): New function to expand
	block moves when -mstring is used.

	* rs6000/rs6000.md (movti): Use TARGET_STRING, not TARGET_MULTIPLE.
	(load_multiple, store_multiple): Ditto.
	(string insns): Add 8, 6, 4, 2, and 1 register variants for using
	the native string instructions if -mstring.

	* rs6000/sysv4.h (CPP_SPEC): If little endian, define
	_LITTLE_ENDIAN and set littleendian assertion.  If big endian,
	define _BIG_ENDIAN and set bigendian assertion.
	* rs6000/sysv4le.h (CPP_SPEC): Copy from sysv4.h, and change
	default to little endian.

	* rs6000/rs6000.c (override_options): Check for -mmultiple and
	-mstring on little endian systems here.
	* rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't do the check
	here.

Tue May 16 18:36:41 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* alpha.c: Changed WINNT to _WIN32.
	* alpha/config-nt.bat, i386/config-nt.bat: Added commands to
	generate specs.h and options.h.
	* i386/config-nt.sed: Changed link32 to link.
	* winnt/ld.c (main): Removed call to free.
	* configure.bat: Added line to echo usage on invalid input.
	* gcc.c (fix_argv): Removed call to free.
	* gcc.c, getpwd.c, protoize.c, sdbout.c: Changed WINNT to _WIN32.
	* toplev.c: Likewise.

Tue May 16 18:04:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* toplev.c (pfatal_with_name, fatal_io_error, vfatal):
	Use FATAL_EXIT_CODE instead of magic number.
	* cccp.c, cpplib.c, cpplib.h: Use FATAL_EXIT_CODE instead
	of FAILURE_EXIT_CODE.
	* fix-header.c, gen-protos.c: Likewise.
	* cpperror.c, cppmain.c: Likewise.
	Include config.h #ifndef EMACS.
	* xm-alpha.h, xm-rs6000.h, xm-vms.h (FAILURE_EXIT_CODE): Remove.

Tue May 16 17:46:57 1995  Adam Fedor  <fedor@colorado.edu>

	* objc/archive.c (__objc_write_class): Write class version.
	(__objc_write_selector, objc_{write,read}_selector): Handle null
	selector.

        * objc/sarray.h (struct sarray): Make capacity size_t.
        * objc/sarray.c (sarray_realloc): Make array index variables size_t.

Tue May 16 06:59:08 1995  Paul Eggert  <eggert@twinsun.com>

	* dsp16xx.c (print_operand_address): Fix misspellings in messages.
	* i370/mvs.h (FUNCTION_PROFILER): Likewise.
	* mips-tdump.c (type_to_string): Likewise.
	* print-tree.c (print_node): Likewise.

	* protoize.c (edit_fn_definition): Fix mispelled local `have_flotsam'.

	* objc/sendmsg.c (__objc_init_install_dtable): Fix misspelling
	in name of local label `already_initialized'.

	* winnt/winnt.h (STDC_VALUE): Was misspelled.

	* m68k/ccur-GAS.h (FUNCTION_BOUNDARY): Was misspelled.

	* 1750a.h (DEFAULT_PCC_STRUCT_RETURN): Was misspelled.

Mon May 15 23:41:25 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* pa.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Make sure to encode section
	info for all libcalls.

Mon May 15 20:58:00 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* collect2.c (strstr): Define ifndef POSIX.

	* defaults.h (SUPPORTS_WEAK): Provide default.
	* aoutos.h, sparc/sunos4.h: Don't support weak symbols.
	* netbsd.h, svr4.h, i386/freebsd.h, i386/osfrose.h,
        m88k/m88k.h: Define ASM_WEAKEN_LABEL instead of WEAK_ASM_OP.
	* c-pragma.h: Check ASM_WEAKEN_LABEL instead of WEAK_ASM_OP.
        HANDLE_PRAGMA_WEAK is never defined in a tm.h file.
	* c-decl.c (duplicate_decls): Propagate DECL_WEAK.
	* tree.h (DECL_WEAK): New macro.
	(tree_decl): Add weak_flag.
	* varasm.c (assemble_start_function): Declare the symbol weak if
	appropriate.
	(assemble_variable): Ditto.
	(assemble_alias): Ditto.  Mark the decl as written.
	(declare_weak): Check for weak declaration after definition.
	Set DECL_WEAK.
	(weak_finish): Use ASM_WEAKEN_LABEL.
	* libgcc2.c: The C++ free-store management functions are weak
        aliases on targets that always support them.

Mon May 15 19:01:43 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* configure (out_object_file): New variable; put value in Makefile.
	* Makefile.in (out_object_file): Use in place of aux-output.o.

	* fold-const.c (const_binop): Don't pass OVERFLOW to force_fit_type
	if type is unsigned.

Mon May 15 18:48:26 1995  Paul Eggert <eggert@twinsun.com>

        * install.sh (transformbasename): Fix misspelling.

	* tahoe.h (CHECK_FLOAT_VALUE): Fix misspelling of OVERFLOW parameter.

	* i386.h (VALID_MACHINE_{DECL,TYPE_ATTRIBUTE): Fix typo.

	* fx80.h (CHECK_FLOAT_VALUE): Fix misspelled use of parameter.

	* a29k.c (spec_reg_operand): Fix misspelling of `default:'.

Mon May 15 18:36:41 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.md (b{eq,ne,ge,lt}0_di): Fixed for non-MOTOROLA syntax.
	* m68k/xm-mot3300.h (alloca): Extern decl added for non-GNU compiler.

Mon May 15 13:14:29 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* cppexp.c (cpp_reader):  Test for '#' (start of assertion) *after*
	skipping hspace, not before.

Mon May 15 08:13:54 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* vmsconfig.com: Construct options.h and specs.h to #include
	all "*/lang-{options|specs}.h" files found.

Sun May 14 21:32:49 1995  Doug Evans  <dje@cygnus.com>

	* alpha/alpha.md (movsicc, case NE): Don't generate unrecognizable
	insn.
	(movdicc, case NE): Likewise.

Sun May 14 15:44:54 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>

	* unroll.c (unroll_loop): Make local_regno have size
	max_reg_before_loop.  Don't do local register optimization if
	copy_end has no INSN_LUID.

Sun May 14 10:38:23 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* objc-act.c (start_method_def): Mark _self as possibly unused.

	* configure: Create specs.h and options.h from */lang-specs.h
	and */lang-options.h.
	Set lang_specs_files and lang_options_file variables in Makefile.
	* Makefile.in (lang_{specs,options}_files): New variables.
	(gcc.o): Depends on $(lang_specs_files).
	(toplev.o): Depends on $(lang_options_file); merge two dep lists.
	(distclean): Remove spes.h and options.
	* gcc.c (default_compilers): Remove entries for Ada, C++, Chill,
	and Fortran; #include specs.h instead.
	* toplev.c (lang_options): Remove entries for Ada, C++, and Fortran;
	include options.h instead.

Sat May 13 23:11:21 1995  DJ Delorie  <dj@delorie.com>

	* configure (i[345]86-go32-msdos, i[345]86-*-go32): New targets.

Sat May 13 10:58:38 1995  Jim Wilson  <wilson@cygnus.com>

	* loop.c (record_giv): When computing replaceable, use
	back_branch_in_range_p instead of looking for branches to named
	labels.
	* loop.h (back_branch_in_range_p): Declare.
	* unroll.c (back_branch_in_range_p): No longer static.

Sat May 13 06:47:11 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* combine.c (simplify_shift_count, case LSHIFTRT): Don't merge
	shifts of different modes if first is any right shift.

Sat May 13 05:39:09 1995  Richard Earnshaw (rearnsha@armltd.co.uk)

	* configure (arm-semi-aout): New configuration.
	* config.sub: Add support for semi-hosted ARM.
	* arm/t-semi, arm/semi.h: New files.

Fri May 12 21:51:22 1995  Doug Evans  <dje@cygnus.com>

	* flow.c (find_basic_blocks): Only perform n_basic_blocks sanity
	check on first pass, and on second pass ensure it has the correct
	value.

Fri May 12 19:23:11 1995  Jim Wilson  <wilson@cygnus.com>

	* c-typeck.c (build_binary_op): Warn when ~unsigned is compared
	against unsigned, and type promotions result in an unexpected
	answer.

Fri May 12 19:10:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* configure (*-*-gnu*): Always use ELF; set tm_file=${cpu_type}/gnu.h.
	* config/i386/gnu.h: Contents replaced with old i386/gnuelf.h.
	* config/i386/gnuelf.h: File removed.

Fri May 12 17:29:57 1995  Ken Raeburn  (raeburn@cygnus.com)

	* m68k/lb1sf68.asm (__IMMEDIATE_PREFIX__): Default to #.
	(IMM): New macro.
	(all code): Use IMM macro instead of hardcoding # for immediate
	operands.

Fri May 12 16:52:10 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* m68k.c (output_scc_di): New function.
	(extend_operator) : Allow DImode target.
	* m68k.h (HARD_REGNO_MODE_OK): Don't allow d7/a0 as DImode reg pair.
	* m68k.md (tstdi, cmpdi, addsi_lshrsi_31, ashldi_extsi): New patterns.
	(extendqidi2, extendhidi2, extendsidi2): Allow "general_operand"
	instead of "register_operand" 0.
	(adddid_sexthishl32, subdid_sexthishl32, subdi_dishl32): Likewise.
	(adddi_dilshr32): Operand 0 constraint changed from "ro" to "do";
	Code generation fixed.
	(adddi_mem, subdi_mem): Fixed for "<" and ">" operand 0.
	(adddi3, subdi3): Operand 2 constraint changed from "ao" to "*ao"
	(ashldi_sexthi, ashrdi_const32): Allow only "register_operand"
	instead of "general_operand" 0.
	(ash[lr]di_const, ash[lr]di3): Allow also 8 and 16 as shift count.
	(subreg1ashrdi_const32): Pattern deleted.
	(subreghi1ashrdi_const32, subregsi1ashrdi_const32): New pattern.
	(lshrsi_31): New implementation.
	(scc0_di, scc_di, beq0_di, bne0_di, bge0_di, blt0_di): New patterns.

Fri May 12 16:50:49 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>

	* pa.md (bb patterns): Fix bugs in length computation exposed by
	recent branch shortening and genattrtab changes.

Fri May 12 16:22:27 1995  Ken Raeburn  <raeburn@cygnus.com>

	* cccp.c (enum node_type): Add T_IMMEDIATE_PREFIX_TYPE.
	(special_symbol): Handle it; emit value of IMMEDIATE_PREFIX.
	(IMMEDIATE_PREFIX): Default to empty string.
	(initialize_builtins): Install __IMMEDIATE_PREFIX__ builtin,
	parallel to __REGISTER_PREFIX__.

Fri May 12 14:40:03 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* cccp.c: #if VMS, don't define `stat' macro to be VMS_stat.
	Compare enums explicitly to 0 to work around VAX C bug.
	(do_include): Cast alloca's value.

	* make-cc1.com (bc_loop): Process comma-separated list rather
	than space-separated one; restore .h suffix stripped by vmsconfig;
	(loop1): More robust handling of directory prefix on file names.
	* vmsconfig.com (TPU makefile.in): Reorganize and reformat code.
	Make generated .opt files have more consistent format (all comma
	separated, excess whitespace eliminated);
	(additional_compiler): New routine.
	(process_makefile): Use it to handle cc1plus via cp/Make-lang.in.

Fri May 12 13:35:07 1995  Doug Evans  <dje@cygnus.com>

	* arm.h: Replace ARM_REG_PREFIX with REGISTER_PREFIX.
	Replace ARM_COMMENT_CHAR with ASM_COMMENT_START.
	(REGISTER_PREFIX): Define.
	(USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Define.
	(SECONDARY_OUTPUT_RELOAD_CLASS): Handle DFmodes only if
	TARGET_HARD_FLOAT.
	(PREDICATE_CODES): Add soft_df_operand.
	* arm.c: Replace ARM_REG_PREFIX with REGISTER_PREFIX.
	Replace ARM_COMMENT_CHAR with ASM_COMMENT_START.
	(arm_asm_output_label): Use USER_LABEL_PREFIX.
	(soft_df_operand): New function.
	* arm.md (movsicc): New pattern.
	(movsfcc, movdfcc, *movsicc_insn, *movsfcc_hard_insn): Likewise.
	(*movsfcc_soft_insn, *movdfcc_insn): Likewise.
	(*movdf_soft_insn): Rewrite.
	(movsi matcher): Fix typo in type attribute.

Fri May 12 10:25:40 1995  Michael Meissner  (meissner@cygnus.com)

	* i386.h (TARGET_RTD): Use MASK_RTD, not MASK_REGPARM.
	(TARGET_SWITCHES): Add -m{,no-}align-double switch.
	(TARGET_OPTIONS): Add -mregparm= switch to set number of registers
	to use for passing arguments.  Add -malign-loops= switch to set
	the alignment for loops.  Add -malign-jumps= switch to set the
	alignment for code that is jumped to.  Add -malign-functions=
	switch to set the initial alignment of functions.
	(TARGET_REGPARM): Delete, in favor of -mregparm=
	(TARGET_SWITCHES): Delete -mregparm, add -mdebug-arg switches.
	(RETURN_POPS_ARGS): Call i386_return_pops_args to do the real work.
	(VALID_MACHINE_DECL_ATTRIBUTE): Define as function call.
	(VALID_MACHINE_TYPE_ATTRIBUTE): Define as function call.
	(COMP_TYPE_ATTRIBUTES): Define as function call.
	(REGPARM_MAX): Maximum number of regs to use for passing arguments.
	(CUMULATIVE_ARGS): Make this a structure, not an int.
	(INIT_CUMULATIVE_ARGS, FUNCTION_ARG{,_ADVANCE}): Call function.
	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
	(MAX_CODE_ALIGN): Maximum value to align loops/jumps to.
	(BIGGEST_ALIGNMENT): Return 64 if -malign-double, 32 otherwise.
	(ASM_OUTPUT_ALIGN_CODE): Use value of -malign-jumps= switch.
	(ASM_OUTPUT_LOOP_ALIGN): Use value of -malign-loops= switch.
	(toplevel): Declare all new functions and external variables added
	in i386.c.

	* i386.c (i386_regparm_string, i386_regparm): New variables
	for -mregparm= switch to set the number of registers to use for
	passing arguments.
	(i386_align_loops_string, i386_align_loops): New variables for
	-malign-loops= switch to set alignment to use for loops.
	(i386_align_jumps_string, i386_align_jumps): New variables for
	-malign-jumps= switch to set alignment to use for labels that are
	jumped to.
	(override_options): Support new switches.
	(i386_valid_decl_attribute_p): New function to validate decl
	specific attributes.  Presently returns 0.
	(i386_valid_type_attribute_p):  New function to validate type
	specific attributes.  Recognize "stdcall", which says function
	with fixed numbers of arguments is responsible for popping stack,
	"cdecl", which says to use the normal C calling sequence, even if
	-mrtd is used, and "regparm", which specifies the number of
	registers to use for passing arguments.
	(i386_comp_type_attributes): New function, to validate whether
	attributes are compatible.
	(i386_return_pops_args): New function, to return whether or not
	the function pops its argument list or not, taking into account
	-mrtd, and the stdcall/cdecl attributes.
	(init_cumulative_args): Rewrite as a function, taking variable
	argument functions, and regparm support into account.
	(function_arg{,_advance,_partial_nreg}): Likewise.
	(print_operand): Support %J, to print appropriate jump insn.

	* i386.md (decrement_and_branch_until_zero): Define pattern,
	so that loops that count down to zero, don't have an unneeded
	compare after the decrement.  Add a general insn recognizer for
	add to a value and compare against zero.

	* i386/go32.h, i386/winnt.h (VALID_MACHINE_DECL_ATTRIBUTE):
	Delete, code folded into the mainline.
	(RETURN_POPS_ARGS): Likewise.

	* i386/winnt.h (ENCODE_SECTION_INFO): The stdcall attribute is now
	stored on the type field, rather than the decl.

	* i386/gas.h (ASM_OUTPUT_ALIGN_CODE, ASM_OUTPUT_LOOP_ALIGN): Use
	i386_align_{loops,jumps} variables to do alignment.
	* i386/osfrose.h, i386/svr3dbx.h: Likewise.

Fri May 12 12:48:19 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* stor-layout.c (layout_type, case ARRAY_TYPE): Compute length using
	MAX of length and zero if sizetype signed and neither bound constant.

	* i386/gnuelf.h, i386/linux-oldld.h, i386/lynx-ng.h, i386/v3gas.h:
	Use <...> in #include instead of "...".
	* m68k/lynx-ng.h, sparc/lynx-ng.h: Likewise.

	* c-parse.in (myparm): Handle attributes.
	* objc-act.c (unused_list): New variable.
	(build_tmp_function_decl): Call push_parm_decl with new format.
	(start_class): Initialize unused_list.
	(start_method_def): Call push_parm_decl with new format and
	mark _cmp as possibly unused.

	* combine.c (simplify_shift_const): Don't change SHIFT_MODE
	for LSHIFTRT either.

	* unroll.c (unroll_loop): Don't move reg if used in copy_end and
	that is a JUMP_INSN.

Fri May 12 12:31:37 1995  Doug Evans  <dje@cygnus.com>

	* arm/lib1funcs.asm: New file.

Fri May 12 11:52:03 1995  Kung Hsu  <kung@cygnus.com>

	* configure (a29k-*-vxworks*): New target.
	* config.sub (vxworks29k): New alias.
	* a29k/t-vx29k: New file.
	* a29k/vx29k.h: New file.

Fri May 12 11:17:28 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>

	* loop.c (check_dbra_loop): When reversing loop when
	no_use_except_counting is false, there must be only one biv.

Fri May 12 07:10:00 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* unroll.c (unroll_loop): Only use local_regno for pseudos.

	* genattrtab.c (write_test_expr, case MATCH_DUP): Use operands[N]
	instead of JUMP_LABEL (which may not be set).
	(walk_attr_value, case MATCH_DUP): Set must_extract.

	* c-parse.in: Adjust number of shift/reduce conflicts.
	(parm): Support attributes.
	* c-decl.c (push_parm_decl): Pass any attributes to decl_attributes.

Fri May 12 00:36:26 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* cpplib.c (skip_quoted_string):  Removed - no longer needed.
	(skip_if_group):  Use cpp_get_token instead of skip_quoted_string.

	* cpplib.h (struct cpp_reader):  Remove start_line field.
	Add multiline_string_line field.

	* cpplib.c (cpp_error_with_line, cpp_warning_with_line,
	cpp_pedwarn_with_line):  Take extra column number parameter.
	(macroexpand, cpp_get_token):  Fix reporting of unterminated strings.
	(line_for_error):  Removed - no longer needed.

Fri May 12 02:21:34 1995  Jim Wilson  <wilson@cygnus.com>

	* mips/svr4-t.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX,
	STARTFILE_SPEC, LINK_SPEC): Define.
	* configure (mips-tandem-sysv4): Use t-mips not t-svr4.

Thu May 11 19:18:54 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* cpplib.c (line_for_error):  Make it work; add extra parameter.
	(skip_quoted_string, cpp_get_token):  Update calls to line_for_error.
	(macroexpand):  Remember initial line so we can report it if the
	call is unterminated.  Also, simplify error logic slightly.
	(do_include):  Cast alloca return value, to avoid pcc warning.

	* cppexp.c (parse_number):  Cleanup some Cygnus crud for MPW.

Thu May 11 21:35:23 1995  Torbjorn Granlund  <tege@cygnus.com>

	From Moshier:
	* i960.c (i960_output_ldconst): Let split_double handle DImode.
	(i960_print_operand): Use REAL_VALUE_TO_DECIMAL for decimal strings.
	(i960_output_double, i960_output_float):  Likewise; also change arg
	VALUE from `double' to `REAL_VALUE_TYPE'.

Thu May 11 21:09:25 1995  Per Bothner  (bothner@wombat.gnu.ai.mit.edu)

	* cpperror.c (cpp_print_containing_files):  Remove some
	Cygnus-local stuff.

Thu May 11 21:06:47 1995  Doug Evans  <dje@canuck.cygnus.com>

	* gcc.c (link_command_spec): Make -nostdlib no longer imply
	-nostartfiles.

Thu May 11 18:48:57 1995  Paul Eggert  <eggert@twinsun.com>

	* c-common.c (convert_and_check): Don't diagnose overflow in constant
	expression merely because conversion overflowed.

Thu May 11 18:43:59 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-decl.c (grokdeclarator): Use PARM_FLAG to see if should
	make PARM_DECL.
	* c-parse.in (nested_function, notype_nested_function):
	Allow old-style arg definitions (use xdecls).

	* c-decl.c (finish_struct): Properly update DECL_PACKED.

Thu May 11 15:24:15 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* fold-const.c (fold): Also fold CLEANUP_POINT_EXPRs into
        TRUTH_*_EXPRs and into the first operand.
	(operand_equal_for_comparison_p): Also make sure the second operand
	is integral.

Thu May 11 14:22:03 1995  Ted Lemon  <mellon@toccata.fugue.com>

	* config/mips/netbsd.h: New file.
	* config/mips/t-mips-netbsd: New file.
	* config/mips/x-netbsd: New file.

	* configure (mips-dec-netbsd*): Add entry.

	* mips.h (LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX): Define.
	(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END, ASM_OUTPUT_LABEL_REF,
	ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL,
	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use them.

	* mips.c (mips_output_lineno): Use LOCAL_LABEL_PREFIX.

Thu May 11 14:22:03 1995  Stan Cox  (gcc@dg-rtp.dg.com)

	* dwarfout.c (output_decl): Don't output DIE for struct or union type
	with no name or with ERROR_MARK for the fields.

Thu May 11 06:36:34 1995  Michael Meissner  (meissner@cygnus.com)

	* flow.c (mark_used_regs): If a SUBREG does not have a REG in the
	SUBREG_REG position, recursively call mark_used_regs, instead of
	segfaulting.

Thu May 11 06:44:34 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* expr.c (do_jump, case EQ_EXPR, NE_EXPR): Fix typo for complex.

Wed May 10 12:34:46 1995  Michael Meissner  <meissner@cygnus.com>

	* configure: Add support for the little endian variant of the
	PowerPC System V.4 and Eabi targets.  If the GNU assembler was not
	specified, don't build libgcc.a variants on the PowerPC systems
	that use -mrelocatable, -mlittle, and -mbig.

	* genmultilib: For MULTILIB_MATCHES arguments, map question marks
	into equal signs after spliting the left and right side of
	equivalent options, to all support for options like: -mcpu=403.

	* rs6000/rs6000.md (rs6000_immed_double_const): New function that
	is like immed_double_const, except that it reverses the two words
	in the constant if the target is little endian.

	* rs6000/rs6000.md (floatsidf2): Use rs6000_immed_double_const,
	not immed_double_const.
	(floatunssidf2): Ditto.

	* rs6000/rs6000.h: Add declarations for all functions in rs6000.c.

	* rs6000/sysv4.h (TARGET_SWITCHES): Add -mlittle, -mlittle-endian,
	-mbig, and -mbig-endian for bi-endian support.
	(ASM_SPEC): Pass -mlittle/-mbig to the assembler if it was passed
	to us.
	(LINK_SPEC): If explicit little or big endian support was
	requested, tell the GNU linker to use the appropriate target
	format.

	* rs6000/t-eabi (MULTILIB_*): Build libgcc.a variants for software
	floating point.  Remove mrelocatable libgcc.a variant.

	* rs6000/t-eabigas: New file, cloned from t-eabi.  Build
	mrelocatable libgcc.a variant in addition to the other variants.

	* rs6000/t-ppc: New file, for PowerPC System V.4 support without
	the GNU assembler.

	* rs6000/t-ppcgas: New file, for PowerPC System V.4 support with
	the GNU assembler.

	* rs6000/eabile.h: New file, little endian eabi config file.
	* rs6000/sysv4le.h: New file, little endian V.4 config file.

Wed May 10 14:22:28 1995  Doug Evans  <dje@cygnus.com>

	* libgcc1-test.c (main_without__main): Renamed from `main'.
	* Makefile.in (libgcc1-test): Tell the user to ignore warnings.

	* configure: Support --enable-foo, --disable-foo.

Wed May 10 10:34:00 1995  Lee Iverson  <leei@Canada.AI.SRI.COM>

	* unroll.c: Add declarations of static functions.
	(unroll_loop): Renumber regs local to loop for each unrolled iteration.

Wed May 10 08:27:03 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* alpha.c (alpha_set_emit_const): Cleanups to work properly
	when run on 32-bit host.

	* configure: Instead of symlinking tm.h and {h,t,}config.h,
	make them files that #include the proper file; pass to Makefile.
	Pass out_file and md_file to Makefile instead of making symlinks.
	* Makefile.in (out_file, md_file, tm_file, {build,host}_xm_file):
	New symbols, to be overridden by configure.
	(insn-*): Use $(md_file), not md.
	(aux-output.o): Use $(out_file), not aux-output.c.
	($(MD_FILE)): Rework to use new conventions.
	(gen*.o, bi-*.o): Depend on $(build_xm_file), not hconfig.h.
	(scan.o, fix-header.o, scan-decls.o): Likewise.
	(distclean): Adjust files removed for new convention.

Tue May  9 19:26:42 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* rs6000/rs6000.h (LIBGCC_SPEC): Do link with libgcc when -shared.

	* Makefile.in (STAGESTUFF): Add underscore.c.
	(underscore.c): Rename temporary files to begin with 'tmp-' so that
	they will be removed by 'make mostlyclean'.

Tue May  9 19:19:55 1995  Mike Stump  <mrs@cygnus.com>

	* toplev.c (lang_options): Add new flag -ffor-scope.

Tue May  9 19:11:47 1995  Lee Iverson  (leei@ai.sri.com)

	* objc/init.c (objc_init_statics): Fix missing part of last change.

Tue May  9 18:25:34 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* i386/gnu.h, i386/linux.h, i386/linux-aout.h, i386/lynx.h:
	Use <...> in #include instead of "..." to avoid recursion.
	* i386/netbsd.h, i386/xm-gnu.h, i386/xm-linux.h: Likewise.
	* i386/xm-lynx.h, i386/xm-freebsd.h, i386/xm-netbsd.h: Likewise.
	* m68k/lynx.h, m68k/netbsd.h, m68k/xm-lynx.h: Likewise.
	* m68k/xm-netbsd.h, mips/gnu.h, ns32k/netbsd.h: Likewise.
	* ns32k/xm-netbsd.h, rs6000/lynx.h, rs6000/xm-lynx.h: Likewise.
	* sparc/lynx.h, sparc/netbsd.h, sparc/xm-lynx.h: Likewise.
	* sparc/xm-netbsd.h, vax/netbsd.h, vax/xm-netbsd.h: Likewise.

Tue May  9 15:52:05 1995  Michael Meissner  <meissner@cygnus.com>

	* config.sub: Recognize powerpcle as the little endian variant of
	the PowerPC.  Recgonize ppc as a PowerPC variant, and ppcle as a
	powerpcle variant.  Convert pentium into i586, not i486.  Add p5
	alias for i586.  Map new x86 variants p6, k5, nexgen into i586
	temporarily.

Tue May  9 15:43:27 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* rs6000/rs6000.h (LINK_SPEC, LIB_SPEC): Don't mess with libg
        if -shared.
	* rs6000/aix41ppc.h (LINK_SPEC): Ditto.

	* rs6000/powerpc.h: Don't emit .extern directives.

Tue May  9 14:08:09 1995  Jim Wilson  <wilson@cygnus.com>

	* sh/lib1funcs.asm (__ashrsi3, __ashlsi3, __lshrsi3): Use .byte
	instead of .word offsets in switch table.

Tue May  9 11:44:47 1995  Jeremy Bettis  <jbettis@cse.unl.edu>

	* objc/sendmsg.c (__objc_send_initialize): Call superclass if object
	does not implement +initialize.

Tue May  9 02:44:16 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* rs6000/xm-rs6000.h (COLLECT_EXPORT_LIST): Define if not
        cross-compiling.
	* rs6000/xm-mach.h: #undef COLLECT_EXPORT_LIST.
	* rs6000/rs6000.h (COLLECT_SCAN_OBJECTS): Lose.

	* collect2.c (collect_exit): Unlink export_file.
	(prefix_from_string): Broken out from prefix_from_env.
	(prefix_from_env): Call it.
	(main): Under AIX, recognize -bE: and -bexport:, and don't
	automatically export everything if we see one.  Otherwise, scan the
	objects individually and add all their symbols to an export file to be
	passed to the linker.
	(write_export_file): New function.
	(scan_prog_file): Ignore symbols starting with '.'

	* c-common.c (declare_hidden_char_array): Mark decl artificial.

Mon May  8 18:13:57 1995  Adam Fedor  <fedor@colorado.edu>

	* objc/init.c (_objc_load_callback): Add declaration.
	(__objc_exec_class): Call _objc_load_callback after every Class
	or Category is added.
	* objc/objc-api.h (_objc_load_callback): Add declaration.

Mon May  8 17:56:28 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (expand_expr, case INDIRECT_REF): Set RTX_UNCHANGING_P
	if both TREE_READONLY and TREE_STATIC set.

	* c-typeck.c (convert_for_assignment): Don't give errors about
	adding const or volatile unless both sides point to functions.

Mon May  8 11:48:23 1995  Michael Meissner  <meissner@cygnus.com>

	* configure: If ../ld/Makefile, symlink ../ld/ld.new to collect-ld,
	not real-ld.  Don't test for $use_collect2 any more.

Sun May  7 17:52:23 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* calls.c (expand_call): Improve -Winline warnings.

Sun May  7 17:28:27 1995  DJ Delorie  (dj@delorie.com)

	* configure.bat: Use "go32" instead of "msdos" for future expansion.

	* i386/go32.h: Add support for win32's stdcall functions.

	* configure.bat: Add ^M to end of each line.
	* i386/config-nt.bat, alpha/config-nt.bat: Likewise.

Sun May  7 02:12:26 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* tree.h (DECL_ARTIFICIAL): New macro.

	* function.c (expand_function_end): Don't warn about unused
        anonymous or artificial parms.

Fri May  5 18:41:22 1995  Jim Meyering  (meyering@comco.com)

	* configure: Fix typo in name of "maintainer-clean".

Fri May  5 14:58:01 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

 	* pa.c (emit_move_sequence): Force problematical constants
	into memory during the reload pass when generating PIC.

Fri May  5 13:30:33 1995  Doug Evans  <dje@cygnus.com>

	* objc/NXConstStr.m: NXConstantString.h renamed to NXConststr.h.

Fri May  5 07:10:15 1995  Stephen L Moshier  (moshier@world.std.com)

	* real.c (emdnorm, toe64, etoe64): Significand of Intel long double
	denormals is shifted down one bit.

Fri May  5 07:04:12 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-typeck.c (process_init_element): Don't clear_momentary if
	constructor_stack is not empty.

	* objc/Makefile (SHELL): Now /bin/sh.

	* c-typeck.c (build_binary_op): Also warn about ordered
	comparison of pointer with zero if -Wall.

	* expr.c (do_jump, case EQ_EXPR, NE_EXPR): Properly compare complex.

Thu May  4 18:01:25 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* objc/Makefile: NXConstantString renamed to NXConstStr.
	* objc/NXConstStr.m: Renamed from objc/NXConstantString.m.
	* objc/NXConstStr.h: Renamed from objc/NXConstantString.h.

Thu May  4 17:38:21 1995  J.T. Conklin  <jtc@netbsd.org>

	* configure (vax-*-netbsd*): New configuration.
	* vax/netbsd.h, vax/xm-netbsd.h: New files.

Thu May  4 16:39:05 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* collect2.c (main): Add check for 'collect-ld', just like
        'real-ld', except that old versions won't be looking for it in the
        path.  Don't look for 'real-ld' in the path anymore.  Sigh.

	* collect2.c: #include demangle.h and obstack.h.
	(obstack_chunk_alloc): Define.
	(obstack_chunk_free): Define.
	(generic): Don't define.  Don't use.
	(main): Initialize obstacks and demangling.

	* collect2.c (dump_file): Adjust space padding in output to
        maintain tabulation with Solaris ld.  Don't demangle if the
        environment variable COLLECT_NO_DEMANGLE is set.

        * collect2.c (main): Redirect the output of the first link and
        demangle it.  Don't collect static c/dtors unless USE_COLLECT2 is
        defined.  Null-terminate the list of objects.
	(dump_file): New function.
	(file_exists): New function.
	(collect_exit): Renamed from my_exit.  Dump and remove the temporary
	ld output file.
	(collect_execute): Break out from fork_execute.  Support redirection.
	(fork_execute): Call it.
	(fatal_perror, fatal, error): Make non-static.
	(xcalloc, xmalloc): Don't use generic.
	(xrealloc): Define.
	(collect_wait): Break out for do_wait.  Just return the exit status.
	(do_wait): Call it.

	* collect2.c: Check SUNOS4_SHARED_LIBRARIES using #if, not #ifdef.

	* Makefile.in (collect2): Now uses cplus-dem.o and underscore.o.
	(collect2.o): Pass MAYBE_USE_COLLECT2 to compile.
	(underscore.c): Rules for creation.

	* cplus-dem.c, demangle.h: Copy from libiberty.

Thu May  4 14:12:35 1995  Jim Wilson  <wilson@cygnus.com>

	* sdbout.c (plain_type): Pass additional argument to plain_type_1.
	(plain_type_1): New parameter level.  Increment it when making
	recursive calls.  Force the type to void_type_mode before starting
	a 7th level of recursion.

	* sh.c (general_movsrc_operand, general_movdst_operand): Delete
	references to POST_DEC and PRE_INC.
	* sh.h: Clean up whitespace, comments, etc.
	(TARGET_SH, RTL_BIT, DT_BIT, C_BIT, R_BIT, TARGET_DUMP_RTL,
	TARGET_DUMP_R, TARGET_CDUMP): Delete.
	(TARGET_SWITCHES): Delete -mR, -mc, -mr options.
	(CONST_DOUBLE_OK_FOR_LETTER_P): Delete 'G' contraint.
	(FUNCTION_VALUE): Simplify.
	(REG_OK_FOR_PRE_POST_P, IS_INDEX): Delete.
	(BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P): Rewrite to allow
	SUBREGs.
	(GO_IF_LEGITIMATE_INDEX): Delete unused REGNO argument.
	(GO_IF_LEGITIMATE_ADDRESS): Use BASE_REGISTER_RTX_P instead of
	REG_OK_FOR_PRE_POST_P.  Don't accept PRE_INC or POST_DEC addresses.
	(PREDICATE_CODES, PROMOTE_MODE): Define.

Wed May  3 09:57:55 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/rs6000.md (non power abs insns): If not powerpc, use
	sf/subfc instructions, not subf.

Wed May  3 08:49:06 1995  Alan Modra  <alan@SPRI.Levels.UniSA.Edu.Au>

	* protoize.c (gen_aux_info_file): Use strerror #ifdef HAVE_STRERROR.

Wed May  3 01:06:01 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>

	* pa.c (output_call): Fix typo/thinko in last change.
	(output_function_epilogue): Align the data section before
	emitting deferred plabels.

	From Torbjorn:
	* pa.c (before functions): Declare deferred_plabels and
	n_deferred_plabels.
	(output_call): When generating pic, don't use LP and RP.  Use 32 bit
	plabel instead.
	(output_function_epilogue): Output plabels accumulated in output_call.

Tue May  2 17:15:08 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>

	* pa.c (hppa_expand_epilogue): Fix thinko in last change.

Tue May  2 16:54:35 1995  Doug Evans  <dje@cygnus.com>

	* jump.c (jump_optimize, can_reach_end determination): A barrier can
	follow the return insn.

Tue May  2 12:39:55 1995  Mike Stump  <mrs@cygnus.com>

	* fold-const.c (fold): Ensure that we don't alter the expression's
	type when folding CLEANUP_POINT_EXPRs.

Tue May  2 13:36:08 1995  Michael Meissner  <meissner@cygnus.com>

	* expmed.c (emit_store_flag): When creating store flag
	instructions from simpler parts, such as XOR, ABS, etc. do not
	reuse pseudo registers if expensive optimizations, instead create new
	pseudos for each insn result.

Tue May  2 01:25:29 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* pa.c (hppa_expand_epilogue): Correctly handle restore of %rp
	for functions with a stack size of exactly 8kbytes and no frame
	pointer.

Mon May  1 19:27:08 1995  Jim Wilson  <wilson@cygnus.com>

	* sdbout.c (sdbout_one_type): Don't switch to text section if
	in function with section attribute.

	* combine.c (combine_instrutions): Set subst_prev_insn to zero.
	(try_combine, undo_all): Likewise.
	(get_last_value): Return zero if subst_prev_insn set.

	* sparc.h (INIT_TARGET_OPTABS): Move INIT_SUBTARGET_OPTABS to end.

	* Makefile.in (install-dir): chmod a+rx all newly created directories.

	* expr.c (expand_expr, case SAVE_EXPR): Handle the case where
	mode is VOIDmode.

Fri Apr 28 15:39:38 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* cpplib.h (cpp_buffer):  Note new escape combination "@ ".
	* cpplib.c (macroexpand):  Delete "@ " if stringifying.
	(cpp_skip_hspace):  Also skip "@ " if input buffer has_escapes.
	(collect_expansion):   Cleanup white-space handling.
	(create_definition):  Remove all leading spaces, not just first one.
	(cpp_expand_to_buffer):  Set has_escapes on resulting input buffer.
	(macroexpand):  Set output_escapes during whole function (and
	specifically during calls of macarg).
	(macroexpand):  Set "@ " before and after expansion result.
	(push_macro_expansion):  Remove unneeded initial "@ ", not " ".
	(cpp_get_token):  Remove unneeded "@ " (not " ") at end of expansion.
	(cpp_get_token):  Handle "@ ".

	* cpplib.c (read_name_map):  Add cpp_reader parameter.  Access
	map_list from former (instead of having it be static).
	(open_include_file):  Extra parameter (because of above changes).
	(do_include, lookup_import):  Update calls of open_include_file.

	* cpplib.c (do_include):  Fix memory leak.

	* cpplib.c (delete_assertion):  Also delete tokenlist.
	(do_unassert):  Don't delete tokenlist (handled by delete_assertion).
	(cpp_cleanup):  New function.  Frees resources used by a cpp_reader.
	* cpphash.c (cpp_hash_cleanup):  New function.
	(delete_macro):  Enable commented-out code.
	(file_cleanup):  Free actual buffer.

	* cpplib.c (cpp_options):  Add map_list.

	* cpplib.h (PARSE_GETC):  Removed.  Bogus and unused.
	* cppmain.c (main):  Remove commented-out code that used PARSE_GETC.

	* cpplib.c:  Don't #include <string.h>.  Causes clashes
	on Nextstep (when index/rindex are macros).
	(cpp_grow_buffer, int_parse_file):  Cast to U_CHAR*, rather than char*.

Sun Apr 30 08:11:23 1995  Alan Modra  (alan@spri.levels.unisa.edu.au)

	* stdarg.h, varargs.h (va_arg): Don't assume __va_rounded_size (char)
	has the value of 4.

Sun Apr 30 07:13:43 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* vax.h (NOTICE_UPDATE_CC): Correctly handle aob insns.

	* expr.c (expand_expr, case CONSTRUCTOR): Don't set target to
	zero if more then one word.
	Pass size and alignment to move_by_pieces_ninsns in bytes, not bits.

	* cse.c (cse_insn): Properly set IN_MEMORY for SET_DEST.

	* tree.c (substitute_in_expr): Preserve TREE_READONLY.

	* c-common.c (enum attrs): Add A_UNUSED.
	(init_attributes): Initialize it.
	(decl_attributes, case A_UNUSED): New case.

Sat Apr 29 15:42:03 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (do_include): Re-fix minor memory leak by using
	alloca instead of xmalloc and free.

	* cccp.c (macarg): Except for reporting error, treat unterminated
	macro call as if it were terminated, since `macroexpand' relies
	on *argptr being filled in.

Sat Apr 29 06:09:35 1995  Torbjorn Granlund  <tege@cygnus.com>

	* pa.c (output_mul_insn): Simplify, it is never called with
	UNSIGNEDP set.

	* pa.md (divsi3, udivsi3, modsi3, umodsi3): Simplify.
	(ashlsi3): Clean up indentation and commentary.

Fri Apr 28 12:48:01 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* integrate.c (expand_inline_function): Don't emit any notes until
        after we've expanded the actual parameters.

Fri Apr 28 11:51:06 1995  Stan Cox  (gcc@dg-rtp.dg.com)

        * m88k/dgux.h: (ENDFILE_SPEC, LIB_SPEC) Fix crtbegin and crtend
        (SELECT_RTX_SECTION) Put relocatable pic constants in data section

        * m88k/dguxbcs.h: (LIB_SPEC) Likewise

        * m88k/m88k.c: (symbolic_operand) Put relocatable pic constants in data

        * m88k/m88k.h: (FRAME_POINTER_REQUIRED) Add -momit-leaf-frame-pointer

        * m88k/m88k.md: (umulsidi3) Doesn't work for 88110 with mod/div changes

        * m88k/x-dgux: (GCC_FOR_TARGET) tdesc gets mixed up for crtbegin/crtend

Fri Apr 28 06:36:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-typeck.c (pop_init_level, output_init_element): Pass
	require_constant_* to digest_init.

	* alpha.c (alpha_emit_set_const): Now returns rtx and take MODE arg.
	Rework to use a new pseudo for intermediate values if high opt level.
	Also use expand_{bin,un}op.
	* alpha.h (alpha_emit_set_const): Add declaration.
	* alpha.md (mov[sd]i and splits): Change call to alpha_emit_set_const.

	* reg-stack.c (stack_result): Fix bug in last change.

Fri Apr 28 01:08:43 1995  Doug Evans  <dje@cygnus.com>

	* objc-act.c: Update calls to start_decl, finish_struct,
	pass NULLs for attributes.

Thu Apr 27 21:13:14 1995  Doug Evans  <dje@cygnus.com>

	* sparc.md (tablejump): Only if ! TARGET_MEDANY.
	(casesi): New pattern for TARGET_MEDANY case.

	* c-common.c (decl_attributes): Always continue if attribute not found.
	* c-typeck.c (common_type): Call lookup_attribute instead of
	value_member.
	* tree.c (attribute_hash_list): New function.
	(build_type_attribute_variant): Call it.
	(valid_machine_attribute): Handle attributes with arguments.
	(is_attribute_p): New function.
	(lookup_attribute): New function.
	(attribute_in_list): Deleted.
	(attribute_list_contained): Check TREE_PURPOSE and TREE_VALUE.
	* tree.h (valid_machine_attribute): Add prototype.
	(is_attribute_p, lookup_attribute): Likewise.
	* i386/winnt.h (RETURN_POPS_ARGS): Call lookup_attribute.
	(ENCODE_SECTION_INFO): Likewise.
	(CPP_PREDEFINES): Use __stdcall__, __cdecl__.
	(VALID_MACHINE_DECL_ATTRIBUTE): Call is_attribute_p.
	`args' must be NULL.

Thu Apr 27 21:10:41 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.md (insv): New anonymous patterns to combine insert with
	arbitrary ashift, ashiftrt, lshiftrt, or zero_extract.  (Based on
	patch from John Brooks <jbrooks@ea.com>.)
	(ashlsi3): Remove extraneous operand processing.

Thu Apr 27 18:47:24 1995  Jim Wilson  <wilson@cygnus.com>

	* sh/ashlsi3.c, sh/ashrsi3.c, sh/lshrsi3.c: Delete.
	* sh/lib1funcs.asm (ashiftrt_r4_*): Rewrite for efficiency.
	(ashrsi3, lshrsi3, lshrsi3): Add.
	* t-sh (LIB1ASMFUNCS): Add new functions.
	(LIBGCC2_CFLAGS): Delete.
	(LIB2FUNCS_EXTRA): Remove deleted files.
	(ashlsi3.c, ashrsi3.c, lshrsi3.c): Remove rules for deleted files.

	* stmt.c (expand_return): When returning BLKmode structure, use
	operand_subword instead of doing arithmetic on the register number.
	Also, for structures smaller than word_mode, copy it into a word_mode
	temporary and then subreg it.

	* sparc.md: Delete two define_peepholes which print `bad peephole'.

Thu Apr 27 16:17:01 1995  Torbjorn Granlund  <tege@cygnus.com>

	* toplev.c (rest_of_compilation): Call shorten_branches even when
	!optimize.
	* final.c (shorten_branches): For non-optimizing compiles, break
	after first pass.

Thu Apr 27 14:22:50 1995  Michael Meissner  <meissner@cygnus.com>

	* i386/linux-oldld.h: New file, that is cloned from linux-aout.h,
	except that it does not pass -m i386linux to the linker.  This is
	to support the original GNU/Linux ld that is on most distributions.

	* configure (i[345]86-*-linux*oldld*): Use i386/linux-oldld.h as
	the target file.

Thu Apr 27 08:56:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* tree.c (valid_machine_attribute): Update last change.

Thu Apr 27 08:06:33 1995  Philippe De Muyter (phdm@info.ucl.ac.be)

	* fix-header.c, cpplib.c: Don't include <sys/stat.h> twice.
	* cpplib.c (cpp_grow_buffer, init_parse_file): Cast {xmalloc,xrealloc}
	for token_buffer to U_CHAR* instead of char*.

	* m68k/x-mot3300: New file.
	* configure (m68k-motorola-sysv*): Use x-mot3300 instead of x-alloca.

Thu Apr 27 07:04:09 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (do_include): Fix minor memory leak.

	* cccp.c (struct argdata): Remove unused `comments' member.
	(macarg): Don't set `comments' member.

	* cccp.c (collect_expansion): Assume leading white space
	already removed.
	Don't allocate unnecessary space for expansion.

	* cccp.c (deps_output): Don't generate overly long output lines.
	Do not invoke self recursively with spacer == 0; this simplifies
	the code a bit.

Wed Apr 26 19:20:02 1995  Andrew McCallum  <mccallum@leopard.cs.rochester.edu>

	* objc/Object.h: Changed Class * to Class in order to match NEXTSTEP
	and OpenStep runtime.
	* objc/Object.m, objc/Object.h, objc/archive.c, objc/class.c: Likewise.
	* objc/encoding.c, objc/init.c, objc/objc-api.h, objc/objc.h: Likewise.
	* objc/objects.c, objc/runtime.h, objc/selector.c: Likewise.
	* objc/sendmsg.c, objc/typedstream.h: Likewise.

Wed Apr 26 19:18:52 1995  Pieter Schoenmakers  <tiggr@es.ele.tue.nl>

	* objc/objc-api.h (objc_static_instances): New struct to record
	static instances of a certain class.
	(objc_module): New tag STATICS to point to the table of
	objc_statics_instances.

	* objc/init.c (OBJC_VERSION): Version 7.
	(objc_init_statics): New function.
	(__objc_exec_class): Invoke objc_init_statics if needed.

	* objc/NXConstantString.m, objc/NXConstantString.h: New files.
	* objc/Makefile (OBJC_O): Added bare-bones implementation of
	NXConstantString.

	* objc-act.c (OBJC_VERSION): Version 7.
	(build_objc_string_object): Build a full declaration if not using
	the next runtime.
	(objc_add_static_instance): New function.
	(init_module_descriptor): Add reference to static instances table.
	(build_module_descriptor): Add field for static instances table.
	(get_objc_string_decl): New function.
	(generate_static_references): New function.
	(finish_objc): Call generate_static_references if needed.

	* c-tree.h (finish_decl_top_level): New declaration.
	* c-decl.c (finish_decl_top_level): New function.

Wed Apr 26 18:04:32 1995  Dirk Steinberg  (Dirk.Steinberg@gmd.de)

	* stddef.h: Treat _MACHINE_ANSI_H_ like _ANSI_H_.

Wed Apr 26 14:09:59 1995  Jim Wilson  <wilson@cygnus.com>

	* sparc.h (NEGTF2_LIBCALL): Define.
	(INIT_TARGET_OPTABS): Add support for all TFmode *_LIBCALL macros.
	* optabs.c (init_optabs): Delete all uses of undocumented TImode and
	TFmode *_LIBCALL macros.

	* combine.c (simplify_rtx, case TRUNCATE): Add.  Use force_to_mode.
	(force_to_mode, case AND): Allow some simplifications when GET_MODE (x)
	has more bits than HOST_BITS_PER_WIDE_INT.
	* mips/mips.md (truncdiqi2+[456]): Add patterns to simplify ZERO_EXTEND
	of a TRUNCATE.

Wed Apr 26 13:01:22 1995  Doug Evans  <dje@cygnus.com>

	* sparc.md (memop define_splits): Rewrite to not use memop.
	Preserve MEM_IN_STRUCT_P, MEM_VOLATILE_P, RTX_UNCHANGING_P bits.
	* sparc.c (memop): Deleted.
	(splittable_symbolic_memory_operand): New function.
	(splittable_immediate_memory_operand): New function.

Wed Apr 26 12:54:26 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* configure: Add hppa1.1-hp-lites support.

Wed Apr 26 08:04:46 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* sh.md (ashrsi2_31): Don't use dead_or_set_p after reload.
	* pyr.md: Remove bad peepholes that improperly use dead_or_set_p.

	* function.c (expand_function_end): Warn about unused parms
	if both -Wunused and -W.

	* tree.h (TYPE_PARSE_INFO): Delete unused field.
	(TYPE_PACKED): Add new macro.
	(struct tree_type): Delete unused field `parse_info'.
	Add new field `packed_flag'.
	* c-tree.h (finish_enum, finish_struct): Add ATTRIBUTES argument.
	* c-common.c (init_attributes): Don't require decl for A_PACKED.
	(decl_attributes, case A_PACKED): Set TYPE_PACKED for type.
	* c-parse.in: Update number of shift/reduce conflicts.
	(structsp): Pass attribute arg to finish_struct.
	Support attributes on enums and pass to finish_enum.
	* c-decl.c (finish_struct): Add ATTRIBUTES argument, call
	decl_attributes and set DECL_PACKED from TYPE_PACKED.
	(finish_enum): Add ATTRIBUTES argument, call decl_attributes,
	and make enum narrow if TYPE_PACKED.
	* print-tree.c (print_node): Print TYPE_PACKED.

	* c-decl.c (init_decl_processing): Don't give builtin__constant_p an
	argument type.
	* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a
	string constant is a constant.

	* c-typeck.c (output_init_element): Constructor is not simple if
	a bitfield is being assigned a non-integer.

	* c-typeck.c (push_init_level): Update constructor_depth when we
	push spelling level.

Tue Apr 25 19:50:06 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* pa.c (emit_move_sequence): Handle function label arithmetic for
	PIC code generation too.

Tue Apr 25 18:52:43 1995  Stephen R. van den Berg  (berg@pool.informatik.rwth-aachen.de)

	* reg-stack.c (current_function_returns_real): Deleted (unused).
	(FP_mode_reg): Trimmed to a smaller size, less overhead.
	(FP_MODE_REG): New macro over which FP_mode_reg will be accessed.
	(mark_regs_pat, straighten_stack): New functions.
	(reg_to_stack): Amend initialisation of FP_mode_reg.
	Mark FP registers mentioned in USE insns before NOTE_INSN_FUNCTION_BEG.
	(get_true_reg): Eliminate FP subreg accesses in favor of the
	actual FP register in use.
	(record_reg_life_pat): Make it work on SUBREGs as well.  Make use of
	the new mark_regs_pat function.  Handle USE insns if called unnested.
	(record_reg_life): Don't check for QImode again, we know that it
	is there.  Process CALL_INSNs like all other insns, they might `use'
	some FP argument registers if register passing.
	(stack_result_p): Changed in stack_result and returning an rtx.
	(stack_reg_life_analysis): Take a new stackentry state argument.
	Use stack_result and the rtx to mark using mark_regs_pat.  This ensures
	that types that need multiple FP registers are handled correctly.
	Delete the no_live_regs shortcut to save space.
	Use stackentry state to determine filled registers.
	(replace_reg): Accept COMPLEX_FLOAT as well.
	(move_for_stack_reg): Optimize away some pointer dereferencing.
	(subst_stack_regs): Make sure the stack is in the right order
	and of the right size for register passing.
	(goto_block_pat): Make sure the stack is in the right order
	to return possible multi-register values from the function.
	(convert_regs): Fix comment about CALL_INSN, it's no longer valid.
	Make sure the stack is of the right size and in the right order
	to return possible multi-register values from the function.

	* function.c (assign_parms): If STACK_REGS is defined, generate USE
	insns before the function body, thus showing which registers are filled
	with parameters.
	* expr.c (expand_builtin_apply_args): Likewise.
	Reverse order of saving registers, more compact code for i387.
	(expand_builtin_apply): Likewise.
	* emit-rtl.c (gen_highpart): Add comment about broken implementation.
	* i386.md (untyped_call): Make it return a complex double.

        * c-parse.in (attrib): Permit null-length argument list to attributes.

	* tree.c (valid_machine_attribute): Use new function attribute_in_list,
	makes sure type_attribute_variants are reused even when attributes have
	parameters.
	Assign any new type to TREE_TYPE (decl).
	(attribute_in_list): New function.
	(attribute_list_contained): Use it.
	* tree.h (attribute_in_list): New declaration.

Tue Apr 25 18:25:53 1995  Jim Wilson  <wilson@cygnus.com>

	* expr.c (struct move_by_pieces): Add to_struct and from_struct fields.
	(move_by_pieces): Set to_struct and from_struct fields.
	(move_by_pieces_1): Set MEM_IN_STRUCT_P of to1 and from1.
	(expand_builtin, case BUILT_IN_MEMCPY): New variable type.
	Set MEM_IN_STRUCT_P of src_mem and dest_mem.

	* Makefile.in (clean): Delete libgcc1-asm.a.

	* m68k/vxm68k.h (CPP_SPEC): Define.

	* c-decl.c (pushdecl): Don't test DECL_EXTERNAL when deciding whether
	to register a duplicate decl in the current block.

	* cross64.h (INIT_ENVIRONMENT): Define as string not putenv call.
	* gcc.c (main): Pass INIT_ENVIRONMENT to putenv.

	* stmt.c (expand_return): When returning BLKmode structure in
	registers, copy it to a psuedo-reg instead of to hard registers.

Tue Apr 25 15:14:58 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.h (LEGITIMIZE_ADDRESS): Don't create a DF address using two
	regs if -msoft-float or -mcpu=403.

Tue Apr 25 15:45:44 1995  Richard Henderson  (richard@atheist.tamu.edu)

	* m68k.md (divhi3, udivhi3, modhi3, umodhi3): Deleted
	these insns plus some surrounding trash.
 	(divmodhi4, udivmodhi4): Added these insns.

Tue Apr 25 10:12:40 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* alpha.c (alpha_builtin_saveregs): Refine last change to work
	for both stdarg and varargs.

	* tree.c (chain_member_purpose): Make similar to chain_member_value.

	* Makefile.in, configure: Change "realclean" to "maintainer-clean".

	* protoize.c: Removed __NetBSD__ from conditional.
	Declare strerror if HAVE_STRERROR is defined; otherwise
	declare sys_errlist and sys_nerr.
	(my_strerror): New function.
	(errno): Don't define if already defined as a macro.

	* alpha.c (current_file_function_operand): Return false if profiling.

	* expr.c (convert_move): Don't access a hard reg in an invalid
	mode when doing a truncation.

	* alpha.c (add_operand): Test for exactly the constants allowed by
	the constraints.
	* alpha.h (CONST_OK_FOR_LETTER_P, case 'L'): Reject 0x80000000.

	* c-parse.in (initdcl, notype_initdcl): Pass attributes to
	start_decl; delete call to decl_attributes.
	* c-tree.h (start_decl): Two new tree parameters.
	* c-decl.c (start_decl): New args for attributes; call decl_attributes.

	* c-decl.c (duplicate_decls): Don't look at TYPE_ACTUAL_ARG_TYPES
	if it is not set.

	* xm-1750a.h: New file.

	* alpha.c (alpha_builtin_saveregs): Add to incoming args addr
	if less than 6 named args, not less than or equal to.

Mon Apr 24 15:25:19 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* mips-tfile.c (fatal, error): Make first arg const to avoid warning.

	* stmt.c (expand_end_bindings): Write a BARRIER after call
	to abort in nonlocal handler.

	* stmt.c (expand_decl_init): Call preserve_temp_slots to keep
	around any temp whose address was taken.

Fri Apr 21 16:26:15 1995  Torbjorn Granlund  <tege@adder.cygnus.com>

	* pa.md (call_internal_reg): Fix typos in length calculation.
	(call_value_internal_reg): Likewise.

Fri Apr 21 13:17:15 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* config/gnu.h (STANDARD_INCLUDE_DIR): New macro.
	* config/mips/gnu.h (STANDARD_INCLUDE_DIR): Macro moved there.

Fri Apr 21 08:23:58 1995  Tom Quiggle  (quiggle@lovelace.engr.sgi.com)

	* toplev.c (lang_options): Add -I for GNAT.
	* gcc.c (default_compilers): Pass -I to gnat1.

Fri Apr 21 07:58:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* tree.c (integer_all_onesp): Test to size of mode, not TYPE_PRECISION.

	* toplev.c (main): Turn on -fforce-mem for -O2.

	* fold-const.c ([lr]rotate_double): Replace; old versions were bogus.
	(fold, shift and rotate): Don't call tree_int_cst_sgn on non-integer.
	(fold, case LROTATE_EXPR): If constant count, convert to RROTATE_EXPR.
	(fold, case RROTATE_EXPR): Sometimes commute logical op with rotate.
	Delete pair of counteracting shifts.

	* combine.c (simplify_logical, case AND): If still an AND, get
	new values for op0 and op1.

Thu Apr 20 17:52:10 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.c: Completely rewritten.
	* sh.h (FAST_BIT, CONSTLEN_2_BIT, CONSTLEN_3_BIT, CONSTLEN_0_BIT,
	TARGET_FASTCODE, TARGET_CLEN3, TARGET_CLEN0, TARGET_OPTIONS): Delete.
	(TARGET_SWITCHES): Delete -mclen3 and -mclen0 options.
	(TARGET_DEFAULT): Is zero.
	(OVERRIDE_OPTIONS): Delete code to set max_count_si and max_count_hi.
	(SPECIAL_REG): New macro.
	(HARD_REGNO_MODE_OK): Allow any mode in any general register.
	(GO_IF_LEGITIMATE_ADDRESS): Delete constant + reg address case.
	(MOVE_RATIO): Define to 2 when TARGET_SMALLCODE.
	(max_si, max_hi, max_count_si, max_count_hi): Delete.
	* sh.md: Delete spurious constraints from all define_expands.
	(rotlsi3_1): Set T reg instead of clobbering it.
	(ashrsi3): Use expand_ashiftrt instead of gen_shifty_op.
	(movsi_i, movhi_i, movsf_i): Add conditions to reject patterns
	needing a reload.
	(movdi-2, movdf_k): Correct conditions to reject patterns needing
	a reload.
	([inverse_]branch_{true,false}): Pass operands to output_branch.
	(jump): Delete unnecessary braces.
	(call, call_value): Don't use expand_acall.  Force operand0 into
	a register.

Thu Apr 20 12:57:16 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* function.c (assign_parms): Use TREE_ADDRESSABLE rather than
        TYPE_NEEDS_CONSTRUCTING to decide whether a parameter needs to be
        passed by invisible reference.

	* calls.c (expand_call): Ditto.  Abort if we try to pre-evaluate a
        parameter of TREE_ADDRESSABLE type.

Wed Apr 19 17:50:24 1995  Torbjorn Granlund  <tege@cygnus.com>

	* pa.h (TARGET_SWITCHES): Fix typo.

Tue Apr 18 18:06:03 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* expr.c (store_constructor):  Use BYTES_BIG_ENDIAN rather
	than BITS_BIG_ENDIAN to layout bits within bitstring.
	* tree.c (get_set_constructor_bytes):  Likewise.

Tue Apr 18 17:22:46 1995  Per Bothner  (bothner@wombat.gnu.ai.mit.edu)

	* config/m68k/{x-hp320,x-hp320g} (FIXPROTO_DEFINES):
	Define _HPUX_SOURCE so putenv and other functions get seen.

Tue Apr 18 03:57:35 1995  Michael Meissner  (meissner@cygnus.com)

	* varasm.c (weak_decls): Make this a unique structure, instead of
	a tree structure.
	(handle_pragma_weak): Don't redeclare asm_out_file.  Use new weak
	structure to copy name and value to.  Protect name and value by
	copying them to the permanent obstack.
	(declare_weak): Call handle_pragma_weak, instead of duplicating
	the code.
	(finish_weak): Rewrite to use new weak symbols list structure.

	* c-pragma.h: New file to define the c-pragma.c interfaces.
	* c-pragma.c: Include it.
	* varasm.c: Include it.
	* c-lex.c: Include it.
	* cp/lex.c: Include it.

	* varasm.c (handle_pragma_weak): No longer pass output file
	stream, since weak pragmas are delayed until the end of the
	compilation.
	* c-pragma.c (handle_pragma_token): Call handle_pragma_weak
	without file stream argument.

	* Makefile.in (varasm.o, c-lex.o, c-pragma.o): Add dependencies on
	c-pragma.h.

	* config/rs6000.md (movdf): If -msoft-float, do not generate
	memory to memory references, like is already done for the
	-mhard-float case.  Remove an extra test for -mhard-float inside
	of -mhard-float code.

Tue Apr 18 06:19:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fold-const.c (size_int): Arg is unsigned HOST_WIDE_INT.
	* tree.h (size_int): Likewise.

Mon Apr 17 23:36:57 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* rs6000/aix41.h: Restore March 11th changes, plus
        (ASM_OUTPUT_EXTERNAL): Do add [DS] or [RW], just don't emit
        anything.
	* rs6000/aix3newas.h (ASM_OUTPUT_EXTERNAL): Ditto.

Mon Apr 17 15:58:52 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* config/mips/x-iris (FIXPROTO_DEFINES):  Add -D_LANGUAGE_C_PLUS_PLUS.
	* config/mips/x-iris6:  Likewise.

	* cpplib.c:  Rename  make_definition to cpp_define.
	* cpplib.h (cpp_define):  New declaration.

	* cpplib.c (special_symbol):  For T_SPECLINE, calculate __LINE__
	in enclosing file buffer, not current buffer (if macro expanding).
	(cpp_get_token):  Fix thinko (in code for chopping unneeded space).

Mon Apr 17 11:36:07 1995  Jim Wilson  <wilson@cygnus.com>

	* abi64.h (CPP_SPECS): Define and use _ABI64 instead of
	_MIPS_SIM_ABI64.
	(SETUP_INCOMING_VARARGS): Set MEM_IN_STRUCT_P if big endian target.
	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define.

	* combine.c (get_last_value): Ignore BARRIER when scanning backwards.
	(move_deaths): New variables before_dead and after_dead.  Set them
	to instructions that have valid INSN_CUID values and use in test.

	* combine.c (subst_prev_insn): New variable.
	(try_combine): Set it.
	(get_last_value): Use it.

	* reload.c (find_reloads): Recompute reg_equiv_address from
	reg_equiv_memory_loc before using it.
	(find_reloads_toplev, make_memloc): Likewise.

	* expr.c (expand_builtin, case BUILT_IN_MEMCPY): Call force_operand
	on dest_rtx before returning it.

	* function.c (instantiate_decls): Use temporary allocation if
	DECL_DEFER_OUTPUT is set.

Sat Apr 15 23:19:03 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* aoutos.h (ASM_OUTPUT_DEF): Define instead of SET_ASM_OP.
	* sparc/sunos4.h (ASM_OUTPUT_DEF): Ditto.

	* varasm.c (weak_finish): Don't handle aliases.
	(declare_weak): Ditto.
	(assemble_alias): Handle aliases.

	* c-common.c (enum attrs): Add A_ALIAS.
	(init_attributes): Ditto.
	(decl_attributes): Ditto.

Sat Apr 15 13:26:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* calls.c (expand_call): Call preserve_temp_slots on temps
	made for BLKmode args returned in registers.

	* pa.c (override_options): Fix typo.

Sat Apr 15 12:11:46 1995  Brendan Kehoe  <brendan@cygnus.com>

	* alpha/alpha.c (output_epilog): Initialize fp_offset to 0, and
	make sure it's nonzero before we try to use it to restore the
	frame pointer.

Fri Apr 14 19:45:05 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* ginclude/va-{clipper,pa,pyr,sparc,spur}.h (va_arg): Reorganize
        to avoid BIND_EXPRs and COND_EXPRs of aggregate type.

Fri Apr 14 19:31:14 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* config/svr4.h (ASM_OUTPUT_SECTION_NAME): Make the section
 	read-only executable "ax" if DECL is a FUNCTION_DECL; read-only
 	"a" (previously the case always) if DECL is TREE_READONLY;
 	otherwise writable "aw".

Fri Apr 14 18:49:11 1995  Linus Torvalds  <Linus.Torvalds@cs.Helsinki.FI>

	* alpha.md (probe_stack): Probe with write, not read.
	(allocate_stack): Update and correct stack probe code.
	* alpha.c (output_prolog): Changed stack probe at function entry.

Fri Apr 14 18:42:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* jump.c (delete_insn): When deleting after label, delete
	a BARRIER as well.

Fri Apr 14 14:40:48 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* toplev.c (compile_file): Call weak_finish.

	* c-common.c (enum attrs): Add A_WEAK.
	(init_attributes): Ditto.
	(decl_attributes): Support __attribute__ ((weak)) by
        calling declare_weak.

	* sparc/sunos4.h (HANDLE_PRAGMA_WEAK, WEAK_ASM_OP, SET_ASM_OP):
        Define to support weak symbols with -fgnu-linker.
	* aoutos.h: Ditto.

	* varasm.c (handle_pragma_weak): Add declared weak symbols to
        weak_decls rather than emitting them immediately.
	(declare_weak): Add the indicated declaration to weak_decls.
	(weak_finish): Emit .weak directives for any weak symbols.

	* libgcc2.c: The C++ free-store management functions are weak.

Fri Apr 14 13:00:29 1995  Michael Meissner  (meissner@cygnus.com)

	* rs6000/rs6000.c (output_prolog): For eabi systems, emit main's
	call to __eabi before setting up the minimal TOC used with the
	-mrelocatable support.

	* rs6000/eabi.h (INVOKE__main): Don't define any more,
	output_prolog will emit the call.

Fri Apr 14 09:09:03 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* alpha.c (call_operand): Any reg is valid for NT.
	(output_prologue): Never need GP for Windows/NT.
	Set SYMBOL_REF_FLAG in current function decl.

Thu Apr 13 20:19:30 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* alpha/xm-alpha.h (HAVE_VPRINTF): Define.
	(HAVE_PUTENV): Define.
	(POSIX): Define.

Thu Apr 13 19:57:44 1995  Doug Evans  <dje@cygnus.com>

	* emit-rtl.c (gen_sequence): If the insn has a non-null
	CALL_INSN_FUNCTION_USAGE field, output it as a sequence so the
	latter isn't discarded.

	* c-parse.in: Update expected conflict count.

Thu Apr 13 08:10:20 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* configure.bat: Arg 2 is which machine (i386 or alpha).
	* configure (alpha-*-winnt3*): New configuration.
	* alpha.c: Don't #include stamp.h for WINNT.
	(input_operand, case CONST): Allow ptr_mode and DImode.
	* alpha.h (WINDOWS_NT): Provide default definition.
	(ASM_OUTPUT_INT): Use output_addr_const.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Use .long for NT.
	* alpha.md (calll, tablejump, movsi): New variants for NT.
	* alpha/winnt.h, alpha/xm-winnt.h, alpha/x-winnt: New files.
	* alpha/config-nt.bat, alpha/config-nt.sed: New files.
	* i386/config-nt.bat: Add Ada fragments to Makefile.
	* i386/config-nt.sed: Adjust for deletion of config.run in Makefile.in
	Change version to 2.6.3.
	Add some missing tabs.
	* winnt/winnt.h (TARGET_MEM_FUNCTIONS): Define.
	(LINK_SPEC): Delete "align:0x1000".
	* winnt/xm-winnt.h (OBJECT_SUFFIX): Define.
	* ginclude/stdarg.h, ginclude/varargs.h: Clean up code that
	defines *DEFINED* symbols.

	* configure (a29k-*-sym1*): Same as a29k-*-bsd*.
	* a29k.h (ASM_OUTPUT_SECTION_NAME): New macro.

Wed Apr 12 14:36:03 1995  Jim Wilson  <wilson@cygnus.com>

	* dbxout.c (dbxout_type_fields): Correct arguments to CHARS macro
	in flag_minimal_debug case.
	(dbxout_symbol_name): Use DECL_ASSEMBLER_NAME unconditionally.
	* sdbout.c (sdbout_record_type_name): Correct indentation.
	(sdbout_symbol): Use DECL_ASSEMBLER_NAME unconditionally.
	(sdbout_one_type): Likewise.

Tue Apr 11 13:24:13 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* fix-header.c (main):  Fix loop over required_functions_list.
	(fatal):  Also print inc_filename.

	* cpplib.c (cpp_push_buffer):  Added missing initializatuon of buf.
	(cpp_file_buffer):  Compare against CPP_NULL_BUFFER, not NULL.
	(finclude):  No longer call cpp_push_buffer - let callers do it.
	(do_include):  Add call to cpp_push_buffer.
	(push_parse_file):  Call cpp_push_buffer early, so initial
	defines can use file and line from a valid cpp_buffer.
	(nreverse_pending):  New function.
	(push_parse_file):  Use nreverse_pending.
	(push_parse_file):  For -include files, just push them in reverse
	order - we don't need to scan them now.
	(cpp_error_from_errno, cpp_perror_with_name):  Don't emit extra '\n'.

Tue Apr 11 13:36:44 1995  Jim Wilson  <wilson@cygnus.com>

	* configure (mips-dec-mach3): Add.

	* sh.c (shiftby_operand): Delete.
	* sh.h (TARGET_SWITCHES): -m3 and -m3l also set SH2_BIT.
	(OVERRIDE_OPTIONS): Don't add CPU_SH2 to CPU_SH3 when TARGET_SH3.
	* sh.md (ashlsi3): Use nonmemory_operand as a predicate instead of
	shiftby_operand.  Don't use shiftby_operand in the output statement.
	(lshrsi3): Likewise.

	* c-decl.c (poplevel): Do output inline function if
	DECL_ABSTRACT_ORIGIN points to itself.

	* varasm.c (output_constant): Cast assemble_string argument to char *.

Mon Apr 10 14:29:28 1995  Torbjorn Granlund  <tege@adder.cygnus.com>

	* recog.c (constrain_operands, case 'E'): Make this work like
	constraint character `F' when REAL_ARITHMETIC is defined.
	* regclass.c (record_reg_classes, case 'E'): Likewise.
	* reload.c (find_reloads, case 'E'): Likewise.

Mon Apr 10 14:30:31 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/aix3newas.h, rs6000/aix41.h: Eliminate March 11th changes
	to undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}, since this causes the
	compiler not to bootstrap.

Mon Apr 10 07:17:39 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cppalloc.c: #include config.h.
	* cppexp.c: Add declarations of xmalloc and xrealloc.
	(cpp_parse_expr): Cast args to bcopy to char *.
	* cpphash.c: Add declaration of xmalloc.
	* cpplib.c (init_parse_options, cpp_reader): Cast args to bcopy,
	bcmp, and bzero to char *.
	(add_import, push_parse_file, init_parse_file): Likewise.

	* c-common.c (enum attrs): New attribute, A_NOCOMMON.
	(init_attribute): Initialize it.
	(decl_attributes): Implement it.
	* varasm.c (make_decl_rtl): Allow section attribute if -fno-common
	or variable is not to be placed in common for some other reason.

	* combine.c (simplify_set): Don't move a SUBREG to dest if it
	is changing the size of a hard reg in CLASS_CANNOT_CHANGE_SIZE.

	* reload.c (find_equiv_reg): If goal is a pseudo that got memory,
	a store into memory makes it invalid.
	* reload1.c (reload_as_needed): Call forget_old_reloads_1 on
	pattern before reg elimination.

Mon Apr 10 00:26:14 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* pa.c (pa_reorg): Bump label use count for each entry in an
	exploded ADDR_VEC.

Sun Apr  9 09:22:51 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* i386.md (adddi3, subdi3): Need scratch reg whenever operand 0 in
	mem and operands 1 not '0'.
	(subdi3): Don't treat two non-equal MEMs as non-aliasing.

Sat Apr  8 22:53:38 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* pa.c (pa_reorg): Fix typo.

Sat Apr  8 19:36:36 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/rs6000.h (SELECT_SECTION): TREE_CODE_CLASS must be called
	with a tree code, not a tree value.

Sat Apr  8 12:41:01 1995  Mike Stump  <mrs@cygnus.com>

	* cpphash.c: Don't use const on compilers that don't support it.

Sat Apr  8 16:32:22 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* expr.c (expand_increment): Handle case where INCREMENTED
	has a non-trivial conversion.

Fri Apr  7 19:33:21 1995  Phil Nelson  (phil@cs.wwu.edu)

	* ns32k.h (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE):
	Fix assembler syntax errors.

Fri Apr  7 19:27:23 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* cccp.c (VMS_fstat, VMS_stat):  New functions.

Fri Apr  7 19:25:21 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (collect_expansion): If traditional, set stringify
	member to SHARP_TOKEN regardless of the value of
	stringify_sharp_token_type.

Fri Apr  7 07:48:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cse.c (simplify_unary_operation): #ifdef POINTERS_EXTEND_UNSIGNED,
	handle sign- or zero-extending addresses.

	* optabs.c (init{,_integral,_floating,_complex}_libfuncs):
	Change SUFFIX to "char" to avoid confusion with prototype.

	* explow.c (convert_memory_address): No longer static.
	New arg, TO_MODE.
	Do something special for SYMBOL_REF, LABEL_REF, and CONST.
	(memory_address): Add extra arg to call to convert_memory_address.
	* rtl.h (convert_memory_address): Add extra arg.
	* expr.c (expand_expr, case ADDR_EXPR): Always call
	convert_memory_address when converting; add extra arg.
	* stmt.c (expand_computed_goto): Convert from ptr_mode to Pmode.

	* gcc.c (OBJECT_SUFFIX): Default now ".o", not "o".
	(all specs): Remove "." before %O; use %O in a few missing cases.
	* i386/os2.h (OBJECT_SUFFIX): Delete from here.
	* i386/xm-os2.h (OBJECT_SUFFIX): Move to here; now has period.

	* Makefile.in (STAGESTUFF): Use $(exeext) for executables.

Fri Apr  7 03:32:29 1995  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* config.sub: Accept -lites* as op sys.

Thu Apr  6 23:08:50 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* cpplib.c (bcopy, bzero, bcmp):  Remove #undefs.
	* cppalloc.c (xcalloc):  Re-implement using calloc,
	rather than malloc+bzero.
	* cpplib.c (SELF_DIR_DUMMY):  New macro.
	(do_include):  Don't pass searchptr to finclude if it is dsp,
	since that is on the stack, and would cause a dangling pointer.
	If handling #include_next, recognize SELF_DIR_DUMMY.

Fri Apr  7 00:54:24 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>

	* pa.h (MACHINE_DEPENDENT_REORG): Define.
	* pa.md (switch_jump): New pattern for jumps which implement
	a switch table.
	* pa.c (pa_reorg): New function to explode jump tables.
	(pa_adjust_insn_length): Account for jumps in switch tables with
	unfilled delay slots.

Thu Apr  6 14:31:10 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* c-typeck.c (build_binary_op): Don't call common_type for
        uncommon pointer types.

Wed Apr  5 13:53:17 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	Re-write fixproto/fix-header/etc to use cpplib:
	* fix-header.c:  Comment out support for adding missing extern "C"
	using #ifdef ADD_MISSING_EXTERN_C instead of #if 0.
	* fixproto:  Removed case of required functions.   Instead use ...
	* fix-header.c (std_include_table):  ... new required-functions table.
	(cpp_file_line_for_message, cpp_print_containing_files, cpp_message):
	New stub functions, to intercept cpplib error message.
	* fixproto:  Don't call $CPP, since fix-header now incorporates cpplib.
	* gen-protos.c (fatal, hashf):  New functions.
	(main):  Use hashf, instead of hash.
	* scan-decls.c (scan_decls, skip_to_closing_brace):  Re-write to
	take a cpp_reader* as argument, not a FILE*.
	* scan.h (hash):  Make parameter const.
	* scan.c (hash):  Removed.
	* scan.c (memory_full, xmalloc, xrealloc):  Removed.
	Use functions from cppalloc.c instead.
	* Makefile.in (gen-prtos, fix-header, stmp-fixproto):  Update.

Wed Apr  5 13:24:14 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* cpplib.c (cpp_get_token): If traditional, return after comment,
	instead of reading more, so end-of-line can be peeked at.
	* cpperror.c (cpp_file_line_for_message, cpp_message):  New
	functions, that do the actual printing of error messages.
	(cpp_print_file_and_line, cpp_error, cpp_warning, cpp_pedwarn,
	cpp_error_with_line, cpp_warning_with_line, cpp_pedwarn_with_line,
	cpp_pedwarn_with_file_and_line, cpp_error_from_errno, my_strerror,
	cpp_perror_with_name):  Re-write to use cpp_file_line_for_message
	and cpp_message, and move to cpplib.c.

Tue Apr  4 23:35:49 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* config/gnu.h (GNU_CPP_PREDEFINES): Remove -D__HURD__.

Tue Apr  4 17:15:54 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>

	* pa.h (DO_GLOBAL_DTORS_BODY): Fix pointer -> integer assignment
	problem.

	* reorg.c (fill_simple_delay_slots): Don't use a JUMP_INSN
	a the target of another JUMP_INSN to fill a delay slot.

Mon Apr  3 19:03:48 1995  Torbjorn Granlund  <tege@adder.cygnus.com>

	* cse.c (simplify_unary_operation): Sign-extend constants when
	they have the most significant bit set for the target.

	* m68k.md (umulsi3_highpart): Test for CONST_INT and CONST_DOUBLE,
	not CONSTANT_P.
	(smulsi3_highpart): Likewise.
	* m68k.c (const_uint32_operand): New function.
	(const_sint32_operand): New function.
	* m68k.md (const_umulsi3_highpart): Use const_uint32_operand instead
	of immediate_operand for op3.  Delete mode.
	(const_smulsi3_highpart): Analogous change.

Mon Apr  3 19:03:48 1995  Jim Wilson  <wilson@cygnus.com>

	* cse.c (simplify_binary_operation): Sign-extend constants when
	they have the most significant bit set for the target.

	* combine.c (force_to_mode, case PLUS): Sign extend masks that are
	negative in OP_MODE.
	(simplify_and_const_int): Sign-extend constants when they have the
	most significant bit set for the target.
	(merge_outer_ops): Likewise.
	(simplify_shift_const): Likewise.

Mon Apr  3 18:23:48 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* toplev.c (lang_options): Add -f{no-,}repo.

Mon Apr  3 18:13:15 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* combine.c (nonzero_bits, case REG): Check POINTERS_EXTEND_UNSIGNED.
	(num_sign_bit_copies, case REG): Likewise.
	* explow.c (convert_memory_address): New function.
	(memory_address): Call if it needed.
	(promote_mode, case POINTER_TYPE): Use Pmode and pointer extension.
	(allocate_dynamic_stack_space): Convert size from ptr_mode.
	* expr.c (clear_storage, expand_assignment, store_{expr,constructor}):
	Use ptr_mode instead of Pmode in some places.
	(expand_expr, expand_builtin): Likewise.
	(push_block, store_expr): Convert size to Pmode.
	(expand_expr, case ADDR_EXPR): Convert from Pmode to ptr_mode.

Mon Apr  3 18:00:52 1995  Jim Wilson  <wilson@cygnus.com>

	* explow.c (allocate_dynamic_stack_space): Correct typo in last
	change.

	* sh.c (gen_shifty_op, case ASHIFTRT): Return 0 if shift count is not
	a constant.

Mon Apr  3 12:17:10 1995  Michael Meissner  (meissner@cygnus.com)

	* expmed.c (extract_bit_field): When converting a SUBREG into a
	REG, if the system is big endian, adjust the bit offset
	appropriately.

Mon Apr  3 00:08:45 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* config/i386/linux.h: Include "config/linux.h" instead of
 	"linux.h", to avoid recursion.

Sun Apr  2 23:50:27 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* config/i386/gnuelf.h: Include i386/linux.h instead of
 	i386/linuxelf.h.

Sun Apr  2 17:35:10 1995  Jim Wilson  <wilson@cygnus.com>

	* cse.c (simplify_relational_operation): Don't simplify A-B for
	compare of A and B when the compare is unsigned.

Sun Apr  2 08:23:38 1995  Paul Eggert  <eggert@twinsun.com>

	* fixincludes (stdio.h): BSDI 2.0 changed the spelling of _VA_LIST_
	to _BSD_VA_LIST_.

Sun Apr  2 07:57:28 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* i386/xm-bsd386.h: New file.
	* configure (i[345]86-*-bsd*): Add xm_file.

	* gcc.c (default_compilers): Pass -W and -w to gnat1.

	* winnt/winnt.h (STDC_VALUE): Add #undef.
	* i386/winnt.h (LIB_SPEC): Likewise.

Sun Apr  2 07:55:25 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* i386/winnt.h (RETURN_POPS_ARGS, ENCODE_SECTION_INFO): Call
	chain_member_purpose, not chain_member_value.
	(ASM_FILE_START, LIB_SPEC): Move to here.
	* winnt/winnt.h (ASM_FILE_START, LIB_SPEC): Delete from here.
	* tree.c (chain_member_purpose): New function.

Sat Apr  1 12:19:14 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* c-typeck.c (build_binary_op): New variable build_type controls
	type given to expression when created.  Set to integer_type_node for
	comparison ops instead of result_type so result_type still holds type
	in which comparison is done.  When checking for comparison between
	signed and unsigned, use result_type rather than (possibly shortened)
	type of op0.  Don't warn about equality comparison of signed operand
	to unsigned constant that fits in signed type.

Sat Apr  1 09:47:02 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* i386/winnt.h (CPP_PREDEFINES): Add definitions for __stdcall
	and __cdecl.
	* winnt/winnt.h (LIB_SPEC): Add OLDNAMES.LIB.
	* winnt/xm-winnt.h: Remove unneeded #define's for non-ANSI functions.
	* fixinc.winnt: Remove unneeded fixes relating to __stdcall.

	* objc/Makefile (SHELL): New definition.

Sat Apr  1 08:25:26 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* cse.c (cse_insn): When emitting a BARRIER, don't put it after
	a deleted insn.

	* reload.c (push_reload): Initialize secondary_{in,out}_icode.

	* gcc.c (print_multilib_info): Don't use LAST_PATH if not set.

Sat Apr  1 08:15:59 1995  Pat Rankin  (rankin@eql.caltech.edu)

	* vax.md (extv, extzv): Don't use immediate value for operand 1.

Sat Apr  1 07:48:29 1995  Yury Shevchuk  (sizif@botik.yaroslavl.su)

	* stmt.c (expand_asm_operands): Properly ignore invalid reg in clobber.

Sat Apr  1 07:02:24 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c: General code cleanup.
	Add prototypes for static functions.
	Remove unnecessary casts to (char *); add casts to (U_CHAR *).
	Add parentheses suggested by `gcc -Wparentheses'.
	Rename local variables as suggested by `gcc -Wshadow'.
	<fcntl.h>, <stdlib.h>, <string.h>, <unistd.h>: New includes.
	<sys/time.h>, <sys/resource.h>: Include only if defined(RLIMIT_STACK).
	<time.h>: Include, unless <sys/time.h> already does.
	(HAVE_FCNTL_H, HAVE_STDLIB_H, HAVE_SYS_TIME_H): New symbols.
	(HAVE_UNISTD_H, STDC_HEADERS, TIME_WITH_SYS_TIME): Likewise.
	(__attribute__, PROTO, VA_START, PRINTF_ALIST, PRINTF_DCL): New macros.
	(PRINTF_PROTO{,_1,_2,_3}, DO_PROTO): Likewise.
	(bcopy, bzero, bcmp): If #defined by configuration file, use that.
	If STDC_HEADERS is defined, use standard C functions.
	If BSTRING is defined, or USG and VMS are not defined, use
	the C library.  Otherwise, use my_bcopy, my_bzero, my_bcmp.
	(localtime): Remove no-longer-necessary explicit declaration.
	(getenv, index, rindex): Don't declare explicitly if the
	appropriate system header should declare it.
	(fdopen): Remove no-longer-used declaration.
	(vprintf): Define a subsitute macro if !defined(HAVE_VPRINTF).
	(main): Replace `fdopen (dup (fileno (stdout)), "w"))'
	with `stdout'.
	(get_lintcmd, rescan, create_definition): Use bcmp instead of strncmp
	when both operands are known to be free of null bytes.
	(check_macro_name, compare_defs, collect_expansion): Likewise.
	(do_assert, compare_token_lists, assertion_lookup, do_line): Likewise.
	(skip_if_group, lookup): Likewise.
	(rescan): Remove unused label `startagain'.
	Abort instead of printing nonsense if the stack is corrupted
	when there was an unterminated successful conditional.
	(pcfinclude): Include explicit double-cast through GENERICPTR
	to identify particularly egregious type puns.
	(create_definition, do_define, check_macro_name): Use %.*s
	printf format to avoid painful copying-and-casting.
	(do_once): Return void, not (unused) int.
	(do_ident, do_pragma, do_sccs): Accept extra arguments so that
	all directive-handler's types match.
	(do_sccs): Define only if SCCS_DIRECTIVE is defined.
	(skip_if_group, dump_single_macro): Add `default: break;' to
	keep -Wswitch happy.
	(error, warning, error_with_line, vwarning_with_line, pedwarn): Use
	stdarg/vararg/vfprintf instead of passing bogus char * args around.
	(pedwarn_with_line, pedwarn_with_file_and_line, fatal):  Likewise.
	(verror, vwarning, verror_with_line, vwarning_with_line): New fcns.
	(dump_single_macro): Abort if ap points to garbage.
	(make_definition, make_undef, make_assertion): Parameter now char *.
	(xmalloc, xrealloc, xcalloc, savestring, index0): Make sizes size_t
	instead of unsigned; make pointer parameters GENERICPTR, not char *.
	(xcalloc): Use bzero to clear memory instead of using own loop.

Fri Mar 31 08:33:07 1995  Ken Raeburn  (raeburn@wombat.gnu.ai.mit.edu)

	* longlong.h (umul_ppmm mc68000): Use %# instead of #.

Fri Mar 31 06:37:54 1995  Michael Meissner  (meissner@cygnus.com)

	* stor-layout.c (layout_decl): Implment -fpack-struct.
	(layout_record): Ditto.

	* flags.h (flag_pack_struct): New flag variable.

	* toplev.c (flag_pack_struct): New flag variable.
	(f_options): Add -fpack-struct support.

	* Makefile.in (stor-layout.o): Add flags.h dependency.

Fri Mar 31 08:40:16 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* configure (i[345]86-*-winnt3*): Add tmake_file.
	* i386/x-winnt (winnt.o): Deleted.
	* i386/t-winnt: New file.

Fri Mar 31 07:26:37 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* m68k/netbsd.h, m68k/hp3bsd44.h: Remove #include of machine/ansi.h.

	* configure (a29k-*-bsd): Set tmake_file to t-libc-ok.

	* stmt.c (expand_asm_operands): Properly handle output that can't
	be directly written into.

	* c-parse.in (structsp): Correct error in last change.
	* c-common.c (init_attributes): A_FORMAT is only for decls.

Thu Mar 30 18:27:34 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* libgcc2.c: Remove explicit 0-initializations of static variables.

Thu Mar 30 18:22:39 1995  Fergus Henderson  <fjh@cs.mu.oz.au>

	* c-typeck.c (internal_build_compound_expr): Warn if LHS of comma
	expression has no side effects, or computes value which is not used.
	* stmt.c (make warn_if_unused_value): No longer static.
	* tree.h (warn_if_unused_value): Add declaration.

Thu Mar 30 18:15:11 1995  Jim Wilson  <wilson@cygnus.com>

	* combine.c (get_last_value): Revert back to use prev_nonnote_insn
	instead of prev_real_insn.  Modify test that ignores USE insns.

	* rs6000.h (SELECT_SECTION): Apply constant DECL_INITIAL test
	only to DECLs.

	* explow.c (allocate_dynamic_stack_space): Test STACK_BOUNDARY against
	BIGGEST_ALIGNMENT at run time instead of at compile time.
	Give MUST_ALIGN macro a value, and test this value in if statements.

Thu Mar 30 08:59:56 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-parse.in: Now have 27 shift/reduce conflicts.
	(attribute_list): Just make chain of all attributes.
	(attrib): Consistently put name as PURPOSE, args, if any, as VALUE.
	(structsp): Allow attributes on any struct or union.
	* c-common.c (enum attrs): New enum class.
	(attrtab, attrtab_idx): New variables.
	(add_attribute, init_attributes): New functions.
	(decl_attributes): Major rewrite.
	* tree.c (valid_machine_attribute): Now receive name and args.

Thu Mar 30 07:20:14 1995  Paul Eggert  <eggert@twinsun.com>

	* protoize.c: Use the phrase `preprocessing directive' consistently.
	* cccp.c (handle_directive, do_line, skip_if_group): Likewise.
	(output_line_directive): Renamed from output_line_command.
	(no_line_directives): Renamed from no_line_commands.

	* cccp.c (rescan): Don't recognize preprocessing directives
	within macro args.  Warn if one is found.

Thu Mar 30 06:20:36 1995  H.J. Lu   (hjl@nynexst.com)

	* configure (i[345]86-*-linux*): Set xmake_file=x-linux,
	tm_file=i386/linux.h, and don't set extra_parts.
	(i[345]86-*-linux*aout*): New configuration.
	(i[345]86-*-linuxelf): Deleted.
	* config/linux{,-aout}.h, config/x-linux, config/xm-linux.h: New files.
	* config/i386/linux-aout.h: New file.
	* config/i386/linux.h: Extensive modifications to use ELF format
	as default.
	(LIB_SPEC): Don't use libc_p.a for -p. don't use libg.a
	unless for -ggdb.
	(LINUX_DEFAULT_ELF): Defined.
	* config/i386/linuxelf.h,config/i386/x-linux: Files deleted.
	* config/i386/xm-linux.h: Just include xm-i386.h and xm-linux.h.

Wed Mar 29 19:09:36 1995  Mike Stump  <mrs@cygnus.com>

	* libgcc2.c (__throw_type_match): Update to use new calling convention.

Wed Mar 29 14:53:23 1995  Jim Wilson  <wilson@cygnus.com>

	* gcc.c (process_command): Delete code modifying gcc_exec_prefix.
	(main): Put it here after last use of gcc_exec_prefix.  For cross
	compiler, set startfile_prefixes if gcc_exec_prefix is set and
	standard_startfile_prefix is a relative path.

	* combine.c (make_compound_operation, AND case): Undo July 7, 1994
	change.

	* mips/mips.md (call_internal1, call_value_internal1): Move %* from
	start of assembler output to immediately before the jal.

	* mips/mips.c (function_prologue): Put SDB_DEBUGGING_INFO ifdef around
	code for SDB_DEBUG support.
	(mips_select_rtx_section, mips_select_section): Change rdata_section
	to READONLY_DATA_SECTION and sdata_section to SMALL_DATA_SECTION.
	* mips/mips.h (SMALL_DATA_SECTION): Define.

	* reorg.c (mark_referenced_resources): Make setjmp use all registers.

	* flow.c (mark_used_regs, case SUBREG): Only fall through to REG case
	if operand is a REG.

	* i960/i960.h (TARGET_SWITCHES): Make -mold-align set
	TARGET_FLAG_STRICT_ALIGN.
	(STRICT_ALIGNMENT): Test TARGET_STRICT_ALIGN.

	* sh/sh.c (andcosts): Modify costs to match the hardware, and add
	explanatory comments.

	* sparc/sol2.h (CPP_PREDEFINES): Add -D__SVR4.

Wed Mar 29 14:30:30 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/rs6000.md (movsf): When moving to/from integer registers,
	don't move floating point to memory if it is being simulated with
	-msoft-float.

Wed Mar 29 06:47:36 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-parse.in (initdcl): Only call decl_attributes once.
	* c-common.c (decl_attributes): Clean up test for __mode__.

Tue Mar 28 08:34:37 1995  John Hassey  (hassey@dg-rtp.dg.com)

	* i386.md (adddi3): Don't treat two non-equal MEMs as non-aliasing.

Tue Mar 28 08:20:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* a29k.h (CONSTANT_ADDRESS_P): Provide consistent definition.

Tue Mar 28 07:26:41 1995  Paul Eggert <eggert@twinsun.com>

	* cccp.c (do_xifdef, do_endif): Remove unnecessary pointer comparisons.

Mon Mar 27 20:45:15 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* calls.c (expand_call, store_one_arg): Don't set KEEP in calls
	to assign_stack_temp.
	* function.c (preserve_temp_slots): Clear ADDR_TAKEN on item
	that we are preserving.

Mon Mar 27 14:39:35 1995  Ian Lance Taylor  <ian@cygnus.com>

	* mips/mips.h (FIRST_PSEUDO_REGISTER): Increment.
	(FIXED_REGISTERS, CALL_USED_REGISTERS): Add new register.
	(MD_REG_LAST): Increment.
	(ST_REG_FIRST, ST_REG_LAST): Increment.
	(HILO_REGNUM): Define.
	(enum reg_class): Add HILO_REG.
	(REG_CLASS_NAMES): Add "HILO_REG".
	(REG_CLASS_CONTENTS): Add HILO_REG initializer, and adjust ST_REGS
	and ALL_REGS initializers.
	(SECONDARY_RELOAD_CLASS): Remove.
	(SECONDARY_INPUT_RELOAD_CLASS): Define.
	(SECONDARY_OUTPUT_RELOAD_CLASS): Define.
	(REGISTER_MOVE_COST): Treat HILO_REG as MD_REGS.
	(REGISTER_NAMES): Add initialization line.
	(DEBUG_REGISTER_NAMES): Add "accum".
	* mips/mips.md: For each instruction which sets HI or LO, clobber
	HILO_REGNUM with (clobber (match_scratch:MODE N "=a")).  Change
	each explicit reference to register 66 to register 67.
	(mulsidi3): Change to define_expand.
	(mulsidi3_internal): New name of old mulsidi3.
	(mulsidi3_64bit): New insn.
	(umulsidi3): Change to define_expand.
	(umulsidi3_internal): New name of old umulsidi3.
	(umulsidi3_64bit): New insn.
	(madddi_64bit, umaddi_64bit): New insns.
	(movdi_internal2): Add case for setting HILO_REG to zero.
	(reload_indi, reload_outdi): New define_expands.
	(movsi_internal1, movsi_internal2): Add cases for setting MD_REGS
	to zero, and for setting a general reg to HILO_REG.
	(reload_outsi): New define_expand.
	* mips/mips.c (mips_reg_names): Add "accum".
	(mips_sw_reg_names): Likewise.
	(mips_regno_to_class): Map HILO_REGNUM to HILO_REG.
	(mips_move_1word): Handle moving HILO_REGNUM to a general
	register.  Make sure that the normal MD_REG cases aren't used for
	HILO_REGNUM.  Handle moving zero to a MD_REG.
	(mips_move_2words): Make sure that the normal MD_REG cases aren't
	used for HILO_REGNUM.  Handle moving zero to a MD_REG.
	(override_options): Set mips_char_to_class for 'a' and 'b'.
	(mips_secondary_reload_class): Add in_p argument.  Handle
	HILO_REGNUM.

Mon Mar 27 07:16:05 1995  Warner Losh  <imp@village.org>

	* gcc.c: Removed __NetBSD__ from conditional.
	Declare strerror if HAVE_STRERROR is defined; otherwise
	declare sys_errlist and sys_nerr.
	(my_strerror): New function.

Fri Mar 24 18:08:14 1995  Jason Merrill  <jason@python.cygnus.com>

	* i386/linux.h (LIB_SPEC): Don't try to link with libraries we
	know only exist in archive form unless -static.

Fri Mar 24 16:12:16 1995  Doug Evans  <dje@cygnus.com>

	* Makefile.in (multilib.h): Depend on Makefile, not config.status.

Fri Mar 24 15:01:17 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/rs6000.h (TARGET_MULTIPLE_SET): New target_flags bit that
	indicates -mmultiple or -mno-multiple was explicitly passed by the
	user, and not set as part of the cpu defaults.
	(TARGET_SWITCHES): Set TARGET_MULTIPLE_SET bit for both -mmultiple
	and -mno-multiple.

	* rs6000/rs6000.c (rs6000_override_options): If -mmultiple or
	-mno-multiple was explicitly used, don't override the setting with
	the processor default.

Wed Mar 22 21:42:13 1995  Doug Evans  <dje@cygnus.com>

	* i960/i960.c (i960_function_arg_advance): Ensure all regs marked
	as used if stack is also used (for va_start).
	(i960_setup_incoming_varargs): Rewrite to be similar to Intel's
	version, but don't allocate reg block unless necessary.
	* ginclude/va-i960.h (varargs va_start): Save g14 explicitly.
	Account for arguments preceding va_alist.

Wed Mar 22 13:24:55 1995  Torbjorn Granlund  <tege@adder.cygnus.com>

	* pa.c (singlemove_string): Handle SFmode constants again.  Simplify.
	(zdepi_cint_p): Make some variables HOST_WIDE_INT.
	(lhs_lshift_cint_operand): Likewise.
	(output_and): Likewise.
	(output_ior): Likewise.

Wed Mar 22 12:40:09 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* sh.md (udivsi3): Don't clobber register 6.
	(udivsi3, divsi3, mulsi3_call): Use a pseudo-reg with regclass 'z'
	for output rather than hard register 0.
	(block_move_real): Don't clobber registers 4 and 5.

	* mips.c (mips_select_section): Apply constant DEC_INITIAL tests
	only to VAR_DECLs.

Wed Mar 22 03:53:17 1995  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* config.sub (rm400, rm600): New machine names.
	(sinix5.*, sinix): New os aliases.
	(mips-siemens): Default os to sysv4.

Mon Mar 20 21:56:47 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	Merged Paul Eggert's patch to cccp.c of Wed Mar  8 18:21:51 1995:
	* cpplib.c (do_include): Fix type typo: pcfbuflimit is char *, not int.

	Merged Doug Evans' patch to cccp.c of Mon Feb 27 17:06:47 1995:
	* cpplib.c (do_include): Check for redundant file before opening in
	relative path case.  Don't call fstat unnecessarily.

	Merged J.T. Conklin's patch to cccp.c of Wed Feb 22 20:29:31 1995:
	* cpperror.c:  Removed __NetBSD__ from conditional.

	Merged Kenner's patch to cccp.c & cexp.y of Tue Sep 20 17:49:47 1994:
	* cppexp.c (struct operation):  Make value by HOST_WIDE_INT.
	(cpp_parse_expr):  Change return type to HOST_WIDE_INT.
	* cpplib (eval_if_expr):  Likewise.
	(do_if, do_elif):  Update appropriately.
	* cpplib.h (cpp_parse_expr):  Removed, to avoid defining HOST_WIDE_INT.

	Merged Paul Eggert's patch to cccp.c of Mon Aug  8 19:42:09 1994:
	* cpplib.c (create_definition): Warn about `#define a@', since a
	diagnostic is now required (see ISO TC1's addition to subclause 6.8).
	Also warn about `#define is-empty(x) (!x)'.

Tue Mar 21 00:10:50 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>

	* x-pa (CC): Add "-Dbsd4_4".

Mon Mar 20 18:40:31 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* toplev.c (print_error_function):  New function hook.
	(default_print_error_function):  New function.  Default value
	of print_error_function.  Code moved here from report_error_function.
	(report_error_function):  Use print_error_function hook.

Mon Mar 20 20:27:43 1995  Doug Evans  <dje@cygnus.com>

	* cccp.c (do_xifdef): Handle c++ comments.
	(do_endif): Likewise.

Mon Mar 20 15:31:45 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* configure (i386 configurations): Prepend i386/ to t-crt*.

Mon Mar 20 07:58:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* stmt.c (fixup_gotos): Add missing call from last change.

	* objc/misc.c: Put Alpha-specific decls before #include of runtime.h.

	* alpha.h (EXTRA_SECTIONS): Write zeros first time in .rdata.

Sat Mar 18 16:37:24 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* flow.c (mark_used_regs, case SUBREG): Set reg_changes_size even
	for integer modes.
	(mark_used_regs): Set reg_changes_size for RHS, if necessary.
	* combine.c (gen_lowpart_for_combine): Set reg_changes_size, if needed.
	* reload.c (push_reload): Reload a SUBREG if paradoxical and
	class is CLASS_CANNOT_CHANGE_SIZE.
	* reload1.c (gen_reload): Handle paradoxical SUBREGs.
	* alpha.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Need GENERAL_REGS
	for paradoxical SUBREG and FLOAT_REGS.
	(SECONDARY_NEEDED_MODE): Use actual mode for 4 bytes or wider.
	* alpha.md (movsi): Allow FP regs and add case for store of FP reg.
	Remove cvtlq from MEM to FP reg case.

	* rtl.h (emit_insns_after): Add declaration.
	* stmt.c (fixup_gotos): Do a cleanup for a block when it is exited
	even if label if not defined yet.

	* function.c (pop_function_context): Fix error in last change;
	reference old value of current_function_decl before we modify it.

Fri Mar 17 21:57:44 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* toplev.c (rest_of_compilation): Handle -Wreturn-type properly
	for inlines we aren't compiling yet.

Fri Mar 17 21:26:48 1995  Mike Stump  <mrs@cygnus.com>

	* libgcc2.c (__register_exceptions): Handle empty tables.

Fri Mar 17 11:48:31 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* i386/winnt.c (winnt_function_prologue): Deleted.
	(gen_stdcall_suffix): New function.

Thu Mar 16 17:36:52 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* svr4.h (LINK_SPEC): If the user did not specify -h name, use the
	output file name, if any.
	* sparc/sol2.h (LINK_SPEC): Ditto.  Also, if the user did not
	specify -R path, add an -R for each -L.

	Move SunOS 4-specific assembler switches into the appropriate place.
	* m68k/sun[23].h (ASM_SPEC): Add %{R} %{j} %{J} %{h} %{d2}
	%{keep-local-as-symbols:-L}.
	* i386/sun.h (ASM_SPEC): Add %{R} %{keep-local-as-symbols:-L}.
	* sparc/sparc.h (ASM_SPEC): Ditto.
	* gcc.c (default_compilers): Remove %{R} %{j} %{J} %{h} %{d2}
	%{keep-local-as-symbols:-L} from assembler rules.

Thu Mar 16 16:58:09 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/eabi-ctors.c: New file, handle C++ static constructors
	and destructors without requiring anything else from a libc.

	* rs6000/t-eabi (LIB2FUNCS_EXTRA): Build eabi-ctors.c.

	* rs6000/eabi.asm: Do not load up register 2 if there is no .got
	section.  Jump to the __do_global_ctors function at the end of
	processing to call C++ static constructors, and it will return to
	__eabi's caller.  Use normal volatile registers, instead of saving
	and restoring registers 30 and 31.

	* rs6000/eabi.h (STARTFILE_SPEC): Define as null.
	(LIB_SPEC): Ditto.
	(ENDFILE_SPEC): Ditto.
	(LIBGCC_SPEC): Always look for libgcc.a.

Thu Mar 16 17:05:14 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* stmt.c (warn_if_unused_value, case SAVE_EXPR): New case.
	(warn_if_unused_value, case NOP_EXPR): OK if CALL_EXPR inside.

	* c-common.c (decl_attributes): Allow alignment for TYPE_DECLs.

	* Makefile.in (xsys-protos.h): Fix typo in -U operand.

Thu Mar 16 13:49:10 1995  Per Bothner  <bothner@rtl.cygnus.com>

	* cpplib.c, cpplib.h:  New files - a C PreProcessor library.
	* cpphash.c, cpphash.h, cppalloc.c, cpperror.c, cppexp.c:
	New files - utility features used by cpplib.
	* cppmain.c:  New file - cpp replacement main program for cpplib.
	* Makefile.in:  New rules to build cppmain.

Thu Mar 16 16:11:05 1995  Douglas Rupp  (drupp@cs.washington.edu)

	* i386/winnt.h (FUNCTION_PROLOGUE, HAVE_probe, gen_probe): Deleted.
	(ENCODE_SECTION_INFO, VALID_MACHINE_DECL_ATTRIBUTE): New macro.

Thu Mar 16 15:58:24 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* combine.c (apply_distributive_law, case SUBREG): Fix typo when
	checking for paradoxical SUBREG.

Wed Mar 15 18:45:08 1995  Doug Evans  <dje@cygnus.com>

	* libgcc1-test.c: Renamed from cross-test.c.
	* Makefile.in (LIBGCC1_TEST): Renamed from CROSS_TEST.
	(all.cross): Delete $(ENQUIRE) dependency.
	(libgcc1-test): Renamed from cross-test.
	Delete unnecessary gcc-cross and $(LIBGCC) dependencies.
	Link with -nostartfiles -nostdlib
	`$(GCC_FOR_TARGET) --print-libgcc-file-name`.
	(libgcc1-test.o): Renamed from cross-test.o.
	Change gcc-cross dependency to xgcc since the latter is used.

Wed Mar 15 13:49:21 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* tree.c (save_tree_status): Now takes a tree 'context' instead of
	a boolean 'toplevel' as an argument.  If 'context' is not
	current_function_decl, create a new obstack for the new function.
	Also save inline_obstacks.
	(restore_tree_status): No longer takes a second argument.  Also
	restore inline_obstacks.
	(temporary_allocation): Clear inline_obstacks.
	(permanent_allocation): Free up the obstacks in inline_obstacks.

	* function.h (struct function): New fields contains_functions and
	inline_obstacks.

	* function.c (push_function_context_to): Now takes a tree
	'context' instead of a boolean 'toplevel' as an argument.
	Also save current_function_contains_functions.
	(push_function_context): Pass current_function_decl to it.
	(pop_function_context_from): Takes 'context' instead of 'toplevel'.
	Set current_function_contains_functions properly.
	(pop_function_context): Pass current_function_decl to it.

Wed Mar 15 14:53:09 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/rs6000.md (abssi2): Turn into a define_expand.  If
	TARGET_POWER, do old code that uses the abs instruction.  If not,
	do abs in three instructions, using a temporary register, which
	enables generating more reasonable code for sne.  Add a recognizer
	for negative of the absolute value.  Add define_splits for the
	PowerPC.
	(sne insn): Add a recognizer for sne on the PowerPc to use two
	instructions, compared to the four generated using the absolute
	value insn.

Tue Mar 14 18:38:40 1995  J.T. Conklin  <jtc@cygnus.com>

	* m68k.md ({add,sub,mul,div}[sdx]f3): Add new patterns for recognizing
	SImode, HImode, and QImode operands.

Mon Mar 13 18:59:36 EST 1995  David Edelsohn  <edelsohn@mhpcc.edu>

	* rs6000.h (CPP_SPEC): Add PPC403.
	(processor_type): Add PPC403.
	(RTX_COSTS): Add PPC403.
	* powerpc.h (CPP_SPEC): Add PPC403.
	* sysv4.h (CPP_SPEC): Add PPC403.
	* rs6000.c (processor_target_table): Add PPC403.
	* rs6000.md (define_attr cpu and function units): Add PPC403.

Mon Mar 13 14:40:23 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/rs6000.md (call, call_value insns): Do not put a nop
	after a bl instruction on System V.4 and eABI.

	* rs6000/sysv.4 (SUBTARGET_SWITCHES): Add support for
	-mno-traceback to suppress the V.4 traceback word.
	(ASM_DECLARE_FUNCTION_NAME): Don't put out a traceback work if
	-mno-traceback.

Mon Mar 13 13:36:37 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* t-svr4, i386/t-{crtpic,sol2}, m88k/t-svr4, sparc/t-sol2:
	Use -fPIC, rather than -fpic, for building crtstuff.

Sat Mar 11 17:27:08 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* configure: Use aix3newas.h for AIX 3.2.4 and 5.
	* rs6000/aix41.h: Undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}.
	* rs6000/aix3newas.h: New file.  Define ASM_SPEC to -u, and
	undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}.

Sat Mar 11 06:42:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* dbxout.c (dbxout_symbol): Properly handle decl whose DECL_NAME
	points to a TYPE_DECL with a zero TYPE_NAME.

Fri Mar 10 18:18:33 1995  Torbjorn Granlund  <tege@cygnus.com>

	* pa.h (PROMOTE_MODE): Define.

Fri Mar 10 14:37:58 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* sdbout.c (sdbout_record_type_name): If TYPE_NAME is
	a TYPE_DECL, get name from DECL_NAME.

Fri Mar 10 14:09:26 1995  Doug Evans  <dje@cygnus.com>

	* arm/riscix.h (SUBTARGET_SWITCHES): Renamed from
	ARM_EXTRA_TARGET_SWITCHES.
	* arm/riscix1-1.h (SUBTARGET_SWITCHES): Likewise.
	* arm.h (SUBTARGET_SWITCHES): Likewise.
	(TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
	(TARGET_SWITCHES): Add -msoft-float, -mhard-float.
	(BYTES_BIG_ENDIAN): Delete #ifndef/#endif.
	(CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable fp regs.
	(FUNCTION_VALUE): R16 is return reg only if !-msoft-float.
	(LIBCALL_VALUE): Likewise.
	* arm.md (all fp patterns): Conditionalize on TARGET_HARD_FLOAT.
	(*movsf_soft_insn, *movdf_soft_insn): New patterns.

Fri Mar 10 13:53:46 1995  Jim Wilson  <wilson@cygnus.com>

	* reorg.c (steal_delay_list_from_target): Exit at the top if the
	branch in SEQ is not a single set.

	* sh.md (movdi define_split, movdf define_split): Correct indentation
	and formatting.  Make the condition fail if an operand is a MEM
	with an auto-inc address.

	* varasm.c (copy_constant): Copy operand of ADDR_EXPR if it is a
	constant.

	* mips/abi64.h (SETUP_INCOMING_VARARGS): Correct arguments to
	move_block_from_reg call.

	* expr.c (expand_assignment): When offset is zero, make new MEM
	before setting MEM_VOLATILE_P.

	* reload.c (find_reloads, case 'o'): Accept a fully reloaded
	auto-increment address.

	* combine.c (max_uid_cuid): New static variable.
	(INSN_CUID): Call abort if INSN is out of range.
	(combine_instructions): Set max_uid_cuid.  Set uid_cuid directly
	instead of through INSN_CUID.
	(get_last_value): Use prev_real_insn instead of prev_nonnote_insn.
	Ignore USE insns generated by combine.

Fri Mar 10 13:47:08 1995  Rod Barman  <rodb@cs.ubc.ca>

	* m68k/fpgnulib.c (__fixdfsi): Catch values < 0.5 in magnitude.

Fri Mar 10 12:02:33 1995  Ian Lance Taylor  <ian@cygnus.com>

	* fixincludes: Fix `typedef struct term;' on hppa1.1-hp-hpux9.

Fri Mar 10 05:50:11 1995  Oliver Kellogg  (Oliver.Kellogg@RST13.DASA.DBMAIL.d400.de)

	* 1750a.c (sectname): Reverse Init and Normal.
	(print_operand_address, case PLUS): Add case for LABEL_REF.
	(print_operand_address, case LABEL_REF): Split from SYMBOL_REF.
	(print_operand_address, case CODE_LABEL): New case.
	(ASM_FILE_END): Delete.
	* 1750a.h (FUNCTION_EPILOGUE): Restore stack before freeing local vars.
	(DEFAULT_SIGNED_CHAR): Now 1.
	(DATA_SECTION_ASM_OP): Use pseudo-op for read-only data (later copied).
	(JUMP_TABLES_IN_TEXT_SECTION): Define.
	(ASM_OUTPUT_ASCII): Split into multiple lines if long.
	(ASM_OUTPUT_{CHAR,SHORT,INT,LONG_INT}): Split up.
	(ASM_OUTPUT_COMMON): Call check_section.

Thu Mar  9 12:46:53 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000.md (movsf): Do not call truncdfsf2 for non PowerPC
	when expanding a store to memory and -msoft-float was used.

Thu Mar  9 08:51:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* c-decl.c (start_function): Handle new parameter ATTRIBUTES.
	* c-tree.h (start_function): Add new parameter.
	* c-lang.c (finish_file): Pass new parm to start_function.
	* objc-act.c (build_module_descriptor, really_start_method): Likewise.
	* c-parse.in (fndef, nested_function): Pass prefix_attributes
	to start_function.
	(setspecs): Save prefix_attributes in declspec_stack.
	(decl rules): Restore prefix_attributes along with current_declspecs.
	(setattrs): Concatenate prefix_attributes to previous value.
	* c-common.c (decl_attributes): Handle prefix and suffix attributes
	the same way.

	* print-tree.c (print_node): Fix typo in printing large INTEGER_CST.

	* varasm.c (assemble_variable): Consistently use DECL_SIZE for
	everything.

	* c-typeck.c (convert_for_assignment): Fix typo in testing for
	pointer to function type.

	* varasm.c (record_constant_1): Handle NON_LVALUE_EXPR.
	Rewrite to use switch instead of if/then/elseif/else.

Wed Mar  8 18:21:51 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (do_include): Fix type typo: pcfbuflimit is char *, not int.

Wed Mar  8 17:30:29 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* fold-const.c (force_fit_type): Always propagate OVERFLOW.

	* rtl.def (INLINE_HEADER): Add new "e" field.
	* rtl.h (FORCED_LABELS): New field; other fields adjusted.
	(gen_inline_header_rtx): New parm FORCED_LABELS.
	* emit-rtl.c (gen_inline_header): Add new parm FORCED_LABELS.
	* integrate.c (initialize_for_inline, output_inline_function):
	Handle FORCED_LABELS.

Wed Mar  8 13:47:20 1995  Jason Merrill  (jason@cygnus.com)

	* alpha.h (WORD_SWITCH_TAKES_ARG): Add -rpath.
	(LINK_SPEC): Pass through -taso and -rpath.
	* alpha/osf12.h (LINK_SPEC): Ditto.

Wed Mar  8 09:59:56 1995  Michael Meissner  <meissner@cygnus.com>

	* rs6000/eabi.asm: Rewrite so that the initialized pointers go
	into the .got2 section, which allows eabi.asm to be assembled with
	the -mrelocatable option.  Move the data picked up from the bl
	instruction to before the traceback tag.

	* rs6000/sysv4.h (CPP_SPEC): Define _RELOCATABLE if -mrelocatable
	switch is used.

	* libgcc2.c (__new_handler): Don't initialize the pointer variable
	with the address of __default_new_handler, which may not work in
	some shared library mechanisms.
	(__builtin_new): If __new_handler is NULL, call the function
	__default_new_handler.

Tue Mar  7 17:34:59 1995  Ian Lance Taylor  <ian@cygnus.com>

	* i960.h (PROCESS_PRAGMA): Define.
	(ROUND_TYPE_ALIGN): Pass maximum of COMPUTED and SPECIFIED to
	i960_round_align.
	(ROUND_TYPE_SIZE): Delete.
	* i960.c (process_pragma): Uncomment, and rewrite for gcc 2.
	(i960_round_size): Delete.
	(i960_round_align): Don't adjust suggested alignment downward.
	Restrict alignment to value set by #pragma align.

Tue Mar  7 12:14:46 1995  Doug Evans  <dje@cygnus.com>

	* configure (sparc64-*-elf): Add crtbegin.o, crtend.o to extra_parts.
	* sparc/sp64-elf.h (TARGET_VERSION): Define.
	(CPP_PREDEFINES): Delete sun, sparc, unix.  Delete OS assertions.
	(ASM_SPEC): Define.
	(LINK_SPEC): Delete solaris stuff, this is an embedded target.
	(STARTFILE_SPEC, ENDFILE_SPEC): Define.

Mon Mar  6 17:54:01 1995  Doug Evans  <dje@cygnus.com>

	* Makefile.in (install-common): Fix typo in installation of cpp.
	Likewise with gcc-cross.

Mon Mar  6 02:29:05 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>

	* pa.md (movsicc): New expander.

Fri Mar  3 13:34:20 1995  Michael Meissner  (meissner@cygnus.com)

	* rs6000/sysv4.h (ASM_SPEC): If -mrelocatable was passed to
	compiler, pass it on to the assembler.

Fri Mar  3 12:11:28 1995  Ian Lance Taylor  <ian@cygnus.com>

	* fixincludes: Add fixes for VxWorks header files.
	* ginclude/stddef.h: If VxWorks typedef macros are defined, invoke
	them as appropriate.

Fri Mar  3 05:48:54 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (dump_single_macro): Fix typo: % wasn't properly
	doubled in printf formats.

Thu Mar  2 19:44:02 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* expr.c (expand_expr, CLEANUP_POINT_EXPR): Force the operand out
	of memory before running cleanups.

Thu Mar  2 19:15:24 1995  Paul Eggert  <eggert@twinsun.com>

	* cccp.c (rescan): Prevent accidental token-pasting to
	get !=, *=, /=, ==, or ^=.

Thu Mar  2 15:37:13 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* c-typeck.c (build_binary_op): Avoid spurious warning
	comparing enumerator to unsigned variable.

Thu Mar  2 18:18:38 1995  J.T. Conklin  <jtc@netbsd.org>

	* m68k.md (sqrtsf2,sqrtdf2): Use fp precision specifiers.

Thu Mar  2 18:09:01 1995  Stephen L Moshier  (moshier@world.std.com)

	* c-lex.c (yylex, case !NOT_FLOAT): Remove previous change.

Thu Mar  2 15:26:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)

	* Makefile.in (bootstrap*): Pass new STAGE_PREFIX to recursive makes.

Wed Mar  1 14:52:16 1995  Ian Lance Taylor  <ian@cygnus.com>

	* i960/i960-coff.h (ASM_FILE_START): Define.
	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Define.
	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Define.
	(INT_ASM_OP): Define.
	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
	* i960/vx960-coff.h (CPP_PREDEFINES): Define.
	(CPP_SPEC): Define.
	(CC1_SPEC): Default to -mca.

Wed Mar  1 11:10:54 1995  Michael Meissner  (meissner@cygnus.com)

	* rs6000/rs6000.c (output_prologue): Do not emit the word that
	gives the PC relative location to the local GOT table for the
	-mrelocatable option here.
	* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Emit it here.

	* t-eabi (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build -msoft-float
	and -mrelocatable versions of the library.

	* rs6000/powerpc.h (CPP_PREDEFINES): Define the cpu and machine as
	powerpc, not rs6000.

	* libgcc2.c (_unwind_function): Clone for powerpc, using the
	PowerPC mnemonics.

	* rs6000/rs6000.md (uminsi3, umaxsi3): Silence warnings that
	-2147483648 is too large to fit in a signed integer on 32-bit
	hosts.

Wed Mar  1 06:48:31 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* fold-const.c (decode_field_reference): Don't check TREE_CODE
	of EXP; let get_inner_reference decide if have reference.
	Allow no bit reference if have AND_MASK.
	(all_ones_mask_p): Use tree_int_cst_equal, not operand_equal_p.
	(unextend): New function.
	(fold_truthop): For constant cases, use new function, rework
	conversion, and warn if comparison can never be true.

	* expr.c (store_expr): Do conversion in two steps for promoted lhs.

See ChangeLog.9 for earlier changes.