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

# CodePage 20127

#
# The constants are build in the following order:
# <part>_<type>_<txtidentifier>
#
# <part> is the part of the compiler the message is used
#   asmr_     assembler parsing
#   asmw_     assembler writing/binary writers
#   unit_     unit handling
#   option_   command line parameter parsing
#   scan_     scanner
#   parser_   parser
#   type_     type checking
#   general_  general info
#   exec_     calls to assembler, external linker, binder
#   link_     internal linker
#   package_  package handling
#
# <type> the type of the message it should normally used for
#   f_   fatal error
#   e_   error
#   w_   warning
#   n_   note
#   h_   hint
#   i_   info
#   l_   add linenumber
#   u_   used
#   t_   tried
#   c_   conditional
#   d_   debug message
#   x_   executable informations
#   o_   normal (e.g., "press enter to continue")
#
# <type> can contain a minus sign at the beginning to mark that
# the message is off by default. Look at type_w_explicit_string_cast
# for example.

#
# General
#
# 01027 is the last used one
#
# BeginOfTeX
% \section{General compiler messages}
% This section gives the compiler messages which are not fatal, but which
% display useful information. The number of such messages can be
% controlled with the various verbosity level \var{-v} switches.
% \begin{description}
general_t_compilername=01000_T_Compiler: $1
% When the \var{-vt} switch is used, this line tells you what compiler
% is used.
general_d_sourceos=01001_D_Compiler OS: $1
% When the \var{-vd} switch is used, this line tells you what the source
% operating system is.
general_i_targetos=01002_I_Target OS: $1
% When the \var{-vd} switch is used, this line tells you what the target
% operating system is.
general_t_exepath=01003_T_Using executable path: $1
% When the \var{-vt} switch is used, this line tells you where the compiler
% looks for its binaries.
general_t_unitpath=01004_T_Using unit path: $1
% When the \var{-vt} switch is used, this line tells you where the compiler
% looks for compiled units. You can set this path with the \var{-Fu} option.
general_t_includepath=01005_T_Using include path: $1
% When the \var{-vt} switch is used, this line tells you where the compiler
% looks for its include files (files used in \var{\{\$I xxx\}} statements).
% You can set this path with the \var{-Fi} option.
general_t_librarypath=01006_T_Using library path: $1
% When the \var{-vt} switch is used, this line tells you where the compiler
% looks for the libraries. You can set this path with the \var{-Fl} option.
general_t_objectpath=01007_T_Using object path: $1
% When the \var{-vt} switch is used, this line tells you where the compiler
% looks for object files you link in (files used in \var{\{\$L xxx\}} statements).
% You can set this path with the \var{-Fo} option.
general_i_abslines_compiled=01008_I_$1 lines compiled, $2 sec$3
% When the \var{-vi} switch is used, the compiler reports the number
% of lines compiled, and the time it took to compile them (real time,
% not program time).
general_f_no_memory_left=01009_F_No memory left
% The compiler doesn't have enough memory to compile your program. There are
% several remedies for this:
% \begin{itemize}
% \item If you're using the build option of the compiler, try compiling the
% different units manually.
% \item If you're compiling a huge program, split it up into units, and compile
% these separately.
% \item If the previous two don't work, recompile the compiler with a bigger
% heap. (You can use the \var{-Ch} option for this, \seeo{Ch}.)
% \end{itemize}
general_i_writingresourcefile=01010_I_Writing Resource String Table file: $1
% This message is shown when the compiler writes the Resource String Table
% file containing all the resource strings for a program.
general_e_errorwritingresourcefile=01011_E_Writing Resource String Table file: $1
% This message is shown when the compiler encounters an error when writing
% the Resource String Table file.
general_i_fatal=01012_I_Fatal:
% Prefix for Fatal Errors.
general_i_error=01013_I_Error:
% Prefix for Errors.
general_i_warning=01014_I_Warning:
% Prefix for Warnings.
general_i_note=01015_I_Note:
% Prefix for Notes.
general_i_hint=01016_I_Hint:
% Prefix for Hints.
general_e_path_does_not_exist=01017_E_Path "$1" does not exist
% The specified path does not exist.
general_f_compilation_aborted=01018_F_Compilation aborted
% Compilation was aborted.
general_text_bytes_code=01019_bytes code
% The size of the generated executable code, in bytes.
general_text_bytes_data=01020_bytes data
% The size of the generated program data, in bytes.
general_i_number_of_warnings=01021_I_$1 warning(s) issued
% Total number of warnings issued during compilation.
general_i_number_of_hints=01022_I_$1 hint(s) issued
% Total number of hints issued during compilation.
general_i_number_of_notes=01023_I_$1 note(s) issued
% Total number of notes issued during compilation.
general_f_ioerror=01024_F_I/O error: $1
% During compilation an I/O error happened which allows no further compilation.
general_f_oserror=01025_F_Operating system error: $1
% During compilation an operating system error happened which allows no further compilation.
general_e_exception_raised=01026_E_Compilation raised exception internally
% Compilation was aborted, due to an exception generation.
general_t_unitscope=01027_T_Using unit scope: $1
% When the \var{-vt} switch is used, this line tells you what unit scopes (namespaces)
% the compiler is using when looking up units. You can add a unit scope with the
% \var{-FN} option.
% \end{description}
#
# Scanner
#
# 02105 is the last used one
#
% \section{Scanner messages.}
% This section lists the messages that the scanner emits. The scanner takes
% care of the lexical structure of the pascal file, i.e. it tries to find
% reserved words, strings, etc. It also takes care of directives and
% conditional compilation handling.
% \begin{description}
scan_f_end_of_file=02000_F_Unexpected end of file
% This typically happens in one of the following cases:
% \begin{itemize}
% \item The source file ends before the final \var{end.} statement. This
% happens mostly when the \var{begin} and \var{end} statements are not
% balanced;
% \item An include file ends in the middle of a statement.
% \item A comment was not closed.
% \end{itemize}
scan_f_string_exceeds_line=02001_F_String exceeds line
% There is a missing closing ' in a string, so it occupies
% multiple lines.
scan_f_illegal_char=02002_F_Illegal character "$1" ($2)
% An illegal character was encountered in the input file.
scan_f_syn_expected=02003_F_Syntax error, "$1" expected but "$2" found
% This indicates that the compiler expected a different token than
% the one you typed. It can occur almost anywhere it is possible to make an error
% against the Pascal language.
scan_t_start_include_file=02004_TL_Start reading includefile $1
% When you provide the \var{-vt} switch, the compiler tells you
% when it starts reading an included file.
scan_w_comment_level=02005_W_Comment level $1 found
% When the \var{-vw} switch is used, then the compiler warns you if
% it finds nested comments. Nested comments are not allowed in Turbo Pascal
% and Delphi, and can be a possible source of errors.
scan_n_ignored_switch=02008_N_Ignored compiler switch "$1"
% With \var{-vn} on, the compiler warns if it ignores a switch.
scan_w_illegal_switch=02009_W_Illegal compiler switch "$1"
% You included a compiler switch (i.e. \var{\{\$... \}}) which the compiler
% does not recognise.
scan_w_switch_is_global=02010_W_Misplaced global compiler switch, ignored
% The compiler switch is misplaced. It must be located at
% the start of the compilation unit, before the uses clause or any declaration.
scan_e_illegal_char_const=02011_E_Illegal char constant
% This happens when you specify a character with its ASCII code, as in
% \var{\#96}, but the number is either illegal, or out of range.
scan_f_cannot_open_input=02012_F_Cannot open file "$1"
% \fpc cannot find the program or unit source file you specified on the
% command line.
scan_f_cannot_open_includefile=02013_F_Cannot open include file "$1"
% \fpc cannot find the source file you specified in a \var{\{\$include ..\}}
% statement.
scan_e_illegal_pack_records=02015_E_Illegal record alignment specifier "$1"
% You are specifying \var{\{\$PACKRECORDS n\} } or \var{\{\$ALIGN n\} }
% with an illegal value for \var{n}. For \$PACKRECORDS valid alignments are 1, 2, 4, 8, 16, 32, C,
% NORMAL, DEFAULT, and for \$ALIGN valid alignments are 1, 2, 4, 8, 16, 32, ON,
% OFF. Under mode MacPas \$ALIGN also supports MAC68K, POWER and RESET.
scan_e_illegal_pack_enum=02016_E_Illegal enum minimum-size specifier "$1"
% You are specifying the \var{\{\$PACKENUM n\}} with an illegal value for
% \var{n}. Only 1,2,4, NORMAL or DEFAULT is valid here.
scan_e_endif_expected=02017_E_$ENDIF expected for $1 $2 defined in $3 line $4
% Your conditional compilation statements are unbalanced.
scan_e_preproc_syntax_error=02018_E_Syntax error while parsing a conditional compiling expression
% There is an error in the expression following the \var{\{\$if ..\}}, \var{\{\$ifc \}}
% or \var{\{\$setc \}} compiler directives.
scan_e_error_in_preproc_expr=02019_E_Evaluating a conditional compiling expression
% There is an error in the expression following the \var{\{\$if ..\}}, $ifc or $setc compiler
% directives.
scan_w_macro_cut_after_255_chars=02020_W_Macro contents are limited to 255 characters in length
% The contents of macros cannot be longer than 255 characters.
scan_e_endif_without_if=02021_E_ENDIF without IF(N)DEF
% Your \var{\{\$IFDEF ..\}} and {\{\$ENDIF\}} statements are not balanced.
scan_f_user_defined=02022_F_User defined: $1
% A user defined fatal error occurred. See also the \progref.
scan_e_user_defined=02023_E_User defined: $1
% A user defined error occurred. See also the \progref.
scan_w_user_defined=02024_W_User defined: $1
% A user defined warning occurred. See also the \progref.
scan_n_user_defined=02025_N_User defined: $1
% A user defined note was encountered. See also the \progref.
scan_h_user_defined=02026_H_User defined: $1
% A user defined hint was encountered. See also the \progref.
scan_i_user_defined=02027_I_User defined: $1
% User defined information was encountered. See also the \progref.
scan_e_keyword_cant_be_a_macro=02028_E_Keyword redefined as macro has no effect
% You cannot redefine keywords with macros.
scan_f_macro_buffer_overflow=02029_F_Macro buffer overflow while reading or expanding a macro
% Your macro or its result was too long for the compiler.
scan_w_macro_too_deep=02030_W_Expanding of macros exceeds a depth of 16.
% When expanding a macro, macros have been nested to a level of 16.
% The compiler will expand no further, since this may be a sign that
% recursion is used.
scan_w_wrong_styled_switch=02031_W_Compiler switches are not supported in // styled comments
% Compiler switches should be in normal Pascal style comments.
scan_d_handling_switch=02032_DL_Handling switch "$1"
% When you set debugging info on (\var{-vd}) the compiler tells you when it
% is evaluating conditional compile statements.
scan_c_endif_found=02033_CL_ENDIF $1 found
% When you turn on conditional messages (\var{-vc}), the compiler tells you
% where it encounters conditional statements.
scan_c_ifdef_found=02034_CL_IFDEF $1 found, $2
% When you turn on conditional messages (\var{-vc}), the compiler tells you
% where it encounters conditional statements.
scan_c_ifopt_found=02035_CL_IFOPT $1 found, $2
% When you turn on conditional messages (\var{-vc}), the compiler tells you
% where it encounters conditional statements.
scan_c_if_found=02036_CL_IF $1 found, $2
% When you turn on conditional messages (\var{-vc}), the compiler tells you
% where it encounters conditional statements.
scan_c_ifndef_found=02037_CL_IFNDEF $1 found, $2
% When you turn on conditional messages (\var{-vc}), the compiler tells you
% where it encounters conditional statements.
scan_c_else_found=02038_CL_ELSE $1 found, $2
% When you turn on conditional messages (\var{-vc}), the compiler tells you
% where it encounters conditional statements.
scan_c_skipping_until=02039_CL_Skipping until...
% When you turn on conditional messages (\var{-vc}), the compiler tells you
% where it encounters conditional statements, and whether it is skipping or
% compiling parts.
scan_i_press_enter=02040_I_Press <return> to continue
% When the \var{-vi} switch is used, the compiler stops compilation
% and waits for the \var{Enter} key to be pressed when it encounters
% a \var{\{\$STOP\}} directive.
scan_w_unsupported_switch=02041_W_Unsupported switch "$1"
% When warnings are turned on (\var{-vw}), the compiler warns you about
% unsupported switches. This means that the switch is used in Delphi or
% Turbo Pascal, but not in \fpc.
scan_w_illegal_directive=02042_W_Illegal compiler directive "$1"
% When warnings are turned on (\var{-vw}), the compiler warns you about
% unrecognised switches. For a list of recognised switches, see the \progref.
scan_t_back_in=02043_TL_Back in $1
% When you use the \var{-vt} switch, the compiler tells you when it has finished
% reading an include file.
scan_w_unsupported_app_type=02044_W_Unsupported application type: "$1"
% You get this warning if you specify an unknown application type
% with the directive \var{\{\$APPTYPE\}}.
scan_w_app_type_not_support=02045_W_APPTYPE is not supported by the target OS
% The \var{\{\$APPTYPE\}} directive is supported by certain operating systems only.
scan_w_description_not_support=02046_W_DESCRIPTION is not supported by the target OS
% The \var{\{\$DESCRIPTION\}} directive is not supported on this target OS.
scan_n_version_not_support=02047_N_VERSION is not supported by target OS
% The \var{\{\$VERSION\}} directive is not supported on this target OS.
scan_n_only_exe_version=02048_N_VERSION only for exes or DLLs
% The \var{\{\$VERSION\}} directive is only used for executable or DLL sources.
scan_w_wrong_version_ignored=02049_W_Wrong format for VERSION directive "$1"
% The \var{\{\$VERSION\}} directive format is majorversion.minorversion
% where majorversion and minorversion are words.
scan_e_illegal_asmmode_specifier=02050_E_Illegal assembler style specified "$1"
% When you specify an assembler mode with the \var{\{\$ASMMODE xxx\}} directive,
% the compiler didn't recognize the mode you specified.
scan_w_no_asm_reader_switch_inside_asm=02051_W_ASM reader switch is not possible inside asm statement, "$1" will be effective only for next
% It is not possible to switch from one assembler reader to another
% inside an assembler block. The new reader will be used for next
% assembler statements only.
scan_e_wrong_switch_toggle=02052_E_Wrong switch toggle, use ON/OFF or +/-
% You need to use ON or OFF or a + or - to toggle the switch.
scan_e_resourcefiles_not_supported=02053_E_Resource files are not supported for this target
% The target you are compiling for doesn't support resource files.
scan_w_include_env_not_found=02054_W_Include environment "$1" not found in environment
% The included environment variable cannot be found in the environment; it will
% be replaced by an empty string instead.
scan_e_invalid_maxfpureg_value=02055_E_Illegal value for FPU register limit
% Valid values for this directive are 0..8 and NORMAL/DEFAULT.
scan_w_only_one_resourcefile_supported=02056_W_Only one resource file is supported for this target
% The target you are compiling for supports only one resource file.
% The first resource file found is used, the others are discarded.
scan_w_macro_support_turned_off=02057_W_Macro support has been turned off
% A macro declaration has been found, but macro support is currently off,
% so the declaration will be ignored. To turn macro support on compile with
% -Sm on the command line or add \{\$MACRO ON\} in the source.
scan_e_invalid_interface_type=02058_E_Illegal interface type specified. Valids are COM, CORBA or DEFAULT.
% The interface type that was specified is not supported.
scan_w_appid_not_support=02059_W_APPID is only supported for PalmOS
% The \var{\{\$APPID\}} directive is only supported for the PalmOS target.
scan_w_appname_not_support=02060_W_APPNAME is only supported for PalmOS
% The \var{\{\$APPNAME\}} directive is only supported for the PalmOS target.
scan_e_string_exceeds_255_chars=02061_E_Constant strings cannot be longer than 255 chars
% A single string constant can contain at most 255 chars. Try splitting up the
% string into multiple smaller parts and concatenate them with a + operator.
scan_f_include_deep_ten=02062_F_Including include files exceeds a depth of 16.
% When including include files the files have been nested to a level of 16.
% The compiler will expand no further, since this may be a sign that
% recursion is used.
scan_e_too_many_push=02063_F_Too many levels of PUSH
% A maximum of 20 levels is allowed. This error occurs only in mode MacPas.
scan_e_too_many_pop=02064_E_A POP without a preceding PUSH
% This error occurs only in mode MacPas.
scan_e_error_macro_lacks_value=02065_E_Macro or compile time variable "$1" does not have any value
% Thus the conditional compile time expression cannot be evaluated.
scan_e_wrong_switch_toggle_default=02066_E_Wrong switch toggle, use ON/OFF/DEFAULT or +/-/*
% You need to use ON or OFF or DEFAULT or a + or - or * to toggle the switch.
scan_e_mode_switch_not_allowed=02067_E_Mode switch "$1" not allowed here
% A mode switch has already been encountered, or, in the case of option -Mmacpas,
% a mode switch occurs after UNIT.
scan_e_error_macro_undefined=02068_E_Compile time variable or macro "$1" is not defined.
% Thus the conditional compile time expression cannot be evaluated. Only in mode MacPas.
scan_e_utf8_bigger_than_65535=02069_E_UTF-8 code greater than 65535 found
% \fpc handles UTF-8 strings internally as widestrings, i.e. the char codes are limited to 65535.
scan_e_utf8_malformed=02070_E_Malformed UTF-8 string
% The given string isn't a valid UTF-8 string.
scan_c_switching_to_utf8=02071_C_UTF-8 signature found, using UTF-8 encoding
% The compiler found a UTF-8 encoding signature (\$ef, \$bb, \$bf) at the beginning of a file,
% so it interprets it as a UTF-8 file.
scan_e_compile_time_typeerror=02072_E_Compile time expression: Wanted $1 but got $2 at $3
% The type-check of a compile time expression failed.
scan_n_app_type_not_support=02073_N_APPTYPE is not supported by the target OS
% The \var{\{\$APPTYPE\}} directive is supported by certain operating systems only.
scan_e_illegal_optimization_specifier=02074_E_Illegal optimization specified "$1"
% You specified an optimization with the \var{\{\$OPTIMIZATION xxx\}} directive,
% and the compiler didn't recognize the optimization you specified.
scan_w_setpeflags_not_support=02075_W_SETPEFLAGS is not supported by the target OS
% The \var{\{\$SETPEFLAGS\}} directive is not supported by the target OS.
scan_w_imagebase_not_support=02076_W_IMAGEBASE is not supported by the target OS
% The \var{\{\$IMAGEBASE\}} directive is not supported by the target OS.
scan_w_minstacksize_not_support=02077_W_MINSTACKSIZE is not supported by the target OS
% The \var{\{\$MINSTACKSIZE\}} directive is not supported by the target OS.
scan_w_maxstacksize_not_support=02078_W_MAXSTACKSIZE is not supported by the target OS
% The \var{\{\$MAXSTACKSIZE\}} directive is not supported by the target OS.
scanner_e_illegal_warn_state=02079_E_Illegal state "$1" for $WARN directive
% Only ON and OFF can be used as state with a \var{\{\$WARN\}} compiler directive.
scan_e_only_packset=02080_E_Illegal set packing value
% Only 0, 1, 2, 4, 8, DEFAULT and NORMAL are allowed as packset parameters.
scan_w_pic_ignored=02081_W_PIC directive or switch ignored
% Several targets, such as \windows, do not support nor need PIC,
% so the PIC directive and switch are ignored.
scan_w_unsupported_switch_by_target=02082_W_The switch "$1" is not supported by the currently selected target
% Some compiler switches like \$E are not supported by all targets.
scan_w_frameworks_darwin_only=02084_W_Framework-related options are only supported for Darwin/Mac OS X
% Frameworks are not a known concept, or at least not supported by FPC,
% on operating systems other than Darwin/Mac OS X.
scan_e_illegal_minfpconstprec=02085_E_Illegal minimal floating point constant precision "$1"
% Valid minimal precisions for floating point constants are default, 32 and 64,
% which mean respectively minimal (usually 32 bit), 32 bit and 64 bit precision.
scan_w_multiple_main_name_overrides=02086_W_Overriding name of "main" procedure multiple times, was previously set to "$1"
% The name for the main entry procedure is specified more than once. Only the last
% name will be used.
scanner_w_illegal_warn_identifier=02087_W_Illegal identifier "$1" for $WARN directive
% Identifier is not known by a \var{\{\$WARN\}} compiler directive.
scanner_e_illegal_alignment_directive=02088_E_Illegal alignment directive
% The alignment directive is not valid. Either the alignment type is not known or the alignment
% value is not a power of two.
scanner_f_illegal_utf8_bom=02089_F_It is not possible to include a file that starts with an UTF-8 BOM in a module that uses a different code page
% All source code that is part of a single compilation entity (program, library, unit) must be encoded
% in the same code page
scanner_w_directive_ignored_on_target=02090_W_Directive "$1" is ignored for the current target platform
% Some directives are ignored for certain targets, such as changing the
% packrecords and packenum settings on managed platforms.
scan_w_unavailable_system_codepage=02091_W_Current system codepage "$1" is not available for the compiler. Switching default codepage back to "$2".
% The current system codepage is not known by the compiler.
% The compiler is compiled with support for several codepages built-in.
% The codepage of the operation system is not in that list. You will need to recompile
% the compiler with support for this codepage.
scan_w_setpeoptflags_not_support=02092_W_SETPEOPTFLAGS is not supported by the target OS
% The \var{\{\$SETPEOPTFLAGS\}} directive is not supported by the target OS.
scan_e_illegal_peflag=02093_E_Illegal argument for SETPEFLAGS
% The given argument for SETPEFLAGS is neither a correct named value nor an
% ordinal value
scan_e_illegal_peoptflag=02094_E_Illegal argument for SETPEOPTFLAGS
% The given argument for SETPEOPTFLAGS is neither a correct named value nor an
% ordinal value
scan_e_unsupported_switch=02095_E_Directive $1 is not supported on this target
% Not all compiler directives are supported on all targets.
scan_w_invalid_stacksize=02096_W_The specified stack size is not within the valid range for the platform. Setting the stack size ignored.
% The valid range for the stack size is 1024 - 67107839 on 32-bit and 64-bit
% platforms and 1024 - 65520 on 16-bit platforms. Additionally, for Turbo Pascal 7
% compatibility reasons, specifying a stack size of 65521 on 16-bit platforms
% actually sets the stack size to 65520.
scan_w_heapmax_lessthan_heapmin=02097_W_The specified HeapMax value is smaller than the HeapMin value. Setting HeapMax ignored.
% The HeapMax value (if specified) must be greater than or equal to the HeapMin
% value. Otherwise, the HeapMax value is ignored.
scan_e_illegal_hugepointernormalization=02098_E_Illegal argument for HUGEPOINTERNORMALIZATION
% The only allowed values for HUGEPOINTERNORMALIZATION are BORLANDC, MICROSOFTC
% and WATCOMC.
scan_e_illegal_asmcpu_specifier=02099_E_Illegal assembler CPU instruction set specified "$1"
% When you specify an assembler CPU with the \var{\{\$ASMCPU xxx\}} directive,
% the compiler didn't recognize the CPU you specified.
scan_w_syscall_convention_not_useable_on_target=02100_W_Specified syscall convention is not useable on this target
% The specified syscall convention using the \var{\{\$SYSCALL xxx\}} directive,
% is not useable on the current target system.
scan_w_syscall_convention_invalid=02101_W_Invalid syscall convention specified
% The compiler did not recognize the syscall convention specified by the \var{\{\$SYSCALL xxx\}} directive.
scan_w_setpeuserversion_not_support=02102_W_SETPEUSERVERSION is not supported by the target OS
% The \var{\{\$SETPEUSERVERSION\}} directive is not supported by the target OS.
scan_w_setpeosversion_not_support=02103_W_SETPEOSVERSION is not supported by the target OS
% The \var{\{\$SETPEOSVERSION\}} directive is not supported by the target OS.
scan_w_setpesubsysversion_not_support=02104_W_SETPESUBSYSVERSION is not supported by the target OS
% The \var{\{\$SETPESUBSYSVERSION\}} directive is not supported by the target OS.
scan_n_changecputype=02105_N_Changed CPU type to be consistent with specified controller
scan_e_emptymacroname=02106_E_A macro/compiler variable name cannot be empty
% \end{description}
#
# Parser
#
# 03355 is the last used one
#
% \section{Parser messages}
% This section lists all parser messages. The parser takes care of the
% semantics of you language, i.e. it determines if your Pascal constructs
% are correct.
% \begin{description}
parser_e_syntax_error=03000_E_Parser - Syntax Error
% An error against the Turbo Pascal language was encountered. This typically
% happens when an illegal character is found in the source file.
parser_e_dont_nest_interrupt=03004_E_INTERRUPT procedure cannot be nested
% An \var{INTERRUPT} procedure must be global.
parser_w_proc_directive_ignored=03005_W_Procedure type "$1" ignored
% The specified procedure directive is ignored by FPC programs.
parser_e_no_overload_for_all_procs=03006_E_Not all declarations of "$1" are declared with OVERLOAD
% When you want to use overloading using the \var{OVERLOAD} directive, then
% all declarations need to have \var{OVERLOAD} specified.
parser_e_export_name_double=03008_E_Duplicate exported function name "$1"
% Exported function names inside a specific DLL must all be different.
parser_e_export_ordinal_double=03009_E_Duplicate exported function index $1
% Exported function indexes inside a specific DLL must all be different.
parser_e_export_invalid_index=03010_E_Invalid index for exported function
% DLL function index must be in the range \var{1..\$FFFF}.
parser_w_parser_reloc_no_debug=03011_W_Relocatable DLL or executable $1 debug info does not work, disabled.
% It is currently not possible to include debug information in a relocatable DLL.
parser_w_parser_win32_debug_needs_WN=03012_W_To allow debugging for win32 code you need to disable relocation with -WN option
% Stabs debug info is wrong for relocatable DLL or EXES. Use -WN
% if you want to debug win32 executables.
parser_e_constructorname_must_be_init=03013_E_Constructor name must be INIT
% You are declaring an object constructor with a name which is not \var{init}, and the
% \var{-Ss} switch is in effect. See the switch \seeo{Ss}.
parser_e_destructorname_must_be_done=03014_E_Destructor name must be DONE
% You are declaring an object destructor with a name which is not \var{done}, and the
% \var{-Ss} switch is in effect. See the switch \seeo{Ss}.
parser_e_proc_inline_not_supported=03016_E_Procedure type INLINE not supported
% You tried to compile a program with C++ style inlining, and forgot to
% specify the \var{-Si} option (\seeo{Si}). The compiler doesn't support C++
% styled inlining by default.
parser_w_constructor_should_be_public=03018_W_Constructor should be public
% Constructors must be in the 'public' part of an object (class) declaration.
parser_w_destructor_should_be_public=03019_W_Destructor should be public
% Destructors must be in the 'public' part of an object (class) declaration.
parser_n_only_one_destructor=03020_N_Class should have one destructor only
% You can declare only one destructor for a class.
parser_e_no_local_objects=03021_E_Local class definitions are not allowed
% Classes must be defined globally. They cannot be defined inside a
% procedure or function.
parser_f_no_anonym_objects=03022_F_Anonymous class definitions are not allowed
% An invalid object (class) declaration was encountered, i.e. an
% object or class without methods that isn't derived from another object or
% class. For example:
% \begin{verbatim}
% Type o = object
%          a : longint;
%          end;
% \end{verbatim}
% will trigger this error.
parser_n_object_has_no_vmt=03023_N_The object "$1" has no VMT
% This is a note indicating that the declared object has no
% virtual method table.
parser_e_illegal_parameter_list=03024_E_Illegal parameter list
% You are calling a function with parameters that are of a different type than
% the declared parameters of the function.
parser_e_wrong_parameter_size=03026_E_Wrong number of parameters specified for call to "$1"
% There is an error in the parameter list of the function or procedure --
% the number of parameters is not correct.
parser_e_overloaded_no_procedure=03027_E_Overloaded identifier "$1" isn't a function
% The compiler encountered a symbol with the same name as an overloaded
% function, but it is not a function it can overload.
parser_e_overloaded_have_same_parameters=03028_E_Overloaded functions have the same parameter list
% You're declaring overloaded functions, but with the same parameter list.
% Overloaded function must have at least 1 different parameter in their
% declaration.
parser_e_header_dont_match_forward=03029_E_Function header doesn't match the previous declaration "$1"
% You declared a function with the same parameters but
% different result type or function modifiers.
parser_e_header_different_var_names=03030_E_Function header "$1" doesn't match forward : var name changes $2 => $3
% You declared the function in the \var{interface} part, or with the
% \var{forward} directive, but defined it with a different parameter list.
parser_n_duplicate_enum=03031_N_Values in enumeration types have to be ascending
% \fpc allows enumeration constructions as in C. Examine the following
% two declarations:
% \begin{verbatim}
% type a = (A_A,A_B,A_E:=6,A_UAS:=200);
% type a = (A_A,A_B,A_E:=6,A_UAS:=4);
% \end{verbatim}
% The second declaration would produce an error. \var{A\_UAS} needs to have a
% value higher than \var{A\_E}, i.e. at least 7.
parser_e_no_with_for_variable_in_other_segments=03033_E_With cannot be used for variables in a different segment
% With stores a variable locally on the stack,
% but this is not possible if the variable belongs to another segment.
parser_e_too_much_lexlevel=03034_E_Function nesting > 31
% You can nest function definitions only 31 levels deep.
parser_e_range_check_error=03035_E_Range check error while evaluating constants
% The constants are out of their allowed range.
parser_w_range_check_error=03036_W_Range check error while evaluating constants
% The constants are out of their allowed range.
parser_e_double_caselabel=03037_E_Duplicate case label
% You are specifying the same label 2 times in a \var{case} statement.
parser_e_case_lower_less_than_upper_bound=03038_E_Upper bound of case range is less than lower bound
% The upper bound of a \var{case} label is less than the lower bound and this
% is useless.
parser_e_type_const_not_possible=03039_E_Typed constants of classes or interfaces are not allowed
% You cannot declare a constant of type class or object.
parser_e_no_overloaded_procvars=03040_E_Function variables of overloaded functions are not allowed
% You are trying to assign an overloaded function to a procedural variable.
% This is not allowed.
parser_e_invalid_string_size=03041_E_String length must be a value from 1 to 255
% The length of a shortstring in Pascal is limited to 255 characters. You are
% trying to declare a string with length less than 1 or greater than 255.
parser_w_use_extended_syntax_for_objects=03042_W_Use extended syntax of NEW and DISPOSE for instances of objects
% If you have a pointer \var{a} to an object type, then the statement
% \var{new(a)} will not initialize the object (i.e. the constructor isn't
% called), although space will be allocated. You should issue the
% \var{new(a,init)} statement. This will allocate space, and call the
% constructor of the object.
parser_w_no_new_dispose_on_void_pointers=03043_W_Use of NEW or DISPOSE for untyped pointers is meaningless
parser_e_no_new_dispose_on_void_pointers=03044_E_Use of NEW or DISPOSE is not possible for untyped pointers
% You cannot use \var{new(p)} or \var{dispose(p)} if \var{p} is an untyped pointer
% because no size is associated to an untyped pointer.
% It is accepted for compatibility in \var{TP} and \var{DELPHI} modes, but the
% compiler will still warn you if it finds such a construct.
parser_e_class_id_expected=03045_E_Class identifier expected
% This happens when the compiler scans a procedure declaration that contains
% a dot, i.e., an object or class method, but the type in front of the dot is not
% a known type.
parser_e_no_type_not_allowed_here=03046_E_type identifier not allowed here
% You cannot use a type inside an expression.
parser_e_methode_id_expected=03047_E_Method identifier expected
% This identifier is not a method.
% This happens when the compiler scans a procedure declaration that contains
% a dot, i.e., an object or class method, but the procedure name is not a
% procedure of this type.
parser_e_header_dont_match_any_member=03048_E_Function header doesn't match any method of this class "$1"
% This identifier is not a method.
% This happens when the compiler scans a procedure declaration that contains
% a dot, i.e., an object or class method, but the procedure name is not a
% procedure of this type.
parser_d_procedure_start=03049_DL_procedure/function $1
% When using the \var{-vd} switch, the compiler tells you when it starts
% processing a procedure or function implementation.
parser_e_error_in_real=03050_E_Illegal floating point constant
% The compiler expects a floating point expression, and gets something else.
parser_e_fail_only_in_constructor=03051_E_FAIL can be used in constructors only
% You are using the \var{fail} keyword outside a constructor method.
parser_e_no_paras_for_destructor=03052_E_Destructors cannot have parameters
% You are declaring a destructor with a parameter list. Destructor methods
% cannot have parameters.
parser_e_only_class_members_via_class_ref=03053_E_Only class methods, class properties and class variables can be referred with class references
% This error occurs in a situation like the following:
% \begin{verbatim}
% Type :
%    Tclass = Class of Tobject;
%
% Var C : TClass;
%
% begin
% ...
% C.free
% \end{verbatim}
% \var{Free} is not a class method and hence cannot be called with a class
% reference.
parser_e_only_class_members=03054_E_Only class methods, class properties and class variables can be accessed in class methods
% This is related to the previous error. You cannot call a method of an object
% from inside a class method. The following code would produce this error:
% \begin{verbatim}
% class procedure tobject.x;
%
% begin
%   free
% \end{verbatim}
% Because free is a normal method of a class it cannot be called from a class
% method.
parser_e_case_mismatch=03055_E_Constant and CASE types do not match
% One of the labels is not of the same type as the case variable.
parser_e_illegal_symbol_exported=03056_E_The symbol cannot be exported from a library
% You can only export procedures and functions when you write a library. You
% cannot export variables or constants.
parser_w_should_use_override=03057_W_An inherited method is hidden by "$1"
% A method that is declared \var{virtual} in a parent class, should be
% overridden in the descendant class with the \var{override} directive. If you
% don't specify the \var{override} directive, you will hide the parent method;
% you will not override it.
parser_e_nothing_to_be_overridden=03058_E_There is no method in an ancestor class to be overridden: "$1"
% You are trying to \var{override} a virtual method of a parent class that does
% not exist.
parser_e_no_procedure_to_access_property=03059_E_No member is provided to access property
% You specified no \var{read} directive for a property.
parser_w_stored_not_implemented=03060_W_Stored property directive is not yet implemented
% This message is no longer used, as the \var{stored} directive has been implemented.
parser_e_ill_property_access_sym=03061_E_Illegal symbol for property access
% There is an error in the \var{read} or \var{write} directives for an array
% property. When you declare an array property, you can only access it with
% procedures and functions. The following code would cause such an error.
% \begin{verbatim}
% tmyobject = class
%   i : integer;
%   property x [i : integer]: integer read I write i;
% \end{verbatim}
%
parser_e_cant_access_protected_member=03062_E_Cannot access a protected field of an object here
% Fields that are declared in a \var{protected} section of an object or class
% declaration cannot be accessed outside the module where the object is
% defined, or outside descendent object methods.
parser_e_cant_access_private_member=03063_E_Cannot access a private field of an object here
% Fields that are declared in a \var{private} section of an object or class
% declaration cannot be accessed outside the module where the class is
% defined.
parser_e_overridden_methods_not_same_ret=03066_E_Overridden methods must have the same return type: "$2" is overridden by "$1" which has another return type
% If you declare overridden methods in a class definition, they must
% have the same return type.
parser_e_dont_nest_export=03067_E_EXPORT declared functions cannot be nested
% You cannot declare a function or procedure within a function or procedure
% that was declared as an export procedure.
parser_e_methods_dont_be_export=03068_E_Methods cannot be EXPORTed
% You cannot declare a procedure that is a method for an object as
% \var{export}ed.
parser_e_call_by_ref_without_typeconv=03069_E_Call by var for arg no. $1 has to match exactly: Got "$2" expected "$3"
% When calling a function declared with \var{var} parameters, the variables in
% the function call must be of exactly the same type. There is no automatic
% type conversion.
parser_e_no_super_class=03070_E_Class isn't a parent class of the current class
% When calling inherited methods, you are trying to call a method of a non-related
% class. You can only call an inherited method of a parent class.
parser_e_self_not_in_method=03071_E_SELF is only allowed in methods
% You are trying to use the \var{self} parameter outside an object's method.
% Only methods get passed the \var{self} parameters.
parser_e_generic_methods_only_in_methods=03072_E_Methods can be only in other methods called direct with type identifier of the class
% A construction like \var{sometype.somemethod} is only allowed in a method.
parser_e_illegal_colon_qualifier=03073_E_Illegal use of ':'
% You are using the format \var{:} (colon) 2 times on an expression that
% is not a real expression.
parser_e_illegal_set_expr=03074_E_Range check error in set constructor or duplicate set element
% The declaration of a set contains an error. Either one of the elements is
% outside the range of the set type, or two of the elements are in fact
% the same.
parser_e_pointer_to_class_expected=03075_E_Pointer to object expected
% You specified an illegal type in a \var{new} statement.
% The extended syntax of \var{new} needs an object as a parameter.
parser_e_expr_have_to_be_constructor_call=03076_E_Expression must be constructor call
% When using the extended syntax of \var{new}, you must specify the constructor
% method of the object you are trying to create. The procedure you specified
% is not a constructor.
parser_e_expr_have_to_be_destructor_call=03077_E_Expression must be destructor call
% When using the extended syntax of \var{dispose}, you must specify the
% destructor method of the object you are trying to dispose of.
% The procedure you specified is not a destructor.
parser_e_invalid_record_const=03078_E_Illegal order of record elements
% When declaring a constant record, you specified the fields in the wrong
% order.
parser_e_false_with_expr=03079_E_Expression type must be class or record type, got $1
% A \var{with} statement needs an argument that is of the type \var{record}
% or \var{class}. You are using \var{with} on an expression that is not of
% this type.
parser_e_void_function=03080_E_Procedures cannot return a value
% In \fpc, you can specify a return value for a function when using
% the \var{exit} statement. This error occurs when you try to do this with a
% procedure. Procedures cannot return a value.
parser_e_only_methods_allowed=03081_E_constructors, destructors and class operators must be methods
% You're declaring a procedure as destructor, constructor or class operator, when the
% procedure isn't a class method.
parser_e_operator_not_overloaded=03082_E_Operator is not overloaded
% You're trying to use an overloaded operator when it is not overloaded for
% this type.
parser_e_no_such_assignment=03083_E_Impossible to overload assignment for equal types
% You cannot overload assignment for types
% that the compiler considers as equal.
parser_e_overload_impossible=03084_E_Impossible operator overload
% The combination of operator, arguments and return type are
% incompatible.
parser_e_no_reraise_possible=03085_E_Re-raise isn't possible there
% You are trying to re-raise an exception where it is not allowed. You can only
% re-raise exceptions in an \var{except} block.
parser_e_no_new_or_dispose_for_classes=03086_E_The extended syntax of new or dispose isn't allowed for a class
% You cannot generate an instance of a class with the extended syntax of
% \var{new}. The constructor must be used for that. For the same reason, you
% cannot call \var{dispose} to de-allocate an instance of a class, the
% destructor must be used for that.
parser_e_procedure_overloading_is_off=03088_E_Procedure overloading is switched off
% When using the \var{-So} switch, procedure overloading is switched off.
% Turbo Pascal does not support function overloading.
parser_e_overload_operator_failed=03089_E_It is not possible to overload this operator. Related overloadable operators (if any) are: $1
% You are trying to overload an operator which cannot be overloaded.
% The following operators can be overloaded :
% \begin{verbatim}
%    +, -, *, /, =, >, <, <=, >=, is, as, in, **, :=
% \end{verbatim}
parser_e_comparative_operator_return_boolean=03090_E_Comparative operator must return a boolean value
% When overloading the \var{=} operator, the function must return a boolean
% value.
parser_e_only_virtual_methods_abstract=03091_E_Only virtual methods can be abstract
% You are declaring a method as abstract, when it is not declared to be
% virtual.
parser_f_unsupported_feature=03092_F_Use of unsupported feature: "$1".
% You're trying to force the compiler into doing something it cannot do yet.
parser_e_mix_of_classes_and_objects=03093_E_The mix of different kind of objects (class, object, interface, etc) isn't allowed
% You cannot derive \var{objects}, \var{classes}, \var{cppclasses} and \var{interfaces} intertwined. E.g.
% a class cannot have an object as parent and vice versa.
parser_w_unknown_proc_directive_ignored=03094_W_Unknown procedure directive had to be ignored: "$1"
% The procedure directive you specified is unknown.
parser_e_directive_only_one_var=03095_E_$1 can be associated with only one variable
% You cannot specify more than one variable before the \var{absolute}, \var{export}, \var{external},
% \var{weakexternal}, \var{public} and \var{cvar} directives.
% As a result, for example the following construct will provide this error:
% \begin{verbatim}
% Var Z : Longint;
%     X,Y : Longint absolute Z;
% \end{verbatim}
parser_e_absolute_only_to_var_or_const=03096_E_absolute can only be associated with a var or const
% The address of an \var{absolute} directive can only point to a variable or
% constant. Therefore, the following code will produce this error:
% \begin{verbatim}
%   Procedure X;
%
%  var p : longint absolute x;
% \end{verbatim}
parser_e_initialized_only_one_var=03097_E_Only one variable can be initialized
% You cannot specify more than one variable with a initial value in Delphi mode.
parser_e_abstract_no_definition=03098_E_Abstract methods shouldn't have any definition (with function body)
% Abstract methods can only be declared, you cannot implement them. They
% should be overridden by a descendant class.
parser_e_overloaded_must_be_all_global=03099_E_This overloaded function cannot be local (must be exported)
% You are defining an overloaded function in the implementation part of a unit,
% but there is no corresponding declaration in the interface part of the unit.
parser_w_virtual_without_constructor=03100_W_Virtual methods are used without a constructor in "$1"
% If you declare objects or classes that contain virtual methods, you need
% to have a constructor and destructor to initialize them. The compiler
% encountered an object or class with virtual methods that doesn't have
% a constructor/destructor pair.
parser_c_macro_defined=03101_CL_Macro defined: $1
% When \var{-vc} is used, the compiler tells you when it defines macros.
parser_c_macro_undefined=03102_CL_Macro undefined: $1
% When \var{-vc} is used, the compiler tells you when it undefines macros.
parser_c_macro_set_to=03103_CL_Macro $1 set to $2
% When \var{-vc} is used, the compiler tells you what values macros get.
parser_i_compiling=03104_I_Compiling $1
% When you turn on information messages (\var{-vi}), the compiler tells you
% what units it is recompiling.
parser_u_parsing_interface=03105_UL_Parsing interface of unit $1
% This tells you that the reading of the interface
% of the current unit has started
parser_u_parsing_implementation=03106_UL_Parsing implementation of $1
% This tells you that the code reading of the implementation
% of the current unit, library or program starts
parser_d_compiling_second_time=03107_DL_Compiling $1 for the second time
% When you request debug messages (\var{-vd}) the compiler tells you what
% units it recompiles for the second time.
parser_e_no_property_found_to_override=03109_E_No property found to override
% You want to override a property of a parent class, when there is, in fact,
% no such property in the parent class.
parser_e_only_one_default_property=03110_E_Only one default property is allowed
% You specified a property as \var{Default}, but the class already has a
% default property, and a class can have only one default property.
parser_e_property_need_paras=03111_E_The default property must be an array property
% Only array properties of classes can be made \var{default} properties.
parser_e_constructor_cannot_be_not_virtual=03112_E_Virtual constructors are only supported in class object model
% You cannot have virtual constructors in objects. You can only have them
% in classes.
parser_e_no_default_property_available=03113_E_No default property available
% You are trying to access a default property of a class, but this class (or one of
% its ancestors) doesn't have a default property.
parser_e_cant_have_published=03114_E_The class cannot have a published section, use the {$M+} switch
% If you want a \var{published} section in a class definition, you must
% use the \var{\{\$M+\}} switch, which turns on generation of type
% information.
parser_e_forward_declaration_must_be_resolved=03115_E_Forward declaration of class "$1" must be resolved here to use the class as ancestor
% To be able to use an object as an ancestor object, it must be defined
% first. This error occurs in the following situation:
% \begin{verbatim}
%  Type ParentClas = Class;
%       ChildClass = Class(ParentClass)
%         ...
%       end;
% \end{verbatim}
% where \var{ParentClass} is declared but not defined.
parser_e_no_local_operator=03116_E_Local operators not supported
% You cannot overload locally, i.e. inside procedures or function
% definitions.
parser_e_proc_dir_not_allowed_in_interface=03117_E_Procedure directive "$1" not allowed in interface section
% This procedure directive is not allowed in the \var{interface} section of
% a unit. You can only use it in the \var{implementation} section.
parser_e_proc_dir_not_allowed_in_implementation=03118_E_Procedure directive "$1" not allowed in implementation section
% This procedure directive is not allowed in the \var{implementation} section of
% a unit. You can only use it in the \var{interface} section.
parser_e_proc_dir_not_allowed_in_procvar=03119_E_Procedure directive "$1" not allowed in procvar declaration
% This procedure directive cannot be part of a procedural or function
% type declaration.
parser_e_function_already_declared_public_forward=03120_E_Function is already declared Public/Forward "$1"
% You will get this error if a function is defined as \var{forward} twice.
% Or if it occurs in the \var{interface} section, and again as a \var{forward}
% declaration in the \var{implementation} section.
parser_e_not_external_and_export=03121_E_Cannot use both EXPORT and EXTERNAL
% These two procedure directives are mutually exclusive.
parser_n_not_supported_for_inline=03123_N_"$1" not yet supported inside inline procedure/function
% Inline procedures don't support this declaration.
parser_h_inlining_disabled=03124_H_Inlining disabled
% Inlining of procedures is disabled.
parser_i_writing_browser_log=03125_I_Writing Browser log $1
% When information messages are on, the compiler warns you when it
% writes the browser log (generated with the \var{\{\$Y+ \}} switch).
parser_h_maybe_deref_caret_missing=03126_H_Maybe pointer dereference is missing?
% The compiler thinks that a pointer may need a dereference.
parser_f_assembler_reader_not_supported=03127_F_Selected assembler reader not supported
% The selected assembler reader (with \var{\{\$ASMMODE xxx\}} is not
% supported. The compiler can be compiled with or without support for a
% particular assembler reader.
parser_e_proc_dir_conflict=03128_E_Procedure directive "$1" cannot be used with $2
% You specified a procedure directive that conflicts with other directives.
% For instance \var{cdecl} and \var{pascal} are mutually exclusive.
parser_e_call_convention_dont_match_forward=03129_E_Calling convention doesn't match forward
% This error happens when you declare a function or procedure with
% e.g. \var{cdecl;} but omit this directive in the implementation, or vice
% versa. The calling convention is part of the function declaration, and
% must be repeated in the function definition.
parser_e_property_cant_have_a_default_value=03131_E_Property cannot have a default value
% Set properties or indexed properties cannot have a default value.
parser_e_property_default_value_must_const=03132_E_The default value of a property must be constant
% The value of a \var{default} declared property must be known at compile
% time. The value you specified is only known at run time. This happens
% e.g. if you specify a variable name as a default value.
parser_e_cant_publish_that=03133_E_Symbol cannot be published, can be only a class
% Only class type variables can be in a \var{published} section of a class
% if they are not declared as a property.
parser_e_cant_publish_that_property=03134_E_This kind of property cannot be published
% Properties in a \var{published} section cannot be array properties.
% They must be moved to public sections. Properties in a \var{published}
% section must be an ordinal type, a real type, strings or sets.
parser_e_empty_import_name=03136_E_An import name is required
% Some targets need a name for the imported procedure or a \var{cdecl} specifier.
parser_e_division_by_zero=03138_E_Division by zero
% A division by zero was encountered.
parser_e_invalid_float_operation=03139_E_Invalid floating point operation
% An operation on two real type values produced an overflow or a division
% by zero.
parser_e_array_lower_less_than_upper_bound=03140_E_Upper bound of range is less than lower bound
% The upper bound of an array declaration is less than the lower bound and this
% is not possible.
parser_w_string_too_long=03141_W_String "$1" is longer than "$2"
% The size of the constant string is larger than the size you specified in
% string type definition.
parser_e_string_larger_array=03142_E_String length is larger than array of char length
% The size of the constant string is larger than the size you specified in
% the \var{Array[x..y] of char} definition.
parser_e_ill_msg_expr=03143_E_Illegal expression after message directive
% \fpc supports only integer or string values as message constants.
parser_e_ill_msg_param=03144_E_Message handlers can take only one call by ref. parameter
% A method declared with the \var{message} directive as message handler
% can take only one parameter which must be declared as call by reference.
% Parameters are declared as call by reference using the \var{var}-directive.
parser_e_duplicate_message_label=03145_E_Duplicate message label: "$1"
% A label for a message is used twice in one object/class.
parser_e_self_in_non_message_handler=03146_E_Self can only be an explicit parameter in methods which are message handlers
% The \var{Self} parameter can only be passed explicitly to a method which
% is declared as message handler.
parser_e_threadvars_only_sg=03147_E_Threadvars can be only static or global
% Threadvars must be static or global; you cannot declare a thread
% local to a procedure. Local variables are always local to a thread,
% because every thread has its own stack and local variables
% are stored on the stack.
parser_f_direct_assembler_not_allowed=03148_F_Direct assembler not supported for binary output format
% You cannot use direct assembler when using a binary writer. Choose an
% other output format or use another assembler reader.
parser_w_no_objpas_use_mode=03149_W_Don't load OBJPAS unit manually, use {$mode objfpc} or {$mode delphi} instead
% You are trying to load the \file{ObjPas} unit manually from a \var{uses} clause.
% This is not a good idea. Use the \var{\{\$MODE OBJFPC\}} or
% \var{\{\$mode delphi\}} directives which load the unit automatically.
parser_e_no_object_override=03150_E_OVERRIDE cannot be used in objects
% \var{Override} is not supported for objects, use \var{virtual} instead to override
% a method of a parent object.
parser_e_cant_use_inittable_here=03151_E_Data types which require initialization/finalization cannot be used in variant records
% Some data types (e.g. \var{ansistring}) need initialization/finalization
% code which is implicitly generated by the compiler. Such data types
% cannot be used in the variant part of a record.
parser_e_resourcestring_only_sg=03152_E_Resourcestrings can be only static or global
% Resourcestring cannot be declared local, only global or using the static
% directive.
parser_e_exit_with_argument_not__possible=03153_E_Exit with argument cannot be used here
% An exit statement with an argument for the return value cannot be used here. This
% can happen for example in \var{try..except} or \var{try..finally} blocks.
parser_e_stored_property_must_be_boolean=03154_E_The type of the storage symbol must be boolean
% If you specify a storage symbol in a property declaration, it must be a
% boolean type.
parser_e_ill_property_storage_sym=03155_E_This symbol isn't allowed as storage symbol
% You cannot use this type of symbol as storage specifier in property
% declaration. You can use only methods with the result type boolean,
% boolean class fields or boolean constants.
parser_e_only_publishable_classes_can_be_published=03156_E_Only classes which are compiled in $M+ mode can be published
% A class-typed field in the published section of a class can only be a class which was
% compiled in \var{\{\$M+\}} or which is derived from such a class. Normally
% such a class should be derived from \var{TPersistent}.
parser_e_proc_directive_expected=03157_E_Procedure directive expected
% This error is triggered when you have a \var{\{\$Calling\}} directive without
% a calling convention specified.
% It also happens when declaring a procedure in a const block and you
% used a ; after a procedure declaration which must be followed by a
% procedure directive.
% Correct declarations are:
% \begin{verbatim}
% const
%   p : procedure;stdcall=nil;
%   p : procedure stdcall=nil;
% \end{verbatim}
parser_e_invalid_property_index_value=03158_E_The value for a property index must be of an ordinal type
% The value you use to index a property must be of an ordinal type, for
% example an integer or enumerated type.
parser_e_procname_to_short_for_export=03159_E_Procedure name too short to be exported
% The length of the procedure/function name must be at least 2 characters
% long. This is because of a bug in dlltool which doesn't parse the .def
% file correctly with a name of length 1.
parser_e_dlltool_unit_var_problem=03160_E_No DEFFILE entry can be generated for unit global vars
parser_e_dlltool_unit_var_problem2=03161_E_Compile without -WD option
% You need to compile this file without the -WD switch on the
% command line.
parser_f_need_objfpc_or_delphi_mode=03162_F_You need ObjFpc (-S2) or Delphi (-Sd) mode to compile this module
% You need to use \var{\{\$MODE OBJFPC\}} or \var{\{\$MODE DELPHI\}} to compile this file.
% Or use the corresponding command line switch, either \var{-Mobjfpc} or \var{-MDelphi.}
parser_e_no_export_with_index_for_target=03163_E_Cannot export with index under $1
% Exporting of functions or procedures with a specified index is not
% supported on this target.
parser_e_no_export_of_variables_for_target=03164_E_Exporting of variables is not supported under $1
% Exporting of variables is not supported on this target.
parser_e_improper_guid_syntax=03165_E_Improper GUID syntax
% The GUID indication does not have the proper syntax. It should be of the form
% \begin{verbatim}
% {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
% \end{verbatim}
% Where each \var{X} represents a hexadecimal digit.
parser_w_interface_mapping_notfound=03168_W_Procedure named "$1" not found that is suitable for implementing the $2.$3
% The compiler cannot find a suitable procedure which implements the given method of an interface.
% A procedure with the same name is found, but the arguments do not match.
parser_e_interface_id_expected=03169_E_Interface identifier expected
% This happens when the compiler scans a \var{class} declaration that contains
% \var{interface} function name mapping code like this:
% \begin{verbatim}
% type
%   TMyObject = class(TObject, IDispatch)
%     function IUnknown.QueryInterface=MyQueryInterface;
%     ....
% \end{verbatim}
% and the \var{interface} before the dot is not listed in the inheritance list.
parser_e_type_cant_be_used_in_array_index=03170_E_Type "$1" cannot be used as array index type
% Types like \var{qword} or \var{int64} are not allowed as array index type.
parser_e_no_con_des_in_interfaces=03171_E_Con- and destructors are not allowed in interfaces
% Constructor and destructor declarations are not allowed in interfaces.
% In the most cases method \var{QueryInterface} of \var{IUnknown} can
% be used to create a new interface.
parser_e_no_access_specifier_in_interfaces=03172_E_Access specifiers cannot be used in INTERFACEs and OBJCPROTOCOLs
% The access specifiers \var{public}, \var{private}, \var{protected} and
% \var{published} cannot be used in interfaces, Objective-C protocols and categories because all methods
% of an interface/protocol/category must be public.
parser_e_no_vars_in_interfaces=03173_E_An interface, helper or Objective-C protocol or category cannot contain fields
% Declarations of fields are not allowed in interfaces, helpers and Objective-C protocols and categories.
% An interface/helper/protocol/category can contain only methods and properties with method read/write specifiers.
parser_e_no_local_proc_external=03174_E_Cannot declare local procedure as EXTERNAL
% Declaring local procedures as external is not possible. Local procedures
% get hidden parameters that will make the chance of errors very high.
parser_w_skipped_fields_before=03175_W_Some fields coming before "$1" were not initialized
% In Delphi mode, not all fields of a typed constant record have to be
% initialized, but the compiler warns you when it detects such situations.
parser_e_skipped_fields_before=03176_E_Some fields coming before "$1" were not initialized
% In all syntax modes but Delphi mode, you cannot leave some fields uninitialized
% in the middle of a typed constant record.
parser_w_skipped_fields_after=03177_W_Some fields coming after "$1" were not initialized
% You can leave some fields at the end of a type constant record uninitialized
% (The compiler will initialize them to zero automatically). This may be the cause
% of subtle problems.
parser_e_varargs_need_cdecl_and_external=03178_E_VarArgs directive (or '...' in MacPas) without CDecl/CPPDecl/MWPascal/StdCall and External
% The varargs directive (or the ``...'' varargs parameter in MacPas mode) can only be
% used with procedures or functions that are declared with \var{external} and one of
% \var{cdecl}, \var{cppdecl}, \var{stdcall}  and \var{mwpascal}. This functionality
% is only supported to provide a compatible interface to C functions like printf.
parser_e_self_call_by_value=03179_E_Self must be a normal (call-by-value) parameter
% You cannot declare \var{Self} as a const or var parameter, it must always be
% a call-by-value parameter.
parser_e_interface_has_no_guid=03180_E_Interface "$1" has no interface identification
% When you want to assign an interface to a constant, then the interface
% must have a GUID value set.
parser_e_illegal_field_or_method=03181_E_Unknown class field or method identifier "$1"
% Properties must refer to a field or method in the same class.
parser_w_proc_overriding_calling=03182_W_Overriding calling convention "$1" with "$2"
% There are two directives in the procedure declaration that specify a calling
% convention. Only the last directive will be used.
parser_e_no_procvarobj_const=03183_E_Typed constants of the type "procedure of object" can only be initialized with NIL
% You cannot assign the address of a method to a typed constant which has a
% 'procedure of object' type, because such a constant requires two addresses:
% that of the method (which is known at compile time) and that of the object or
% class instance it operates on (which cannot be known at compile time).
parser_e_default_value_only_one_para=03184_E_Default value can only be assigned to one parameter
% It is not possible to specify a default value for several parameters at once.
% The following is invalid:
% \begin{verbatim}
% Procedure MyProcedure (A,B : Integer = 0);
% \end{verbatim}
% Instead, this should be declared as
% \begin{verbatim}
% Procedure MyProcedure (A : Integer = 0; B : Integer = 0);
% \end{verbatim}
parser_e_default_value_expected_for_para=03185_E_Default parameter required for "$1"
% The specified parameter requires a default value.
parser_w_unsupported_feature=03186_W_Use of unsupported feature!
% You're trying to force the compiler into doing something it cannot do yet.
parser_h_c_arrays_are_references=03187_H_C arrays are passed by reference
% Any array passed to a C function is passed
% by a pointer (i.e. by reference).
parser_e_C_array_of_const_must_be_last=03188_E_C array of const must be the last argument
% You cannot add any other argument after an \var{array of const} for
% \var{cdecl} functions, as the size pushed on stack for this argument is
% not known.
parser_h_type_redef=03189_H_Type "$1" redefinition
% This is an indicator that a previously declared type is
% being redefined as something else. This may, or may not
% be, a potential source of errors.
parser_w_cdecl_has_no_high=03190_W_cdecl'ared functions have no high parameter
% Functions declared with the \var{cdecl} modifier do not pass an extra implicit parameter.
parser_w_cdecl_no_openstring=03191_W_cdecl'ared functions do not support open strings
% Openstring is not supported for functions that have the \var{cdecl} modifier.
parser_e_initialized_not_for_threadvar=03192_E_Cannot initialize variables declared as threadvar
% Variables declared as threadvar cannot be initialized with a default value.
% The variables will always be filled with zero at the start of a new thread.
parser_e_msg_only_for_classes=03193_E_Message directive is only allowed in Classes
% The message directive is only supported for Class types.
parser_e_procedure_or_function_expected=03194_E_Procedure or Function expected
% A class method can only be specified for procedures and functions.
parser_e_illegal_calling_convention=03195_W_Calling convention directive ignored: "$1"
% Some calling conventions are supported only by certain CPUs. I.e. most non-i386 ports support
% only the standard ABI calling convention of the CPU.
parser_e_no_object_reintroduce=03196_E_REINTRODUCE cannot be used in objects
% \var{reintroduce} is not supported for objects, Objective-C classes and Objective-C protocols.
parser_e_paraloc_only_one_para=03197_E_Each argument must have its own location
% If locations for arguments are specified explicitly as it is required by
% some syscall conventions, each argument must have its own location. Things
% like
% \begin{verbatim}
% procedure p(i,j : longint 'r1');
% \end{verbatim}
% are not allowed.
parser_e_paraloc_all_paras=03198_E_Each argument must have an explicit location
% If one argument has an explicit argument location, all arguments of a procedure
% must have one.
parser_e_illegal_explicit_paraloc=03199_E_Invalid explicit parameter location specified
% Syscalls specific: the specified explicit location string for this parameter cannot be parsed, invalid,
% or The location specified for an argument isn't recognized by the compiler.
parser_e_32bitint_or_pointer_variable_expected=03200_E_32 Bit-Integer or pointer variable expected
% The libbase for MorphOS/AmigaOS can be given only as \var{longint}, \var{dword} or any pointer variable.
parser_e_goto_outside_proc=03201_E_Goto statements are not allowed between different procedures
% It isn't allowed to use \var{goto} statements referencing labels outside the
% current procedure. The following example shows the problem:
% \begin{verbatim}
% ...
%   procedure p1;
%   label
%     l1;
%
%     procedure p2;
%     begin
%       goto l1; // This goto ISN'T allowed
%     end;
%
%   begin
%     p2
%   l1:
%   end;
% ...
%
% \end{verbatim}
parser_f_too_complex_proc=03202_F_Procedure too complex, it requires too many registers
% Your procedure body is too long for the compiler. You should split the
% procedure into multiple smaller procedures.
parser_e_illegal_expression=03203_E_Illegal expression
% This can occur under many circumstances. Usually when trying to evaluate
% constant expressions.
parser_e_invalid_integer=03204_E_Invalid integer expression
% You made an expression which isn't an integer, and the compiler expects the
% result to be an integer.
parser_e_invalid_qualifier=03205_E_Illegal qualifier
% One of the following is happening :
% \begin{itemize}
% \item You're trying to access a field of a variable that is not a record.
% \item You're indexing a variable that is not an array.
% \item You're dereferencing a variable that is not a pointer.
% \end{itemize}
parser_e_upper_lower_than_lower=03206_E_High range limit < low range limit
% You are declaring a subrange, and the high limit is less than the low limit of
% the range.
parser_e_macpas_exit_wrong_param=03207_E_Exit's parameter must be the name of the procedure it is used in or of a surrounding procedure
% The parameter of a exit call in macpas mode must be either the name of the current subroutine or of a surrounding one
parser_e_illegal_assignment_to_count_var=03208_E_Illegal assignment to for-loop variable "$1"
% The type of a \var{for} loop variable must be an ordinal type.
% Loop variables cannot be reals or strings. You also cannot assign values to
% loop variables inside the loop (Except in Delphi and TP modes). Use a while or
% repeat loop instead if you need to do something like that, since those
% constructs were built for that.
parser_e_no_local_var_external=03209_E_Cannot declare local variable as EXTERNAL
% Declaring local variables as external is not allowed. Only global variables can reference
% external variables.
parser_e_proc_already_external=03210_E_Procedure is already declared EXTERNAL
% The procedure is already declared with the EXTERNAL directive in an interface or
% forward declaration.
parser_w_implicit_uses_of_variants_unit=03211_W_Implicit uses of Variants unit
% The Variant type is used in the unit without any used unit using the Variants unit. The
% compiler has implicitly added the Variants unit to the uses list. To remove this warning
% the Variants unit needs to be added to the uses statement.
parser_e_no_static_method_in_interfaces=03212_E_Class and static methods cannot be used in INTERFACES
% The specifier \var{class} and directive \var{static} cannot be used in interfaces
% because all methods of an interface must be public.
parser_e_arithmetic_operation_overflow=03213_E_Overflow in arithmetic operation
% An operation on two integer values produced an overflow.
parser_e_protected_or_private_expected=03214_E_Protected or private expected
% \var{strict} can be only used together with \var{protected} or \var{private}.
parser_e_illegal_slice=03215_E_SLICE cannot be used outside of parameter list
% \var{slice} can be used only for arguments accepting an open array parameter.
parser_e_dispinterface_cant_have_parent=03216_E_A DISPINTERFACE cannot have a parent class
% A DISPINTERFACE is a special type of interface which cannot have a parent class. Dispinterface always derive from IDispatch type.
parser_e_dispinterface_needs_a_guid=03217_E_A DISPINTERFACE needs a guid
% A DISPINTERFACE always needs an interface identification (a GUID).
parser_w_overridden_methods_not_same_ret=03218_W_Overridden methods must have a related return type. This code may crash, it depends on a Delphi parser bug ("$2" is overridden by "$1" which has another return type)
% If you declare overridden methods in a class definition, they must
% have the same return type. Some versions of Delphi allow you to change the
% return type of interface methods, and even to change procedures into
% functions, but the resulting code may crash depending on the types used
% and the way the methods are called.
parser_e_dispid_must_be_ord_const=03219_E_Dispatch IDs must be ordinal constants
% The \var{dispid} keyword must be followed by an ordinal constant (the dispid index).
parser_e_array_range_out_of_bounds=03220_E_The range of the array is too large
% Regardless of the size taken up by its elements, an array cannot have more
% than high(ptrint) elements. Additionally, the range type must be a subrange
% of ptrint.
parser_e_packed_element_no_var_addr=03221_E_The address cannot be taken of bit packed array elements and record fields
% If you declare an array or record as \var{packed} in Mac Pascal mode
% (or as \var{packed} in any mode with \var{\{\$bitpacking on\}}), it will
% be packed at the bit level. This means it becomes impossible to take addresses
% of individual array elements or record fields. The only exception to this rule
% is in the case of packed arrays elements whose packed size is a multiple of 8 bits.
parser_e_packed_dynamic_open_array=03222_E_Dynamic arrays cannot be packed
% Only regular (and possibly in the future also open) arrays can be packed.
parser_e_packed_element_no_loop=03223_E_Bit packed array elements and record fields cannot be used as loop variables
% If you declare an array or record as \var{packed} in Mac Pascal mode
% (or as \var{packed} in any mode with \var{\{\$bitpacking on\}}), it will
% be packed at the bit level. For performance reasons, they cannot be
% used as loop variables.
parser_e_type_var_const_only_in_records_and_classes=03224_E_VAR, TYPE and CONST are allowed only in records, objects and classes
% The usage of VAR, TYPE and CONST to declare new types inside an object is allowed only inside
% records, objects and classes.
parser_e_cant_create_generics_of_this_type=03225_E_This type cannot be a generic
% Only Classes, Objects, Interfaces and Records are allowed to be used as generic.
parser_w_no_lineinfo_use_switch=03226_W_Don't load LINEINFO unit manually, Use the -gl compiler switch instead
% Do not use the \file{lineinfo} unit directly, Use the \var{-gl} switch which
% automatically adds the correct unit for reading the selected type of debugging
% information. The unit that needs to be used depends on the type of
% debug information used when compiling the binary.
parser_e_no_funcret_specified=03227_E_No function result type specified for function "$1"
% The first time you declare a function you have to declare it completely,
% including all parameters and the result type.
parser_e_special_onlygenerics=03228_E_Specialization is only supported for generic types
% Types which are not generics cannot be specialized.
parser_e_no_generics_as_params=03229_E_Generics cannot be used as parameters when specializing generics
% When specializing a generic, only non-generic types can be used as parameters.
parser_e_type_object_constants=03230_E_Constants of objects containing a VMT are not allowed
% If an object requires a VMT either because it contains a constructor or virtual methods,
% it's not allowed to create constants of it. In TP and Delphi mode this is allowed
% for compatibility reasons.
parser_e_label_outside_proc=03231_E_Taking the address of labels defined outside the current scope isn't allowed
% It isn't allowed to take the address of labels outside the
% current procedure.
parser_e_initialized_not_for_external=03233_E_Cannot initialize variables declared as external
% Variables declared as external cannot be initialized with a default value.
parser_e_illegal_function_result=03234_E_Illegal function result type
% Some types like file types cannot be used as function result.
parser_e_no_common_type=03235_E_No common type possible between "$1" and "$2"
% To perform an operation on integers, the compiler converts both operands
% to their common type, which appears to be an invalid type. To determine the
% common type of the operands, the compiler takes the minimum of the minimal values
% of both types, and the maximum of the maximal values of both types. The common
% type is then minimum..maximum.
parser_e_no_generics_as_types=03236_E_Generics without specialization cannot be used as a type for a variable
% Generics must be always specialized before being used as variable type.
parser_w_register_list_ignored=03237_W_Register list is ignored for pure assembler routines
% When using pure assembler routines, the list with modified registers is ignored.
parser_e_implements_must_be_class_or_interface=03238_E_Implements property must have class or interface type
% A property which implements an interface must be of type class or interface.
parser_e_implements_must_have_correct_type=03239_E_Implements-property must implement interface of correct type, found "$1" expected "$2"
% A property which implements an interface actually implements a different interface.
parser_e_implements_must_read_specifier=03240_E_Implements-property must have read specifier
% A property  which implements an interface must have at least a read specifier.
parser_e_implements_must_not_have_write_specifier=03241_E_Implements-property must not have write-specifier
% A property  which implements an interface may not have a write specifier.
parser_e_implements_must_not_have_stored_specifier=03242_E_Implements-property must not have stored-specifier
% A property  which implements an interface may not have a stored specifier.
parser_e_implements_uses_non_implemented_interface=03243_E_Implements-property used on unimplemented interface: "$1"
% The interface which is implemented by a property is not an interface implemented by the class.
parser_e_unsupported_real=03244_E_Floating point not supported for this target
% The compiler parsed a floating point expression, but it is not supported.
parser_e_class_doesnt_implement_interface=03245_E_Class "$1" does not implement interface "$2"
% The delegated interface is not implemented by the class given in the implements clause.
parser_e_class_implements_must_be_interface=03246_E_Type used by implements must be an interface
% The \var{implements} keyword must be followed by an interface type.
parser_e_cant_export_var_different_name=03247_E_Variables cannot be exported with a different name on this target, add the name to the declaration using the "export" directive (variable name: $1, declared export name: $2)
% On most targets it is not possible to change the name under which a variable
% is exported inside the \var{exports} statement of a library.
% In that case, you have to specify the export name at the point where the
% variable is declared, using the \var{export} and \var{alias} directives.
parser_e_weak_external_not_supported=03248_E_Weak external symbols are not supported for the current target
% A "weak external" symbol is a symbol which may or may not exist at (either static
% or dynamic) link time. This concept may not be available (or implemented yet)
% on the current cpu/OS target.
parser_e_forward_mismatch=03249_E_Forward type definition does not match
% Classes and interfaces being defined forward must have the same type
% when being implemented. A forward interface cannot be changed into a class.
parser_n_ignore_lower_visibility=03250_N_Virtual method "$1" has a lower visibility ($2) than parent class $3 ($4)
% The virtual method overrides an method that is declared with a higher visibility. This might give
% unexpected results. E.g., in case the new visibility is private then a call to ``inherited'' in a
% new child class will call the higher-visible method in a parent class and ignores the private method.
parser_e_field_not_allowed_here=03251_E_Fields cannot appear after a method or property definition, start a new visibility section first
% Once a method or property has been defined in a class or object, you cannot define any fields afterwards
% without starting a new visibility section (such as \var{public}, \var{private}, etc.). The reason is
% that otherwise the source code can appear ambiguous to the compiler, since it is possible to use modifiers
% such as \var{default} and \var{register} also as field names.
parser_e_no_local_para_def=03252_E_Parameters or result types cannot contain local type definitions. Use a separate type definition in a type block.
% In Pascal, types are not considered to be identical simply because they are semantically equivalent.
% Two variables or parameters are only considered to be of the same type if they refer to the
% same type definition.
% As a result, it is not allowed to define new types inside parameter lists, because then it is impossible to
% refer to the same type definition in the procedure headers of the interface and implementation of a unit
% (both procedure headers would define a separate type). Keep in mind that expressions such as
% ``file of byte'' or ``string[50]'' also define a new type.
parser_e_abstract_and_sealed_conflict=03253_E_ABSTRACT and SEALED conflict
% ABSTRACT and SEALED cannot be used together in one declaration
parser_e_sealed_descendant=03254_E_Cannot create a descendant of the sealed class "$1"
% Sealed means that class cannot be derived by another class.
parser_e_sealed_class_cannot_have_abstract_methods=03255_E_SEALED class cannot have an ABSTRACT method
% Sealed means that class cannot be derived. Therefore no one class is able to override an abstract method in a sealed class.
parser_e_only_virtual_methods_final=03256_E_Only virtual methods can be final
% You are declaring a method as final, when it is not declared to be
% virtual.
parser_e_final_can_no_be_overridden=03257_E_Final method cannot be overridden: "$1"
% You are trying to \var{override} a virtual method of a parent class that does
% not exist.
parser_e_multiple_messages=03258_E_Only one message can be used per method.
% It is not possible to associate multiple messages with a single method.
parser_e_invalid_enumerator_identifier=03259_E_Invalid enumerator identifier: "$1"
% Only "MoveNext" and "Current" enumerator identifiers are supported.
parser_e_enumerator_identifier_required=03260_E_Enumerator identifier required
% "MoveNext" or "Current" identifier must follow the \var{enumerator} modifier.
parser_e_enumerator_movenext_is_not_valid=03261_E_Enumerator MoveNext pattern method is not valid. Method must be a function with the Boolean return type and no required arguments.
% "MoveNext" enumerator pattern method must be a function with Boolean return type and no required arguments
parser_e_enumerator_current_is_not_valid=03262_E_Enumerator Current pattern property is not valid. Property must have a getter.
% "Current" enumerator pattern property must have a getter
parser_e_only_one_enumerator_movenext=03263_E_Only one enumerator MoveNext method is allowed per class/object
% Class or Object can have only one enumerator MoveNext declaration.
parser_e_only_one_enumerator_current=03264_E_Only one enumerator Current property is allowed per class/object
% Class or Object can have only one enumerator Current declaration.
parser_e_for_in_loop_cannot_be_used_for_the_type=03265_E_For in loop cannot be used for the type "$1"
% For in loop can be used not for all types. For example it cannot be used for the enumerations with jumps.
parser_e_objc_requires_msgstr=03266_E_Objective-C messages require their Objective-C selector name to be specified using the "message" directive.
% Objective-C messages require their Objective-C name (selector name) to be specified using the \var{message `someName:'} procedure directive.
% While bindings to other languages automatically generate such names based on the identifier you use (by replacing
% all underscores with colons), this is unsafe since nothing prevents an Objective-C method name to contain actual
% colons.
parser_e_objc_no_constructor_destructor=03267_E_Objective-C does not have formal constructors nor destructors. Use the alloc, initXXX and dealloc messages.
% The Objective-C language does not have any constructors or destructors. While there are some messages with a similar
% purpose (such as \var{init} and \var{dealloc}), these cannot be identified using automatic parsers and do not
% guarantee anything like Pascal constructors/destructors (e.g., you have to take care of only calling ``designated''
% inherited ``constructors''). For these reasons, we have opted to follow the standard Objective-C patterns for
% instance creation/destruction.
parser_e_message_string_too_long=03268_E_Message name is too long (max. 255 characters)
% Due to compiler implementation reasons, message names are currently limited to 255 characters.
parser_e_objc_message_name_too_long=03269_E_Objective-C message symbol name for "$1" is too long
% Due to compiler implementation reasons, mangled message names (i.e., the symbol names used in the assembler
% code) are currently limited to 255 characters.
parser_h_no_objc_parent=03270_H_Defining a new Objective-C root class. To derive from another root class (e.g., NSObject), specify it as the parent class.
% If no parent class is specified for an Object Pascal class, then it automatically derives from TObject.
% Objective-C classes however do not automatically derive from NSObject, because one can have multiple
% root classes in Objective-C. For example, in the Cocoa framework both NSObject and NSProxy are root classes.
% Therefore, you have to explicitly define a parent class (such as NSObject) if you want to derive your
% Objective-C class from it.
parser_e_no_objc_published=03271_E_Objective-C classes cannot have published sections.
% In Object Pascal, ``published'' determines whether or not RTTI is generated. Since the Objective-C runtime always needs
% RTTI for everything, this specified does not make sense for Objective-C classes.
parser_f_need_objc=03272_F_This module requires an Objective-C mode switch to be compiled
% This error indicates the use of Objective-C language features without an Objective-C mode switch
% active. Enable one via the -M command line switch, or the {\$modeswitch x} directive.
parser_e_must_use_override=03273_E_Inherited methods can only be overridden in Objective-C and Java, add "override" (inherited method defined in $1)
parser_h_should_use_override=03274_H_Inherited methods can only be overridden in Objective-C and Java, add "override" (inherited method defined in $1).
% It is not possible to \var{reintroduce} methods in Objective-C or Java like in Object Pascal. Methods with the same
% name always map to the same virtual method entry. In order to make this clear in the source code,
% the compiler always requires the \var{override} directive to be specified when implementing overriding
% Objective-C or Java methods in Pascal. If the implementation is external, this rule is relaxed because Objective-C and Java
% do not have any \var{override}-style keyword (since it's the default and only behaviour in these languages),
% which makes it hard for automated header conversion tools to include it everywhere.
% The type in which the inherited method is defined is explicitly mentioned, because this may either
% be an objcclass or an objccategory in case of Objective-C.
parser_e_objc_message_name_changed=03275_E_Message name "$1" in inherited class is different from message name "$2" in current class.
% An overriding Objective-C method cannot have a different message name than an inherited method. The reason
% is that these message names uniquely define the message to the Objective-C runtime, which means that
% giving them a different message name breaks the ``override'' semantics.
parser_e_unique_unsupported=03276_E_It is not yet possible to make unique copies of Objective-C or Java types
% Duplicating an Objective-C or Java type using \var{type x = type y;} is not yet supported. You may be able to
% obtain the desired effect using \var{type x = objcclass(y) end;} resp.{} \var{type x = class(y) end;} instead.
parser_e_no_category_as_types=03277_E_Objective-C categories and Object Pascal class helpers cannot be used as types
% It is not possible to declare a variable as an instance of an Objective-C
% category or an Object Pascal class helper. A category/class helper adds
% methods to the scope of an existing class, but does not define a type by
% itself. An exception of this rule is when inheriting an Object Pascal class
% helper from another class helper.
parser_e_no_category_override=03278_E_Categories do not override, but replace methods. Use "reintroduce" instead.
parser_e_must_use_reintroduce_objc=03279_E_Replaced methods can only be reintroduced in Objective-C, add "reintroduce" (replaced method defined in $1).
parser_h_should_use_reintroduce_objc=03280_H_Replaced methods can only be reintroduced in Objective-C, add "reintroduce" (replaced method defined in $1).
% A category replaces an existing method in an Objective-C class, rather than that it overrides it.
% Calling an inherited method from an category method will call that method in
% the extended class' parent, not in the extended class itself. The
% replaced method in the original class is basically lost, and can no longer be
% called or referred to. This behaviour corresponds somewhat more closely to
% \var{reintroduce} than to \var{override} (although in case of \var{reintroduce}
% in Object Pascal, hidden methods are still reachable via inherited).
% The type in which the inherited method is defined is explicitly mentioned, because this may either
% be an objcclass or an objccategory.
parser_e_implements_getter_not_default_cc=03281_E_Getter for implements interface must use the target's default calling convention.
% Interface getters are called via a helper in the run time library, and hence
% have to use the default calling convention for the target (\var{register} on
% i386 and x86\_64, \var{stdcall} on other architectures).
parser_e_no_refcounted_typed_file=03282_E_Typed files cannot contain reference-counted types.
% The data in a typed file cannot be of a reference counted type (such as
% \var{ansistring} or a record containing a field that is reference counted).
parser_e_operator_not_overloaded_2=03283_E_Operator is not overloaded: $2 "$1"
% You are trying to use an overloaded operator when it is not overloaded for
% this type.
parser_e_operator_not_overloaded_3=03284_E_Operator is not overloaded: "$1" $2 "$3"
% You are trying to use an overloaded operator when it is not overloaded for
% this type.
parser_e_more_array_elements_expected=03285_E_Expected another $1 array elements
% When declaring a typed constant array, you provided to few elements to initialize the array
parser_e_string_const_too_long=03286_E_String constant too long while ansistrings are disabled
% Only when a piece of code is compiled with ansistrings enabled (\var{\{\$H+\}}), string constants
% longer than 255 characters are allowed.
parser_e_invalid_univ_para=03287_E_Type cannot be used as univ parameter because its size is unknown at compile time: "$1"
% \var{univ} parameters are compatible with all values of the same size, but this
% cannot be checked in case a parameter's size is unknown at compile time.
parser_e_only_one_class_constructor_allowed=03288_E_Only one class constructor can be declared in class: "$1"
% You are trying to declare more than one class constructor but only one class constructor can be declared.
parser_e_only_one_class_destructor_allowed=03289_E_Only one class destructor can be declared in class: "$1"
% You are trying to declare more than one class destructor but only one class destructor can be declared.
parser_e_no_paras_for_class_constructor=03290_E_Class constructors cannot have parameters
% You are declaring a class constructor with a parameter list. Class constructor methods
% cannot have parameters.
parser_e_no_paras_for_class_destructor=03291_E_Class destructors cannot have parameters
% You are declaring a class destructor with a parameter list. Class destructor methods
% cannot have parameters.
parser_f_modeswitch_objc_required=03292_F_This construct requires the \{\$modeswitch objectivec1\} mode switch to be active
% Objective-Pascal constructs are not supported when \{\$modeswitch ObjectiveC1\}
% is not active.
parser_e_widestring_to_ansi_compile_time=03293_E_Unicodechar/string constants cannot be converted to ansi/shortstring at compile-time
% It is not possible to use unicodechar and unicodestring constants in
% constant expressions that have to be converted into an ansistring or shortstring
% at compile time, for example inside typed constants. The reason is that the
% compiler cannot know what the actual ansi encoding will be at run time.
parser_e_objc_enumerator_2_0=03294_E_For-in Objective-Pascal loops require \{\$modeswitch ObjectiveC2\} to be active
% Objective-C ``fast enumeration'' support was added in Objective-C 2.0, and
% hence the appropriate modeswitch has to be activated to expose this feature.
% Note that Objective-C 2.0 programs require Mac OS X 10.5 or later.
parser_e_objc_missing_enumeration_defs=03295_E_The compiler cannot find the NSFastEnumerationProtocol or NSFastEnumerationState type in the CocoaAll unit
% Objective-C for-in loops (fast enumeration) require that the compiler can
% find a unit called CocoaAll that contains definitions for the
% NSFastEnumerationProtocol and NSFastEnumerationState types. If you get this
% error, most likely the compiler is finding and loading an alternate CocoaAll
% unit.
parser_e_no_procvarnested_const=03296_E_Typed constants of the type 'procedure is nested' can only be initialized with NIL and global procedures/functions
% A nested procedural variable consists of two components: the address of the
% procedure/function to call (which is always known at compile time), and also
% a parent frame pointer (which is never known at compile time) in case the
% procedural variable contains a reference to a nested procedure/function.
% Therefore such typed constants can only be initialized with global
% functions/procedures since these do not require a parent frame pointer.
parser_f_no_generic_inside_generic=03297_F_Declaration of generic inside another generic is not allowed
% At the moment, scanner supports recording of only one token buffer at the time
% (guarded by internal error 200511173 in tscannerfile.startrecordtokens).
% Since generics are implemented by recording tokens, it is not possible to
% have declaration of a generic (type or method) inside another generic.
parser_e_forward_intf_declaration_must_be_resolved=03298_E_Forward declaration "$1" must be resolved before a class can conform to or implement it
% An Objective-C protocol or Java Interface must be fully defined before classes can conform to it.
% This error occurs in the following situation (example for Objective-C, but the same goes for Java interfaces):
% \begin{verbatim}
%  Type MyProtocol = objcprotoocl;
%       ChildClass = Class(NSObject,MyProtocol)
%         ...
%       end;
% \end{verbatim}
% where \var{MyProtocol} is declared but not defined.
parser_e_no_record_published=03299_E_Record types cannot have published sections
% Published sections can be used only inside classes.
parser_e_no_destructor_in_records=03300_E_Destructors are not allowed in records or helpers
% Destructor declarations are not allowed in records or helpers.
parser_e_class_methods_only_static_in_records=03301_E_Class methods must be static in records
% Class methods declarations are not allowed in records without static modifier.
% Records have no inheritance and therefore non static class methods have no sense for them.
parser_e_no_parameterless_constructor_in_records=03302_E_Parameterless constructors are not allowed in records or record/type helpers
% Constructor declarations with no arguments are not allowed in records or record/type helpers.
parser_e_at_least_one_argument_must_be_of_type=03303_E_Either the result or at least one parameter must be of type "$1"
% It is required that either the result of the routine or at least one of its parameters be of the specified type.
% For example class operators either take an instance of the structured type in which they are defined, or they return one.
parser_e_cant_use_type_parameters_here=03304_E_Type parameters may require initialization/finalization - cannot be used in variant records
% Type parameters may be specialized with types which (e.g. \var{ansistring}) need initialization/finalization
% code which is implicitly generated by the compiler.
parser_e_externals_no_section=03305_E_Variables being declared as external cannot be in a custom section
% A section directive is not valid for variables being declared as external.
parser_e_section_no_locals=03306_E_Non-static and non-global variables cannot have a section directive
% A variable placed in a custom section is always statically allocated so it must be either a static or global variable.
parser_e_not_allowed_in_helper=03307_E_"$1" is not allowed in helper types
% Some directives and specifiers like "virtual", "dynamic", "override" are not
% allowed inside helper types in mode ObjFPC (they are ignored in mode Delphi),
% because they have no meaning within helpers. Also "abstract" isn't allowed in
% either mode.
parser_e_no_class_constructor_in_helpers=03308_E_Class constructors are not allowed in helpers
% Class constructor declarations are not allowed in helpers.
parser_e_inherited_not_in_record=03309_E_The use of "inherited" is not allowed in a record
% As records don't support inheritance the use of "inherited" is prohibited for
% these as well as for record helpers (in mode "Delphi" only).
parser_e_no_types_in_local_anonymous_records=03310_E_Type declarations are not allowed in local or anonymous records
% Records with types must be defined globally. Types cannot be defined inside records which are defined in a
% procedure or function or in anonymous records.
parser_e_duplicate_implements_clause=03311_E_Duplicate implements clause for interface "$1"
% A class may delegate an interface using the "implements" clause only to a single property. Delegating it multiple times
% is a error.
parser_e_mapping_no_implements=03312_E_Interface "$1" cannot be delegated by "$2", it already has method resolutions
% Method resolution clause maps a method of an interface to a method of the current class. Therefore the current class
% has to implement the interface directly. Delegation is not possible.
parser_e_implements_no_mapping=03313_E_Interface "$1" cannot have method resolutions, "$2" already delegates it
% Method resolution is only possible for interfaces that are implemented directly, not by delegation.
parser_e_invalid_codepage=03314_E_Invalid codepage
% When declaring a string with a given codepage, the range of valid codepages values is limited
% to 0 to 65535.
parser_e_final_only_const_var=03315_E_Only fields (var-sections) and constants can be final in object types
% A final (class) field must be assigned a single value in the (class) constructor, and cannot
% be overwritten afterwards. A final (typed) constant is read-only.
parser_e_final_only_external=03316_E_Final fields are currently only supported for external classes
% Support for final fields in non-external classes requires a full data flow
% analysis implementation in FPC, which it currently still lacks.
parser_e_no_typed_const=03317_E_Typed constants are not allowed here, only formal constants are
% Java interfaces define a namespace in which formal constant can be defined,
% but since they define no storage it is not possible to define typed constants
% in them (those are more or less the same as initialised class fields).
parser_e_java_no_inherited_constructor=03318_E_Constructors are not automatically inherited in the JVM; explicitly add a constructor that calls the inherited one if you need it
% Java does not automatically add inherited constructors to child classes, so that they can be hidden.
% For compatibility with external Java code, FPC does the same. If you require access to the same
% constructors in a child class, define them in the child class and call the inherited one from
% there.
parser_d_internal_parser_string=03319_D_Parsing internally generated code: $1
% The compiler sometimes internally constructs Pascal code that is subsequently
% injected into the program. These messages display such code, in order to help
% with debugging errors in them.
parser_e_feature_unsupported_for_vm=03320_E_This language feature is not supported on managed VM targets
% Certain language features are not supported on targets that are managed virtual machines.
parser_e_jvm_invalid_virtual_constructor_call=03321_E_Calling a virtual constructor for the current instance inside another constructor is not possible on the JVM target
% The JVM does not natively support virtual constructor. Unforunately, we are not aware of a way to
% emulate them in a way that makes it possible to support calling virtual constructors
% for the current instance inside another constructor.
parser_e_method_lower_visibility=03322_E_Overriding method "$1" cannot have a lower visibility ($2) than in parent class $3 ($4)
% The JVM does not allow lowering the visibility of an overriding method.
parser_e_nostackframe_without_assembler=03323_E_Procedure/Function declared with call option NOSTACKFRAME but without ASSEMBLER
% nostackframe call modifier is supposed to be used in conjunction with assembler.
parser_e_nostackframe_with_locals=03324_E_Procedure/Function declared with call option NOSTACKFRAME but local stack size is $1
% nostackframe call modifier used without assembler modifier
% might still generate local stack needs.
parser_e_cannot_generate_property_getter_setter=03325_E_Cannot generate property getter/setter $1 because its name clashes with existing identifier $2
% Automatically generated getters/setters cannot have the same name as existing
% identifiers, because this may change the behaviour of existing code.
parser_w_overriding_property_getter_setter=03326_W_Automatically generated property getter/setter $1 overrides the same-named getter/setter in class $2
% Automatically generated property getters/setters on the JVM platform are virtual methods, because
% the JVM does not support non-virtual methods that can be changed in child classes. This means
% that if a child class changes an inherited property definition, the behaviour of that property
% can change compared to native targets since even if a variable is declared as the parent type,
% by calling the virtual method the getter from the child will be used. This is different from
% the behaviour on native targets or when not activating automatically generated setters/getters,
% because in that case only the declared type of a variable influences the property behaviour.
parser_w_case_difference_auto_property_getter_setter_prefix=03327_W_Case mismatch between declared property getter/setter $1 and automatically constructed name $2, not changing declared name
% If a property's specified getter/setter already corresponded to the naming convention specified
% by the automatic getter/setter generation setting except in terms of upper/lowercase, the
% compiler will print a warning because it cannot necessarily change that other declaration itself
% not can it add one using the correct case (it could conflict with the original declaration).
% Manually correct the case of the getter/setter to conform to the desired coding rules.
% \var{TChild} overrides
parser_e_no_consts_in_local_anonymous_records=03328_E_Constants declarations are not allowed in local or anonymous records
% Records with constants must be defined globally. Constants cannot be defined inside records which are defined in a
% procedure or function or in anonymous records.
parser_e_no_methods_in_local_anonymous_records=03329_E_Method declarations are not allowed in local or anonymous records
% Records with methods must be defined globally. Methods cannot be defined inside records which are defined in a
% procedure or function or in anonymous records.
parser_e_no_properties_in_local_anonymous_records=03330_E_Property declarations are not allowed in local or anonymous records
% Records with properties must be defined globally. Properties cannot be defined inside records which are defined in a
% procedure or function or in anonymous records.
parser_e_no_class_in_local_anonymous_records=03331_E_Class member declarations are not allowed in local or anonymous records
% Records with class members must be defined globally. Class members cannot be defined inside records which are defined in a
% procedure or function or in anonymous records.
parser_e_not_allowed_in_record=03332_E_Visibility section "$1" not allowed in records
% The visibility sections \var(protected) and \var(strict protected) are only
% useful together with inheritance. Since records do not support that they are
% forbidden.
parser_e_dir_not_allowed=03333_E_Directive "$1" not allowed here
% This directive is not allowed in the given context. E.g. "static"
% is not allowed for instance methods or class operators.
parser_e_no_assembler_in_generic=03334_E_Assembler blocks not allowed inside generics
% The use of assembler blocks/routines is not allowed inside generics.
parser_e_property_only_sgr=03335_E_Properties can be only static, global or inside structured types
% Properties cannot be declared local, only global, using the static
% directive or inside structured types.
parser_e_overloaded_have_same_mangled_name=03336_E_Overloaded routines have the same mangled name
% Some platforms, such as the JVM platform, encode the parameters in the routine name in
% a prescribed way, and this encoding may map different Pascal types to the same encoded
% (a.k.a.\ ``mangled'') name. This error can only be solved by removing or changing the
% conflicting definitions' parameter declarations or routine names.
parser_e_default_value_val_const=03337_E_Default values can only be specified for value, const and constref parameters
% A default parameter value allows you to not specify a value for this parameter
% when calling the routine, and the compiler will instead pass the specified
% default (constant) value. As a result, default values can only be specified
% for parameters that can accept constant values.
parser_w_ptr_type_ignored=03338_W_Pointer type "$1" ignored
% The specified pointer type modifier is ignored, because it is not supported on
% the current platform. This happens, for example, when a far pointer is
% declared on a non-x86 platform.
parser_e_global_generic_references_static=03339_E_Generic template in interface section references symbol in implementation section
% A generic declared in the interface section of a unit must not reference symbols that belong
% solely to the implementation section of that unit.
parser_u_already_compiled=03340_UL_Unit $1 has been already compiled meanwhile.
% This tells you that the recursive reading of the uses clauses triggered already
% a compilation of the current unit, so the current compilation can be aborted.
parser_e_explicit_method_implementation_for_specializations_not_allowed=03341_E_Explicit implementation of methods for specializations of generics is not allowed
% Methods introduced in a generic must be implemented for the generic. It is not possible to implement them only for specializations.
parser_e_no_genfuncs_in_interfaces=03342_E_Generic methods are not allowed in interfaces
% Generic methods are not allowed in interfaces, because there is no way to specialize a suitable
% implementation.
parser_e_genfuncs_cannot_be_virtual=03343_E_Generic methods can not be virtual
% Generic methods can not be declared as virtual as there'd need to be a VMT entry for each
% specialization. This is however not possible with a static VMT.
parser_e_packages_not_supported=03344_E_Dynamic packages not supported for target OS
% Support for dynamic packages is not implemented for the specified target OS
% or it is at least not tested and thus disabled.
parser_e_cannot_use_hardfloat_in_a_softfloat_environment=03345_E_The HardFloat directive cannot be used if soft float code is generated or fpu emulation is turned on
% The \var{HardFloat} directive can only be used if an instruction set is used which supports floating point operations.
parser_e_invalid_internal_function_index=03346_E_Index $1 is not a valid internal function index
% The index specified for the \var{compilerproc} directive is not an index that's recognized
% by the compiler.
parser_w_operator_overloaded_hidden_3=03347_W_Operator overload hidden by internal operator: "$1" $2 "$3"
% An operator overload is defined for the specified overload, but the internal overload by the compiler
% takes precedence. This only happens for operators that had been overloadable before (e.g. dynamic array + dynamic array),
% but aren't anymore due to an internal operator being defined while this behavior is controllable by a modeswitch
% (in case of dynamic arrays that is the modeswitch \var{ArrayOperators}).
parser_e_threadvar_must_be_class=03348_E_Thread variables inside classes or records must be class variables
% A \var{threadvar} section inside a class or record was started without it being prefixed by \var{class}.
parser_e_only_static_members_via_object_type=03349_E_Only static methods and static variables can be referenced through an object type
% This error occurs in a situation like the following:
% \begin{verbatim}
% Type
%    TObj = object
%      procedure test;
%    end;
%
% begin
%   TObj.test;
% \end{verbatim}
% \var{test} is not a static method and hence cannot be called through a type, but only using an instance.
parser_e_callthrough_varargs=03350_E_Cannot redeclare C-style variadic function "$1" as external on this platform; make its first declaration already external
% If a function is declared normally in the interface or as a forward declaration, and then later as external, the compiler
% must generate a stub that calls the external function. Due to code generation limitations, this cannot be done on some
% platforms. Even on platforms where it is supported, this is quite inefficient.
parser_e_unbound_attribute=03351_E_Unbound custom attribute: "$1".
% A custom attribute is defined, but there is no identifier to bind it to.
parser_e_enumeration_out_of_range=03352_E_Enumeration symbols can only have values in the range of -2^31 to 2^31-1
% The size of enumeration values is limited to 4 bytes. As the value can be signed, the range
% of valid values is limited to a signed 32 Bit value (i.e. \var{longint}).
parser_w_enumeration_out_of_range=03353_W_Enumeration symbols can only have values in the range of -2^31 to 2^31-1
% The size of enumeration values is limited to 4 bytes. As the value can be signed, the range
% of valid values is limited to a signed 32 Bit value (i.e. \var{longint}).
parser_e_method_for_type_in_other_unit=03354_E_Implementing a method for type "$1" declared in another unit
% This error occurs if one tries to define a method for a type that is originally declared
% in a different unit.
parser_e_generic_constraints_not_allowed_here=03355_E_Generic constraint not allowed here
% At the current location specifying a constraint is not allowed. For example
% in delphi mode, a constraint might not be specified in the header of the implementation.
parser_e_location_size_too_small=03356_E_Explicit location is too small for parameter
% AmigaOS/MorphOS syscall specific: for int64/qword parameter only a single register location is specified
parser_e_location_size_too_large=03357_E_Explicit location size is larger than required by parameter
% AmigaOS/MorphOS syscall specific: for a parameter which is smaller than 64bit, a register pair is specified
parser_e_location_regpair_only_data=03358_E_Only data registers are supported for explicit location register pairs
% AmigaOS/MorphOS syscall specific: for 64bit register pairs, only data registers are supported
parser_e_location_regpair_only_consecutive=03359_E_Only consecutive registers are supported for explicit location register pairs
% MorphOS syscall specific: only consecutive (f.e.: d1-d2) registers are supported for 64bit register pairs
parser_e_constructurs_cannot_take_type_parameters=03360_E_Constructors cannot take type parameters
% The use of type parameters in constructors is not allowed.
%
% \end{description}
%
# Type Checking
#
# 04128 is the last used one
#
% \section{Type checking errors}
% This section lists all errors that can occur when type checking is
% performed.
% \begin{description}
type_e_mismatch=04000_E_Type mismatch
% This can happen in many cases:
% \begin{itemize}
% \item The variable you're assigning to is of a different type than the
% expression in the assignment.
% \item You are calling a function or procedure with parameters that are
% incompatible with the parameters in the function or procedure definition.
% \end{itemize}
type_e_incompatible_types=04001_E_Incompatible types: got "$1" expected "$2"
% There is no conversion possible between the two types.
% Another possibility is that they are declared in different
% declarations:
% \begin{verbatim}
% Var
%    A1 : Array[1..10] Of Integer;
%    A2 : Array[1..10] Of Integer;
%
% Begin
%    A1:=A2; { This statement also gives this error. It
%              is due to the strict type checking of Pascal }
% End.
% \end{verbatim}
type_e_not_equal_types=04002_E_Type mismatch between "$1" and "$2"
% The types are not equal.
type_e_type_id_expected=04003_E_Type identifier expected
% The identifier is not a type, or you forgot to supply a type identifier.
type_e_variable_id_expected=04004_E_Variable identifier expected
% This happens when you pass a constant to a routine (such as \var{Inc} var or \var{Dec})
% when it expects a variable. You can only pass variables as arguments to these functions.
type_e_integer_expr_expected=04005_E_Integer expression expected, but got "$1"
% The compiler expects an expression of type integer, but gets a different
% type.
type_e_boolean_expr_expected=04006_E_Boolean expression expected, but got "$1"
% The expression must be a boolean type. It should be return \var{True} or
% \var{False}.
type_e_ordinal_expr_expected=04007_E_Ordinal expression expected
% The expression must be of ordinal type, i.e., maximum a \var{Longint}.
% This happens, for instance, when you specify a second argument
% to \var{Inc} or \var{Dec} that doesn't evaluate to an ordinal value.
type_e_pointer_type_expected=04008_E_Pointer type expected, but got "$1"
% The variable or expression isn't of the type \var{pointer}. This
% happens when you pass a variable that isn't a pointer to \var{New}
% or \var{Dispose}.
type_e_class_type_expected=04009_E_Class type expected, but got "$1"
% The variable or expression isn't of the type \var{class}. This happens
% typically when
% \begin{enumerate}
% \item The parent class in a class declaration isn't a class.
% \item An exception handler (\var{On}) contains a type identifier that
% isn't a class.
% \end{enumerate}
type_e_cant_eval_constant_expr=04011_E_Can't evaluate constant expression
% This error can occur when the bounds of an array you declared do
% not evaluate to ordinal constants.
type_e_set_element_are_not_comp=04012_E_Set elements are not compatible
% You are trying to perform an operation on two sets, when the set element types
% are not the same. The base type of a set must be the same when taking the
% union.
type_e_set_operation_unknown=04013_E_Operation not implemented for sets
% several binary operations are not defined for sets.
% These include: \var{div}, \var{mod}, \var{**}, \var{>=} and \var{<=}.
% The last two may be  defined for sets in the future.
type_w_convert_real_2_comp=04014_W_Automatic type conversion from floating type to COMP which is an integer type
% An implicit type conversion from a real type to a \var{comp} is
% encountered. Since \var{comp} is a 64 bit integer type, this may indicate
% an error.
type_h_use_div_for_int=04015_H_Use DIV instead to get an integer result
% When hints are on, then an integer division with the '/' operator will
% produce this message, because the result will then be of type real.
type_e_strict_var_string_violation=04016_E_String types have to match exactly in $V+ mode
% When compiling in \var{\{\$V+\}} mode, the string you pass as a parameter
% should be of the exact same type as the declared parameter of the procedure.
type_e_succ_and_pred_enums_with_assign_not_possible=04017_E_Succ or Pred on enums with assignments not possible
% If you declare an enumeration type which has C-like assignments
% in it, such as in the following:
% \begin{verbatim}
%   Tenum = (a,b,e:=5);
% \end{verbatim}
% then you cannot use the \var{Succ} or \var{Pred} functions with this enumeration.
type_e_cant_read_write_type=04018_E_Can't read or write variables of this type
% You are trying to \var{read} or \var{write} a variable from or to a
% file of type text, which doesn't support that variable's type.
% Only integer types, reals, pchars and strings can be read from or
% written to a text file. Booleans can only be written to text files.
type_e_no_readln_writeln_for_typed_file=04019_E_Can't use readln or writeln on typed file
% \var{readln} and \var{writeln} are only allowed for text files.
type_e_no_read_write_for_untyped_file=04020_E_Can't use read or write on untyped file.
% \var{read} and \var{write} are only allowed for text or typed files.
type_e_typeconflict_in_set=04021_E_Type conflict between set elements
% There is at least one set element which is of the wrong type, i.e. not of
% the set type.
type_w_maybe_wrong_hi_lo=04022_W_lo/hi(dword/qword) returns the upper/lower word/dword
% \fpc supports an overloaded version of \var{lo/hi} for \var{longint/dword/int64/qword}
% which returns the lower/upper word/dword of the argument. \tp always uses
% a 16 bit \var{lo/hi} which always returns bits 0..7 for \var{lo} and the
% bits 8..15 for \var{hi}. If you want the \tp behavior you have
% to type cast the argument to a \var{word} or \var{integer}.
type_e_integer_or_real_expr_expected=04023_E_Integer or real expression expected
% The first argument to \var{str} must be a real or integer type.
type_e_wrong_type_in_array_constructor=04024_E_Wrong type "$1" in array constructor
% You are trying to use a type in an array constructor which is not
% allowed.
type_e_wrong_parameter_type=04025_E_Incompatible type for arg no. $1: Got "$2", expected "$3"
% You are trying to pass an invalid type for the specified parameter.
type_e_no_method_and_procedure_not_compatible=04026_E_Method (variable) and Procedure (variable) are not compatible
% You cannot assign a method to a procedure variable or a procedure to a
% method pointer.
type_e_wrong_math_argument=04027_E_Illegal constant passed to internal math function
% The constant argument passed to a \var{ln} or \var{sqrt} function is out of
% the definition range of these functions.
type_e_no_addr_of_constant=04028_E_Can't take the address of constant expressions
% It is not possible to get the address of a constant expression, because they
% are not stored in memory. You can try making it a typed constant. This error
% can also be displayed if you try to pass a property to a var parameter.
type_e_argument_cant_be_assigned=04029_E_Argument cannot be assigned to
% Only expressions which can be on the left side of an
% assignment can be passed as call by reference arguments.
%
% Remark: Properties can be used on the left side of an assignment,
% nevertheless they cannot be used as arguments.
type_e_cannot_local_proc_to_procvar=04030_E_Can't assign local procedure/function to procedure variable
% It's not allowed to assign a local procedure/function to a
% procedure variable, because the calling convention of a local procedure/function is
% different. You can only assign local procedure/function to a void pointer.
type_e_no_assign_to_addr=04031_E_Can't assign values to an address
% It is not allowed to assign a value to an address of a variable, constant,
% procedure or function. You can try compiling with -So if the identifier
% is a procedure variable.
type_e_no_assign_to_const=04032_E_Can't assign values to const variable
% It's not allowed to assign a value to a variable which is declared
% as a const. This is normally a parameter declared as const. To allow
% changing the value, pass the parameter by value, or a parameter by reference
% (using var).
type_e_array_required=04033_E_Array type required
% If you are accessing a variable using an index '[<x>]' then
% the type must be an array. In FPC mode a pointer is also allowed.
type_e_interface_type_expected=04034_E_Interface type expected, but got "$1"
% The compiler expected to encounter an interface type name, but got something else.
% The following code would produce this error:
% \begin{verbatim}
% Type
%   TMyStream = Class(TStream,Integer)
% \end{verbatim}
type_h_mixed_signed_unsigned=04035_H_Mixing signed expressions and longwords gives a 64bit result
% If you divide (or calculate the modulus of) a signed expression by a longword (or vice versa),
% or if you have overflow and/or range checking turned on and use an arithmetic
% expression (+, -, *, div, mod) in which both signed numbers and longwords appear,
% then everything has to be evaluated in 64-bit arithmetic which is slower than normal
% 32-bit arithmetic. You can avoid this by typecasting one operand so it
% matches the result type of the other one.
type_w_mixed_signed_unsigned2=04036_W_Mixing signed expressions and cardinals here may cause a range check error
% If you use a binary operator (and, or, xor) and one of
% the operands is a longword while the other one is a signed expression, then,
% if range checking is turned on, you may get a range check error because in
% such a case both operands are converted to longword before the operation is
% carried out. You can avoid this by typecasting one operand so it
% matches the result type of the other one.
type_e_typecast_wrong_size_for_assignment=04037_E_Typecast has different size ($1 -> $2) in assignment
% Type casting to a type with a different size is not allowed when the variable is
% used in an assignment.
type_e_array_index_enums_with_assign_not_possible=04038_E_Enums with assignments cannot be used as array index
% When you declared an enumeration type which has C-like
% assignments, such as in the following:
% \begin{verbatim}
%   Tenum = (a,b,e:=5);
% \end{verbatim}
% you cannot use it as the index of an array.
type_e_classes_not_related=04039_E_Class or Object types "$1" and "$2" are not related
% There is a typecast from one class or object to another while the class/object
% are not related. This will probably lead to errors.
type_w_classes_not_related=04040_W_Class types "$1" and "$2" are not related
% There is a typecast from one class to another while the classes
% are not related. This will probably lead to errors.
type_e_class_or_interface_type_expected=04041_E_Class or interface type expected, but got "$1"
% The compiler expected a class or interface name, but got another type or identifier.
type_e_type_is_not_completly_defined=04042_E_Type "$1" is not completely defined
% This error occurs when a type is not complete: i.e. a pointer type which points to
% an undefined type.
type_w_string_too_long=04043_W_String literal has more characters than short string length
% The size of the constant string, which is assigned to a shortstring,
% is longer than the maximum size of the shortstring (255 characters).
type_w_comparison_always_false=04044_W_Comparison might be always false due to range of constant and expression
% There is a comparison between a constant and an expression where the constant is out of the
% valid range of values of the expression. Because of type promotion, the statement will always evaluate to
% false. Explicitly typecast the constant or the expression to the correct range to avoid this warning
% if you think the code is correct.
type_w_comparison_always_true=04045_W_Comparison might be always true due to range of constant and expression
% There is a comparison between a constant and an expression where the constant is out of the
% valid range of values of the expression. Because of type promotion, the statement will always evaluate to
% true. Explicitly typecast the constant or the expression to the correct range to avoid this warning
% if you think the code is correct.
type_w_instance_with_abstract=04046_W_Constructing a class "$1" with abstract method "$2"
% An instance of a class is created which contains non-implemented abstract
% methods. This will probably lead to a runtime error 211 in the code if that
% routine is ever called. All abstract methods should be overridden.
type_h_in_range_check=04047_H_The left operand of the IN operator should be byte sized
% The left operand of the \var{in} operator is not an ordinal or enumeration which fits
% within 8 bits. This may lead to range check errors. The \var{in} operator
% currently only supports a left operand which fits within a byte. In the case of
% enumerations, the size of an element of an enumeration can be controlled with
% the \var{\{\$PACKENUM\}} or \var{\{\$Zn\}} switches.
type_w_smaller_possible_range_check=04048_W_Type size mismatch, possible loss of data / range check error
% There is an assignment to a smaller type than the source type. This means that
% this may cause a range-check error, or may lead to possible loss of data.
type_h_smaller_possible_range_check=04049_H_Type size mismatch, possible loss of data / range check error
% There is an assignment to a smaller type than the source type. This means that
% this may cause a range-check error, or may lead to possible loss of data.
type_e_cant_take_address_of_abstract_method=04050_E_The address of an abstract method cannot be taken
% An abstract method has no body, so the address of an abstract method cannot be taken.
type_e_assignment_not_allowed=04051_E_Assignments to formal parameters and open arrays are not possible
% You are trying to assign a value to a formal (untyped var, const or out)
% parameter, or to an open array.
type_e_constant_expr_expected=04052_E_Constant Expression expected
% The compiler expects an constant expression, but gets a variable expression.
type_e_operator_not_supported_for_types=04053_E_Operation "$1" not supported for types "$2" and "$3"
% The operation is not allowed for the supplied types.
type_e_illegal_type_conversion=04054_E_Illegal type conversion: "$1" to "$2"
% When doing a type-cast, you must take care that the sizes of the variable and
% the destination type are the same.
type_h_pointer_to_longint_conv_not_portable=04055_H_Conversion between ordinals and pointers is not portable
% If you typecast a pointer to a longint (or vice-versa), this code will not compile
% on a machine using 64 bits addressing.
type_w_pointer_to_longint_conv_not_portable=04056_W_Conversion between ordinals and pointers is not portable
% If you typecast a pointer to an ordinal type of a different size (or vice-versa), this can
% cause problems. This is a warning to help in finding the 32-bit specific code where cardinal/longint is used
% to typecast pointers to ordinals. A solution is to use the ptrint/ptruint types instead.
type_e_cant_choose_overload_function=04057_E_Can't determine which overloaded function to call
% You're calling overloaded functions with a parameter that doesn't correspond
% to any of the declared function parameter lists. e.g. when you have declared
% a function with parameters \var{word} and \var{longint}, and then you call
% it with a parameter which is of type \var{integer}.
type_e_illegal_count_var=04058_E_Illegal counter variable
% The type of a \var{for} loop variable must be an ordinal type.
% Loop variables cannot be reals or strings.
type_w_double_c_varargs=04059_W_Converting constant real value to double for C variable argument, add explicit typecast to prevent this.
% In C, constant real values are double by default. For this reason, if you
% pass a constant real value to a variable argument part of a C function, FPC
% by default converts this constant to double as well. If you want to prevent
% this from happening, add an explicit typecast around the constant.
type_e_class_or_cominterface_type_expected=04060_E_Class or COM interface type expected, but got "$1"
% Some operators, such as the AS operator, are only applicable to classes or COM interfaces.
type_e_no_const_packed_array=04061_E_Constant packed arrays are not yet supported
% You cannot declare a (bit)packed array as a typed constant.
type_e_got_expected_packed_array=04062_E_Incompatible type for arg no. $1: Got "$2" expected "(Bit)Packed Array"
% The compiler expects a (bit)packed array as the specified parameter.
type_e_got_expected_unpacked_array=04063_E_Incompatible type for arg no. $1: Got "$2" expected "(not packed) Array"
% The compiler expects a regular (i.e., not packed) array as the specified parameter.
type_e_no_packed_inittable=04064_E_Elements of packed arrays cannot be of a type which need to be initialised
% Support for packed arrays of types that need initialization
% (such as ansistrings, or records which contain ansistrings) is not yet implemented.
type_e_no_const_packed_record=04065_E_Constant packed records and objects are not yet supported
% You cannot declare a (bit)packed array as a typed constant at this time.
type_w_untyped_arithmetic_unportable=04066_W_Arithmetic "$1" on untyped pointer is unportable to {$T+}, suggest typecast
% Addition/subtraction from an untyped pointer may work differently in \var{\{\$T+\}}.
% Use a typecast to a typed pointer.
type_e_cant_take_address_of_local_subroutine=04076_E_Can't take address of a subroutine marked as local
% The address of a subroutine marked as local cannot be taken.
type_e_cant_export_local=04077_E_Can't export subroutine marked as local from a unit
% A subroutine marked as local cannot be exported from a unit.
type_e_not_automatable=04078_E_Type is not automatable: "$1"
% Only byte, integer, longint, smallint, currency, single, double, ansistring,
% widestring, tdatetime, variant, olevariant, wordbool and all interfaces are automatable.
type_h_convert_add_operands_to_prevent_overflow=04079_H_Converting the operands to "$1" before doing the add could prevent overflow errors.
% Adding two types can cause overflow errors. Since you are converting the result to a larger type, you
% could prevent such errors by converting the operands to this type before doing the addition.
type_h_convert_sub_operands_to_prevent_overflow=04080_H_Converting the operands to "$1" before doing the subtract could prevent overflow errors.
% Subtracting two types can cause overflow errors. Since you are converting the result to a larger type, you
% could prevent such errors by converting the operands to this type before doing the subtraction.
type_h_convert_mul_operands_to_prevent_overflow=04081_H_Converting the operands to "$1" before doing the multiply could prevent overflow errors.
% Multiplying two types can cause overflow errors. Since you are converting the result to a larger type, you
% could prevent such errors by converting the operands to this type before doing the multiplication.
type_w_pointer_to_signed=04082_W_Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
% The virtual address space on 32-bit machines runs from \$00000000 to \$ffffffff.
% Many operating systems allow you to allocate memory above \$80000000.
% For example both \windows and \linux allow pointers in the range \$0000000 to \$bfffffff.
% If you convert pointers to signed types, this can cause overflow and range check errors,
% but also \$80000000 < \$7fffffff. This can cause random errors in code like "if p>q".
type_e_interface_has_no_guid=04083_E_Interface type $1 has no valid GUID
% When applying the as-operator to an interface or class, the desired interface (i.e. the right operand of the
% as-operator) must have a valid GUID.
type_e_invalid_objc_selector_name=04084_E_Invalid selector name "$1"
% An Objective-C selector cannot be empty, must be a valid identifier or a single colon,
% and if it contains at least one colon it must also end in one.
type_e_expected_objc_method_but_got=04085_E_Expected Objective-C method, but got $1
% A selector can only be created for Objective-C methods, not for any other kind
% of procedure/function/method.
type_e_expected_objc_method=04086_E_Expected Objective-C method or constant method name
% A selector can only be created for Objective-C methods, either by specifying
% the name using a string constant, or by using an Objective-C method identifier
% that is visible in the current scope.
type_e_no_type_info=04087_E_No type info available for this type
% Type information is not generated for some types, such as enumerations with gaps
% in their value range (this includes enumerations whose lower bound is different
% from zero).
type_e_ordinal_or_string_expr_expected=04088_E_Ordinal or string expression expected
% The expression must be an ordinal or string type.
type_e_string_expr_expected=04089_E_String expression expected
% The expression must be a string type.
type_w_zero_to_nil=04090_W_Converting 0 to NIL
% Use NIL rather than 0 when initialising a pointer.
type_e_protocol_type_expected=04091_E_Objective-C protocol type expected, but got "$1"
% The compiler expected a protocol type name, but found something else.
type_e_objc_type_unsupported=04092_E_The type "$1" is not supported for interaction with the Objective-C and the blocks runtime.
% Objective-C and Blocks make extensive use of run time type information (RTTI). This format
% is defined by the maintainers of the run time and can therefore not be adapted
% to all possible Object Pascal types. In particular, types that depend on
% reference counting by the compiler (such as ansistrings and certain kinds of
% interfaces) cannot be used as fields of Objective-C classes, cannot be
% directly passed to Objective-C methods or Blocks, and cannot be encoded using \var{objc\_encode}.
type_e_class_or_objcclass_type_expected=04093_E_Class or objcclass type expected, but got "$1"
% It is only possible to create class reference types of \var{class} and \var{objcclass}
type_e_objcclass_type_expected=04094_E_Objcclass type expected
% The compiler expected an \var{objcclass} type
type_w_procvar_univ_conflicting_para=04095_W_Coerced univ parameter type in procedural variable may cause crash or memory corruption: $1 to $2
% \var{univ} parameters are implicitly compatible with all types of the same size,
% also in procedural variable definitions. That means that the following code is
% legal, because \var{single} and \var{longint} have the same size:
% \begin{verbatim}
% {$mode macpas}
% Type
%   TIntProc = procedure (l: univ longint);
%
%   procedure test(s: single);
%     begin
%       writeln(s);
%     end;
%
%   var
%     p: TIntProc;
%   begin
%     p:=test;
%     p(4);
%   end.
% \end{verbatim}
% This code may however crash on platforms that pass integers in registers and
% floating point values on the stack, because then the stack will be unbalanced.
% Note that this warning will not flag all potentially dangerous situations.
% when \var{test} returns.
type_e_generics_cannot_reference_itself=04096_E_Type parameters of specializations of generics cannot reference the currently specialized type
% Recursive specializations of generics like \var{Type MyType = specialize MyGeneric<MyType>;} are not possible.
type_e_type_parameters_are_not_allowed_here=04097_E_Type parameters are not allowed on non-generic class/record/object procedure or function
% Type parameters are only allowed for methods of generic classes, records or objects
type_e_generic_declaration_does_not_match=04098_E_Generic declaration of "$1" differs from previous declaration
% Generic declaration does not match the previous declaration
type_e_helper_type_expected=04099_E_Helper type expected
% The compiler expected a \var{class helper} type.
type_e_record_type_expected=04100_E_Record type expected
% The compiler expected a \var{record} type.
type_e_class_helper_must_extend_subclass=04101_E_Derived class helper must extend a subclass of "$1" or the class itself
% If a class helper inherits from another class helper the extended class must
% extend either the same class as the parent class helper or a subclass of it
type_e_record_helper_must_extend_same_record=04102_E_Derived record or type helper must extend "$1"
% If a record helper inherits from another record helper it must extend the same
% record that the parent record helper extended.
type_e_procedures_return_no_value=04103_E_Invalid assignment, procedures return no value
% This error occurs when one tries to assign the result of a procedure or destructor call.
% A procedure or destructor returns no value so this is not
% possible.
type_w_implicit_string_cast=04104_W_Implicit string type conversion from "$1" to "$2"
% An implicit type conversion from an ansi string type to an unicode string type is
% encountered. To avoid this warning perform an explicit type conversion.
type_w_implicit_string_cast_loss=04105_W_Implicit string type conversion with potential data loss from "$1" to "$2"
% An implicit type conversion from an unicode string type to an ansi string type is
% encountered. This conversion can lose data since not all unicode characters may be represented in the codepage of
% destination string type.
type_w_explicit_string_cast=04106_-W_Explicit string typecast from "$1" to "$2"
% An explicit typecast from an ansi string type to an unicode string type is
% encountered. This warning is off by default. You can turn it on to see all suspicious string conversions.
type_w_explicit_string_cast_loss=04107_-W_Explicit string typecast with potential data loss from "$1" to "$2"
% An explicit typecast from an unicode string type to an ansi string type is
% encountered. This conversion can lose data since not all unicode characters may be represented in the codepage of
% destination string type. This warning is off by default. You can turn it on to see all the places with lossy string
% conversions.
type_w_unicode_data_loss=04108_W_Unicode constant cast with potential data loss
% Conversion from a WideChar to AnsiChar can lose data since now all unicode characters may be represented in the current
% system codepage
% You can nest function definitions only 31 levels deep.
type_e_range_check_error_bounds=04109_E_Range check error while evaluating constants ($1 must be between $2 and $3)
type_w_range_check_error_bounds=04110_W_Range check error while evaluating constants ($1 must be between $2 and $3)
% The constants are outside their allowed range.
type_e_type_not_allowed_for_default=04111_E_This type is not supported for the Default() intrinsic
% Some types like for example Text and File Of X are not supported by the Default intrinsic.
type_e_java_class_method_not_static_virtual=04112_E_JVM virtual class methods cannot be static
% Virtual class methods cannot be static when targeting the JVM platform, because
% the self pointer is required for correct dispatching.
type_e_invalid_final_assignment=04113_E_Final (class) fields can only be assigned in their class' (class) constructor
% It is only possible to assign a value to a final (class) field inside a (class) constructor of its owning class.
type_e_no_managed_formal_assign_typecast=04114_E_It is not possible to typecast untyped parameters on managed platforms, simply assign a value to them instead.
% On managed platforms, untyped parameters are translated by the compiler into
% the equivalent of \var{var x: BaseClassType}. Non-class-based types passed to
% such parameters are automatically wrapped (or boxed) in a class, and after the
% call the potentially modified value is assigned back to the original variable.
% On the caller side, changing untyped var/out parameters happens by simply assigning
% values to them (either class-based or primitive ones). On the caller side,
% they will be extracted and if their type does not match the original variable's,
% an exception will be raised.
type_e_no_managed_assign_generic_typecast=04115_E_The assignment side of an expression cannot be typecasted to a supertype on managed platforms
% Managed platforms guarantee type safety at the bytecode level. This means that the virtual machine must be able
% to statically determine that no type-unsafe assignments or operations occur. By assigning a parent class type to a
% variable of a child type by typecasting the assignment side to the parent class type, the type safety would no
% longer be guaranteed and the generated code would fail verification at run time time.
type_w_interface_lower_visibility=04116_-W_The interface method "$1" raises the visibility of "$2" to public when accessed via an interface instance
type_e_interface_lower_visibility=04117_E_The interface method "$1" has a higher visibility (public) than "$2"
% All methods in an interface have always public visibility. That means that if
% an interface method is implemented using a (strict) protected or private method,
% this method is actually publicly accessible via the interface. On the JVM
% target this situation results in an error because the JVM rejects such
% attempts to circumvent the visibility rules. On other targets this is a
% warning that is disabled by default because such situations are common
% practice, but it can be enabled in case you are concerned with keeping your
% code compilable for the JVM target.
type_e_typeof_requires_vmt=04118_E_TYPEOF can only be used on object types with VMT
% Typeof() intrinsic returns pointer to VMT of its argument. It cannot be used on object types that do not have VMT.
type_e_invalid_default_value=04119_E_It is not possible to define a default value for a parameter of type "$1"
% Parameters declared as structured types, such as files, variants, non-dynamic
% arrays and TP-style objects, cannot have a default value.
type_e_type_not_allowed_for_type_helper=04120_E_Type "$1" cannot be extended by a type helper
% Types like procedural variables cannot be extended by type helpers
type_e_procedure_must_be_far=04121_E_Procedure or function must be far in order to allow taking its address: "$1"
% In certain i8086 memory models (medium, large and huge), procedures and functions
% have to be declared 'far' in order to allow their address to be taken.
type_w_instance_abstract_class=04122_W_Creating an instance of abstract class "$1"
% The specified class is declared as \var{abstract} and thus no instance of this class
% should be created. This is merely a warning for Delphi compatibility.
type_e_function_reference_kind=04123_E_Subroutine references cannot be declared as "of object" or "is nested", they can always refer to any kind of subroutine
% Subroutine references can refer to any kind of subroutine and hence do not
% require specialisation for methods or nested subroutines.
type_e_seg_procvardef_wrong_memory_model=04124_E_Procedure variables in that memory model do not store segment information
type_w_empty_constant_range_set=04125_W_The first value of a set constructur range is greater then the second value, so the range describes an empty set.
% If a set is constructed like this: \var{s:=[9..7];]}, then an empty set is generated. As this is something normally not desired, the compiler warns about it.
type_e_cblock_callconv=04126_E_C block reference must use CDECL or MWPASCAL calling convention.
% When declaring a C block reference ensure that it uses either the \var{cdecl} or \var{mwpascal}
% calling convention either by adding the corresponding function directive or by using the
% \var{\{\$Calling\}} compiler directive.
type_e_forward_interface_type_does_not_match=04127_E_The interface type of the forward declaration and the declared interface type do not match for interface $1
% When declaring an interface forward, the interface type must be the same as at the actual declaration of the interface.
% This is in particular important with regard to the parent interface which implicitly sets the interface type for the
% child interface.
type_e_generic_const_type_not_allowed=04128_E_Type not allowed for generic constant parameter: $1
% Only types that can also be used (indirectly) for untyped constants can be used as a
% type for a generic constant parameter.
type_e_cant_read_write_type_in_iso_mode=04129_E_Can't read or write variables of this type in iso mode
% You are trying to \var{read} or \var{write} a variable from or to a
% file of type text, which doesn't support that variable's type in the selected language mode (iso mode).
type_w_array_size_does_not_match_size_of_constant_string=04130_W_The length of the constant string (length is $1) must be equal to the number of array elements ($2 elements)
% ISO Pascal requires that string constants have the same length as the array to which them they are assigned.
%
% \end{description}
#
# Symtable
#
# 05098 is the last used one
#
% \section{Symbol handling}
% This section lists all the messages that concern the handling of symbols.
% This means all things that have to do with procedure and variable names.
% \begin{description}
sym_e_id_not_found=05000_E_Identifier not found "$1"
% The compiler doesn't know this symbol. Usually happens when you misspell
% the name of a variable or procedure, or when you forget to declare a
% variable.
sym_f_internal_error_in_symtablestack=05001_F_Internal Error in SymTableStack()
% An internal error occurred in the compiler; If you encounter such an error,
% please contact the developers and try to provide an exact description of
% the circumstances in which the error occurs.
sym_e_duplicate_id=05002_E_Duplicate identifier "$1"
% The identifier was already declared in the current scope.
sym_h_duplicate_id_where=05003_H_Identifier already defined in $1 at line $2
% The identifier was already declared in a previous scope.
sym_e_unknown_id=05004_E_Unknown identifier "$1"
% The identifier encountered has not been declared, or is used outside the
% scope where it is defined.
sym_e_forward_not_resolved=05005_E_Forward declaration not solved "$1"
% This can happen in two cases:
% \begin{itemize}
% \item You declare a function in the \var{interface} part, or
% with a \var{forward} directive, but do not implement it.
% \item You reference a type which isn't declared in the current \var{type}
% block.
% \end{itemize}
sym_e_error_in_type_def=05007_E_Error in type definition
% There is an error in your definition of a new array type.
% One of the range delimiters in an array declaration is erroneous.
% For example, \var{Array [1..1.25]} will trigger this error.
sym_e_forward_type_not_resolved=05009_E_Forward type not resolved "$1"
% A symbol was forward defined, but no declaration was encountered.
sym_e_only_static_in_static=05010_E_Only static variables can be used in static methods or outside methods
% A static method of an object can only access static variables.
sym_e_type_must_be_rec_or_object_or_class=05012_E_Record or object or class type expected
% The variable or expression isn't of the type \var{record} or \var{object} or \var{class}.
sym_e_no_instance_of_abstract_object=05013_E_Instances of classes or objects with an abstract method are not allowed
% You are trying to generate an instance of a class which has an abstract
% method that wasn't overridden.
sym_w_label_not_defined=05014_W_Label not defined "$1"
% A label was declared, but not defined.
sym_e_label_used_and_not_defined=05015_E_Label used but not defined "$1"
% A label was declared and used, but not defined.
sym_e_ill_label_decl=05016_E_Illegal label declaration
% This error should never happen; it occurs if a label is defined outside a
% procedure or function.
sym_e_goto_and_label_not_supported=05017_E_GOTO and LABEL are not supported (use switch -Sg)
% You must use the -Sg switch to compile a program which has \var{label}s
% and \var{goto} statements. By default, \var{label} and \var{goto} are not
% supported.
sym_e_label_not_found=05018_E_Label not found
% A \var{goto label} was encountered, but the label wasn't declared.
sym_e_id_is_no_label_id=05019_E_Identifier isn't a label
% The identifier specified after the \var{goto} isn't of type label.
sym_e_label_already_defined=05020_E_Label already defined
% You are defining a label twice. You can define a label only once.
sym_e_ill_type_decl_set=05021_E_Illegal type declaration of set elements
% The declaration of a set contains an invalid type definition.
sym_e_class_forward_not_resolved=05022_E_Forward class definition not resolved "$1"
% You declared a class, but you did not implement it.
sym_n_unit_not_used=05023_H_Unit "$1" not used in $2
% The unit referenced in the \var{uses} clause is not used.
sym_h_para_identifier_not_used=05024_H_Parameter "$1" not used
% The identifier was declared (locally or globally) but
% was not used (locally or globally).
sym_n_local_identifier_not_used=05025_N_Local variable "$1" not used
% You have declared, but not used, a variable in a procedure or function
% implementation.
sym_h_para_identifier_only_set=05026_H_Value parameter "$1" is assigned but never used
% The identifier was declared (locally or globally) and
% assigned to, but is not used (locally or globally) after the assignment.
sym_n_local_identifier_only_set=05027_N_Local variable "$1" is assigned but never used
% The variable in a procedure or function implementation is declared and
% assigned to, but is not used after the assignment.
sym_h_local_symbol_not_used=05028_H_Local $1 "$2" is not used
% A local symbol is never used.
sym_n_private_identifier_not_used=05029_N_Private field "$1.$2" is never used
% The indicated private field is defined, but is never used in the code.
sym_n_private_identifier_only_set=05030_N_Private field "$1.$2" is assigned but never used
% The indicated private field is declared and assigned to, but never read.
sym_n_private_method_not_used=05031_N_Private method "$1.$2" never used
% The indicated private method is declared but is never used in the code.
sym_e_set_expected=05032_E_Set type expected
% The variable or expression is not of type \var{set}. This happens in an
% \var{in} statement.
sym_w_function_result_not_set=05033_W_Function result does not seem to be set
% You can get this warning if the compiler thinks that a function return
% value is not set. This will not be displayed for assembler procedures,
% or procedures that contain assembler blocks.
sym_w_wrong_C_pack=05034_W_Type "$1" is not aligned correctly in current record for C
% Arrays with sizes not multiples of 4 will be wrongly aligned
% for C structures.
sym_e_illegal_field=05035_E_Unknown record field identifier "$1"
% The field doesn't exist in the record/object definition.
sym_w_uninitialized_local_variable=05036_W_Local variable "$1" does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. appeared in the left-hand side of an
% assignment).
sym_w_uninitialized_variable=05037_W_Variable "$1" does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. appeared in the left-hand side of an
% assignment).
sym_e_id_no_member=05038_E_Identifier idents no member "$1"
% This error is generated when an identifier of a record,
% field or method is accessed while it is not defined.
sym_h_param_list=05039_H_Found declaration: $1
% You get this when you use the \var{-vh} switch.In the case of an overloaded procedure
% not being found. Then all candidate overloaded procedures are
% listed, with their parameter lists.
sym_e_segment_too_large=05040_E_Data element too large
% You get this when you declare a data element whose size exceeds the
% prescribed limit (2 Gb on 80386+/68020+ processors).
sym_e_no_matching_implementation_found=05042_E_No matching implementation for interface method "$1" found
% There was no matching method found which could implement the interface
% method. Check argument types and result type of the methods.
sym_w_deprecated_symbol=05043_W_Symbol "$1" is deprecated
% This means that a symbol (a variable, routine, etc...) which is
% declared as \var{deprecated} is used. Deprecated symbols may no longer
% be available in newer versions of the unit / library. Use of this symbol
% should be avoided as much as possible.
sym_w_non_portable_symbol=05044_W_Symbol "$1" is not portable
% This means that a symbol (a variable, routine, etc...) which is
% declared as \var{platform} is used. This symbol's value, use
% and availability is platform specific and should not be used
% if the source code must be portable.
sym_w_non_implemented_symbol=05055_W_Symbol "$1" is not implemented
% This means that a symbol (a variable, routine, etc...) which is
% declared as \var{unimplemented} is used. This symbol is defined,
% but is not yet implemented on this specific platform.
sym_e_cant_create_unique_type=05056_E_Can't create unique type from this type
% Only simple types like ordinal, float and string types are supported when
% redefining a type with \var{type newtype = type oldtype;}.
sym_h_uninitialized_local_variable=05057_H_Local variable "$1" does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. it did not appear in the left-hand side of an
% assignment).
sym_h_uninitialized_variable=05058_H_Variable "$1" does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. t did not appear in the left-hand side of an
% assignment).
sym_w_function_result_uninitialized=05059_W_Function result variable does not seem to be initialized
% This message is displayed if the compiler thinks that the function result
% variable will be used (i.e. it appears in the right-hand side of an expression)
% before it is initialized (i.e. before it appeared in the left-hand side of an
% assignment).
sym_h_function_result_uninitialized=05060_H_Function result variable does not seem to be initialized
% This message is displayed if the compiler thinks that the function result
% variable will be used (i.e. it appears in the right-hand side of an expression)
% before it is initialized (i.e. it appears in the left-hand side of an
% assignment)
sym_w_identifier_only_read=05061_W_Variable "$1" read but nowhere assigned
% You have read the value of a variable, but nowhere assigned a value to
% it.
sym_h_abstract_method_list=05062_H_Found abstract method: $1
% When getting a warning about constructing a class/object with abstract methods
% you get this hint to assist you in finding the affected method.
sym_w_experimental_symbol=05063_W_Symbol "$1" is experimental
% This means that a symbol (a variable, routine, etc...) which is
% declared as \var{experimental} is used. Experimental symbols
% might disappear or change semantics in future versions. Usage of this symbol
% should be avoided as much as possible.
sym_w_forward_not_resolved=05064_W_Forward declaration "$1" not resolved, assumed external
% This happens if you declare a function in the \var{interface} of a unit in macpas mode,
% but do not implement it.
sym_w_library_symbol=05065_W_Symbol "$1" is belongs to a library
% This means that a symbol (a variable, routine, etc...) which is
% declared as \var{library} is used. Library symbols may not be
% available in other libraries.
sym_w_deprecated_symbol_with_msg=05066_W_Symbol "$1" is deprecated: "$2"
% This means that a symbol (a variable, routine, etc...) which is
% declared as \var{deprecated} is used. Deprecated symbols may no longer
% be available in newer versions of the unit / library. Use of this symbol
% should be avoided as much as possible.
sym_e_no_enumerator=05067_E_Cannot find an enumerator for the type "$1"
% This means that compiler cannot find an appropriate enumerator to use in the for-in loop.
% To create an enumerator you need to define an operator enumerator or add a public or published
% GetEnumerator method to the class or object definition.
sym_e_no_enumerator_move=05068_E_Cannot find a "MoveNext" method in enumerator "$1"
% This means that compiler cannot find a public MoveNext method with the Boolean return type in
% the enumerator class or object definition.
sym_e_no_enumerator_current=05069_E_Cannot find a "Current" property in enumerator "$1"
% This means that compiler cannot find a public Current property in  the enumerator class or object
% definition.
sym_e_objc_para_mismatch=05070_E_Mismatch between number of declared parameters and number of colons in message string.
% In Objective-C, a message name automatically contains as many colons as parameters.
% In order to prevent mistakes when specifying the message name in FPC, the compiler
% checks whether this is also the case here. Note that in case of messages taking a
% variable number of arguments translated to FPC via an \var{array of const} parameter,
% this final \var{array of const} parameter is not counted. Neither are the hidden
% \var{self} and \var{\_cmd} parameters.
sym_n_private_type_not_used=05071_N_Private type "$1.$2" never used
% The indicated private type is declared but is never used in the code.
sym_n_private_const_not_used=05072_N_Private const "$1.$2" never used
% The indicated private const is declared but is never used in the code.
sym_n_private_property_not_used=05073_N_Private property "$1.$2" never used
% The indicated private property is declared but is never used in the code.
sym_w_deprecated_unit=05074_W_Unit "$1" is deprecated
% This means that a unit which is
% declared as \var{deprecated} is used. Deprecated units may no longer
% be available in newer versions of the library. Use of this unit
% should be avoided as much as possible.
sym_w_deprecated_unit_with_msg=05075_W_Unit "$1" is deprecated: "$2"
% This means that a unit which is
% declared as \var{deprecated} is used. Deprecated units may no longer
% be available in newer versions of the library. Use of this unit
% should be avoided as much as possible.
sym_w_non_portable_unit=05076_W_Unit "$1" is not portable
% This means that a unit which is
% declared as \var{platform} is used. This unit use
% and availability is platform specific and should not be used
% if the source code must be portable.
sym_w_library_unit=05077_W_Unit "$1" is belongs to a library
% This means that a unit which is
% declared as \var{library} is used. Library units may not be
% available in other libraries.
sym_w_non_implemented_unit=05078_W_Unit "$1" is not implemented
% This means that a unit which is
% declared as \var{unimplemented} is used. This unit is defined,
% but is not yet implemented on this specific platform.
sym_w_experimental_unit=05079_W_Unit "$1" is experimental
% This means that a unit which is
% declared as \var{experimental} is used. Experimental units
% might disappear or change semantics in future versions. Usage of this unit
% should be avoided as much as possible.
sym_e_formal_class_not_resolved=05080_E_No full definition of the formally declared class "$1" is in scope. Add the unit containing its full definition to the uses clause.
% Objecive-C and Java classes can be imported formally, without using the unit in which it is fully declared.
% This enables making forward references to such classes and breaking circular dependencies amongst units.
% However, as soon as you wish to actually do something with an entity of this class type (such as
% access one of its fields, send a message to it, or use it to inherit from), the compiler requires the full definition
% of the class to be in scope.
sym_e_interprocgoto_into_init_final_code_not_allowed=05081_E_Gotos into initialization or finalization blocks of units are not allowed
% Gotos into initialization or finalization blockse of units are not allowed.
sym_e_external_class_name_mismatch1=05082_E_Invalid external name "$1" for formal class "$2"
sym_e_external_class_name_mismatch2=05083_E_Complete class definition with external name "$1" here
% When a class is declared using a formal external definition, the actual external
% definition (if any) must specify the same external name as the formal definition
% (since both definitions refer to the same actual class type).
sym_w_library_overload=05084_W_Possible library conflict: symbol "$1" from library "$2" also found in library "$3"
% Some OS do not have library specific namespaces, for those
% OS, the function declared as "external 'libname' name 'funcname'",
% the 'libname' part is only a hint, funcname might also be loaded
% by another library. This warning appears if 'funcname' is used twice
% with two different library names.
sym_e_duplicate_id_create_java_constructor=05085_E_Cannot add implicit constructor 'Create' because identifier already used by "$1"
% Java does not automatically add inherited constructors to child classes, so that they can be hidden.
% However, if a class does not explicitly declare at least one constructor, the compiler is
% required to add a public, parameterless constructor. In Java, constructors are nameless,
% but in FPC they are all called ``Create''. Therefore, if you do not add a constructor to
% a Java class and furthermore use the ``Create'' identifier for another entity (e.g., a field,
% or a parameterless method), the compiler cannot satisfy this requirement.
sym_e_no_matching_inherited_parameterless_constructor=05086_E_Cannot generate default constructor for class, because parent has no parameterless constructor
% Java does not automatically add inherited constructors to child classes, so that they can be hidden.
% However, if a class does not explicitly declare at least one constructor, the compiler is
% required to add a public, parameterless constructor. This compiler must then call
% the parameterless constructor from the parent class inside this added constructor.
% This is however impossible if the parent class does not declare such a constructor.
% In this case you must add a valid constructor yourself.
sym_d_adding_helper_for=05087_D_Adding helper for $1
% A helper for the mentioned type is added to the current scope
sym_e_param_list=05088_E_Found declaration: $1
% This message shows all overloaded declarations in case of an error.
sym_w_uninitialized_managed_local_variable=05089_W_Local variable "$1" of a managed type does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. appeared in the left-hand side of an
% assignment). Since the variable is managed, i. e. implicitly initialized by the compiler, this might be intended behaviour and
% does not necessarily mean that the code is wrong.
sym_w_uninitialized_managed_variable=05090_W_Variable "$1" of a managed type does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. appeared in the left-hand side of an
% assignment). Since the variable is managed, i. e. implicitly initialized by the compiler, this might be intended behaviour and
% does not necessarily mean that the code is wrong.
sym_h_uninitialized_managed_local_variable=05091_H_Local variable "$1" of a managed type does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. it did not appear in the left-hand side of an
% assignment). Since the variable is managed, i. e. implicitly initialized by the compiler, this might be intended behaviour and
% does not necessarily mean that the code is wrong.
sym_h_uninitialized_managed_variable=05092_H_Variable "$1" of a managed type does not seem to be initialized
% This message is displayed if the compiler thinks that a variable will
% be used (i.e. it appears in the right-hand side of an expression) when it
% was not initialized first (i.e. t did not appear in the left-hand side of an
% assignment). Since the variable is managed, i. e. implicitly initialized by the compiler, this might be intended behaviour and
% does not necessarily mean that the code is wrong.
sym_w_managed_function_result_uninitialized=05093_W_Function result variable of a managed type does not seem to be initialized
% This message is displayed if the compiler thinks that the function result
% variable will be used (i.e. it appears in the right-hand side of an expression)
% before it is initialized (i.e. before it appeared in the left-hand side of an
% assignment). Since the variable is managed, i. e. implicitly initialized by the compiler, this might be intended behaviour and
% does not necessarily mean that the code is wrong.
sym_h_managed_function_result_uninitialized=05094_H_Function result variable of a managed type does not seem to be initialized
% This message is displayed if the compiler thinks that the function result
% variable will be used (i.e. it appears in the right-hand side of an expression)
% before it is initialized (i.e. it appears in the left-hand side of an
% assignment). Since the variable is managed, i. e. implicitly initialized by the compiler, this might be intended behaviour and
% does not necessarily mean that the code is wrong.
sym_w_duplicate_id=05095_W_Duplicate identifier "$1"
% The identifier was already declared in an Objective-C category that's in the
% same scope as the current identifier. This is a warning instead of an error,
% because while this hides the identifier from the category, there are often
% many unused categories in scope.
sym_e_generic_type_param_mismatch=05096_E_Generic type parameter "$1" does not match with the one in the declaration
% The specified generic type parameter for the generic class, record or routine does
% not match with the one declared in the declaration of the generic class, record
% or routine.
sym_e_generic_type_param_decl=05097_E_Generic type parameter declared as "$1"
% Shows what the generic type parameter was originally declared as if a mismatch
% is found between a declaration and the definition.
sym_e_type_must_be_rec_or_object=05098_E_Record or object type expected
% The variable or expression isn't of the type \var{record} or \var{object}.
% \end{description}
#
# Codegenerator
#
# 06062 is the last used one
#
% \section{Code generator messages}
% This section lists all messages that can be displayed if the code
% generator encounters an error condition.
% \begin{description}
cg_e_parasize_too_big=06009_E_Parameter list size exceeds 65535 bytes
% The I386 processor limits the parameter list to 65535 bytes. (The \var{RET}
% instruction causes this.)
cg_e_file_must_call_by_reference=06012_E_File types must be var parameters
% You cannot specify files as value parameters, i.e., they must always be
% declared \var{var} parameters.
cg_e_cant_use_far_pointer_there=06013_E_The use of a far pointer isn't allowed there
% Free Pascal doesn't support far pointers, so you cannot take the address of
% an expression which has a far reference as a result. The \var{mem} construct
% has a far reference as a result, so the following code will produce this
% error:
% \begin{verbatim}
% var p : pointer;
% ...
% p:=@mem[a000:000];
% \end{verbatim}
cg_e_dont_call_exported_direct=06015_E_EXPORT declared functions cannot be called
% No longer in use.
cg_w_member_cd_call_from_method=06016_W_Possible illegal call of constructor or destructor
% The compiler detected that a constructor or destructor is called within a
% a method. This will probably lead to problems, since constructors / destructors
% require parameters on entry.
cg_n_inefficient_code=06017_N_Inefficient code
% Your statement seems dubious to the compiler.
cg_w_unreachable_code=06018_W_Unreachable code
% You specified a construct which will never be executed. Example:
% \begin{verbatim}
% while false do
%   begin
%   {.. code ...}
%   end;
% \end{verbatim}
cg_e_cant_call_abstract_method=06020_E_Abstract methods cannot be called directly
% You cannot call an abstract method directly. Instead, you must call an
% overriding child method, because an abstract method isn't implemented.
cg_d_register_weight=06027_DL_Register $1 weight $2 $3
% Debugging message. Shown when the compiler considers a variable for
% keeping in the registers.
cg_d_stackframe_omited=06029_DL_Stack frame is omitted
% Some procedure/functions do not need a complete stack-frame, so it is omitted.
% This message will be displayed when the {-vd} switch is used.
cg_e_unable_inline_object_methods=06031_E_Object or class methods cannot be inline.
% You cannot have inlined object methods.
cg_e_unable_inline_procvar=06032_E_Procvar calls cannot be inline.
% A procedure with a procedural variable call cannot be inlined.
cg_e_no_code_for_inline_stored=06033_E_No code for inline procedure stored
% The compiler couldn't store code for the inline procedure.
cg_e_can_access_element_zero=06035_E_Element zero of an ansi/wide- or longstring cannot be accessed, use (set)length instead
% You should use \var{setlength} to set the length of an ansi/wide/longstring
% and \var{length} to get the length of such string type.
cg_e_cannot_call_cons_dest_inside_with=06037_E_Constructors or destructors cannot be called inside a 'with' clause
% Inside a \var{with} clause you cannot call a constructor or destructor for the
% object you have in the \var{with} clause.
cg_e_cannot_call_message_direct=06038_E_Cannot call message handler methods directly
% A message method handler method cannot be called directly if it contains an
% explicit \var{Self} argument.
cg_e_goto_inout_of_exception_block=06039_E_Jump in or outside of an exception block
% It is not allowed to jump in or outside of an exception block like \var{try..finally..end;}.
% For example, the following code will produce this error:

% \begin{verbatim}
% label 1;
%
% ...
%
% try
%    if not(final) then
%      goto 1;   // this line will cause an error
% finally
%   ...
% end;
% 1:
% ...
% \end{verbatim}
cg_e_control_flow_outside_finally=06040_E_Control flow statements are not allowed in a finally block
% It isn't allowed to use the control flow statements \var{break},
% \var{continue} and \var{exit}
% inside a finally statement. The following example shows the problem:
% \begin{verbatim}
% ...
%   try
%      p;
%   finally
%      ...
%      exit;  // This exit ISN'T allowed
%   end;
% ...
%
% \end{verbatim}
% If the procedure \var{p} raises an exception the finally block is
% executed. If the execution reaches the exit, it's unclear what to do:
% exit the procedure or search for another exception handler.
cg_w_parasize_too_big=06041_W_Parameters size exceeds limit for certain cpu's
% This indicates that you are declaring more than 64K of parameters, which
% might not be supported on other processor targets.
cg_w_localsize_too_big=06042_W_Local variable size exceed limit for certain cpu's
% This indicates that you are declaring more than 32K of local variables, which
% might not be supported on other processor targets.
cg_e_localsize_too_big=06043_E_Local variables size exceeds supported limit
% This indicates that you are declaring more than 32K of local variables, which
% is not supported by this processor.
cg_e_break_not_allowed=06044_E_BREAK not allowed
% You're trying to use \var{break} outside a loop construction.
cg_e_continue_not_allowed=06045_E_CONTINUE not allowed
% You're trying to use \var{continue} outside a loop construction.
cg_f_unknown_compilerproc=06046_F_Unknown compilerproc "$1". Check if you use the correct run time library.
% The compiler expects that the runtime library contains certain subroutines. If you see this error
% and you didn't change the runtime library code, it's very likely that the runtime library
% you're using doesn't match the compiler in use. If you changed the runtime library this error means
% that you removed a subroutine which the compiler needs for internal use.
cg_f_unknown_system_type=06047_F_Cannot find system type "$1". Check if you use the correct run time library.
% The compiler expects that the runtime library contains certain type definitions. If you see this error
% and you didn't change the runtime library code, it's very likely that the runtime library
% you're using doesn't match the compiler in use. If you changed the runtime library this error means
% that you removed a type which the compiler needs for internal use.
cg_h_inherited_ignored=06048_H_Inherited call to abstract method ignored
% This message appears only in Delphi mode when you call an abstract method
% of a parent class via \var{inherited;}. The call is then ignored.
cg_e_goto_label_not_found=06049_E_Goto label "$1" not defined or optimized away
% The label used in the goto definition is not defined or optimized away by the
% unreachable code elemination.
cg_f_unknown_type_in_unit=06050_F_Cannot find type "$1" in unit "$2". Check if you use the correct run time library.
% The compiler expects that the runtime library contains certain type definitions. If you see this error
% and you didn't change the runtime library code, it's very likely that the runtime library
% you're using doesn't match the compiler in use. If you changed the runtime library this error means
% that you removed a type which the compiler needs for internal use.
cg_e_interprocedural_goto_only_to_outer_scope_allowed=06051_E_Interprocedural gotos are allowed only to outer subroutines
% Gotos between subroutines are only allowed if the goto jumps from an inner to an outer subroutine or
% from a subroutine to the main program
cg_e_labels_cannot_defined_outside_declaration_scope=06052_E_Label must be defined in the same scope as it is declared
% In ISO mode, labels must be defined in the same scope as they are declared.
cg_e_goto_across_procedures_with_exceptions_not_allowed=06053_E_Leaving procedures containing explicit or implicit exceptions frames using goto is not allowed
% Non-local gotos might not be used to leave procedures using exceptions either implicitly or explicitly. Procedures
% which use automated types like ansistrings or class constructurs are affected by this too.
cg_e_mod_only_defined_for_pos_quotient=06054_E_In ISO mode, the mod operator is defined only for positive quotient
% In ISO pascal, only positive values are allowed for the quotient: \var{n mod m} is only valid if \var{m>0}.
cg_d_autoinlining=06055_DL_Auto inlining: $1
% Due to auto inlining turned on, the compiler auto inlines this subroutine.
cg_e_function_not_support_by_selected_instruction_set=06056_E_The function used, is not supported by the selected instruction set: $1
% Some functions cannot be implemented efficiently for certain instruction sets, one example is fused multiply/add.
% To avoid very inefficient code, the compiler complains in this case, so either select another instruction set
% or replace the function call by alternative code
cg_f_max_units_reached=06057_F_Maximum number of units ($1) reached for the current target
% Depending of target architecture, the number of units is limited. This limit
% has been reached. A unit counts only if it contains initialization or finalization count.
cg_n_no_inline=06058_N_Call to subroutine "$1" marked as inline is not inlined
% The directive inline is only a hint to the compiler. Sometimes the compiler ignores this hint, a subroutine
% marked as inline is not inlined. In this case, this hint is given. Compiling with \var{-vd} might result in more information why
% the directive inline is ignored.
cg_e_case_missing_value=06059_E_Case statement does not handle ordinal value "$1", and no else/otherwise statement is present.
# The case statement does not handle the specified value and does not have an else/otherwise statement, and the compiler determined
# that this value can be passed to the case statement. This is a compile-time error in ISO and Extended Pascal.
cg_w_case_incomplete=06060_W_Case statement does not handle all possible cases
% The case statement does not contain labels for all possible values of the operand, and no else statement is present.
cg_w_cannot_compile_subroutine=06061_W_The current subroutine "$1" cannot be compiled for the target CPU, creating dummy
% Some processors have a very limited instruction set so some routines cannot be compiled for them. As it is not always
% clear from the beginning if a subroutine can be compiled for a certain CPU or not, the compiler checks afterwards
% and creates a dummy if it cannot compile the subroutine.
cg_w_interrupt_does_not_save_registers=06062_W_The target CPU does not support preserving the registers in subroutine "$1"
% Certain processors have no memory (e.~g. avr1 family), so they do not support storing/restoring the used registers
% in an interrupt routine. The programmer has to ensure that while there is a chance for the interrupt routine being
% called that no other code depending on registers being preserved is executed.
%
% \end{description}
# EndOfTeX
#
# Assembler reader
#
# 07145 is the last used one
#
asmr_d_start_reading=07000_DL_Starting $1 styled assembler parsing
% This informs you that an assembler block is being parsed
asmr_d_finish_reading=07001_DL_Finished $1 styled assembler parsing
% This informs you that an assembler block has finished.
asmr_e_none_label_contain_at=07002_E_Non-label pattern contains @
% A identifier which isn't a label cannot contain a @.
asmr_e_building_record_offset=07004_E_Error building record offset
% There has an error occurred while building the offset of a record/object
% structure, this can happen when there is no field specified at all or
% an unknown field identifier is used.
asmr_e_offset_without_identifier=07005_E_OFFSET used without identifier
% You can only use OFFSET with an identifier. Other syntaxes are not
% supported
asmr_e_type_without_identifier=07006_E_TYPE used without identifier
% You can only use TYPE with an identifier. Other syntaxes are not
% supported
asmr_e_no_local_or_para_allowed=07007_E_Cannot use local variable or parameters here
% You cannot use a local variable or parameter here, mostly because the
% addressing of locals and parameters is done using the frame pointer register so the
% address cannot be obtained directly.
asmr_e_need_offset=07008_E_Need to use OFFSET here
% You need to use OFFSET <id> here to get the address of the identifier.
asmr_e_need_dollar=07009_E_Need to use $ here
% You need to use $<id> here to get the address of the identifier.
asmr_e_cant_have_multiple_relocatable_symbols=07010_E_Cannot use multiple relocatable symbols
% You cannot have more than one relocatable symbol (variable/typed constant)
% in one argument.
asmr_e_only_add_relocatable_symbol=07011_E_Relocatable symbol can only be added
% Relocatable symbols (variable/typed constant) cannot be used with other
% operators. Only addition is allowed.
asmr_e_invalid_constant_expression=07012_E_Invalid constant expression
% There is an error in the constant expression.
asmr_e_relocatable_symbol_not_allowed=07013_E_Relocatable symbol is not allowed
% You cannot use a relocatable symbol (variable/typed constant) here.
asmr_e_invalid_reference_syntax=07014_E_Invalid reference syntax
% There is an error in the reference.
asmr_e_local_para_unreachable=07015_E_You cannot reach $1 from that code
% You cannot read directly the value of a local variable or parameter
% of a higher level procedure in assembler code (except for
% local assembler code without parameter nor locals).
asmr_e_local_label_not_allowed_as_ref=07016_E_Local symbols/labels are not allowed as references
% You cannot use local symbols/labels as references
asmr_e_wrong_base_index=07017_E_Invalid base and index register usage
% There is an error with the base and index register, they are
% probably incorrect
asmr_w_possible_object_field_bug=07018_W_Possible error in object field handling
% Fields of objects or classes can be reached directly in normal or objfpc
% modes but TP and Delphi modes treat the field name as a simple offset.
asmr_e_wrong_scale_factor=07019_E_Wrong scale factor specified
% The scale factor given is wrong, only 1,2,4 and 8 are allowed
asmr_e_multiple_index=07020_E_Multiple index register usage
% You are trying to use more than one index register
asmr_e_invalid_operand_type=07021_E_Invalid operand type
% The operand type doesn't match with the opcode used
asmr_e_invalid_string_as_opcode_operand=07022_E_Invalid string as opcode operand: $1
% The string specified as operand is not correct with this opcode
asmr_w_CODE_and_DATA_not_supported=07023_W_@CODE and @DATA not supported
% @CODE and @DATA are unsupported and are ignored.
asmr_e_null_label_ref_not_allowed=07024_E_Null label references are not allowed
asmr_e_expr_zero_divide=07025_E_Divide by zero in asm evaluator
% There is a division by zero in a constant expression
asmr_e_expr_illegal=07026_E_Illegal expression
% There is an illegal expression in a constant expression
asmr_e_escape_seq_ignored=07027_E_Escape sequence ignored: $1
% There is a C-styled string, but the escape sequence in the string
% is unknown, and is therefore ignored
asmr_e_invalid_symbol_ref=07028_E_Invalid symbol reference
asmr_w_fwait_emu_prob=07029_W_Fwait can cause emulation problems with emu387
asmr_w_fadd_to_faddp=07030_W_$1 without operand translated into $1P
asmr_w_enter_not_supported_by_linux=07031_W_ENTER instruction is not supported by Linux kernel
% ENTER instruction can generate a stack page fault that is not
% caught correctly by the i386 Linux page handler.
asmr_w_calling_overload_func=07032_W_Calling an overload function in assembler
% There is a call to an overloaded method in the assembler block,
% this might be the sign there is a problem
asmr_e_unsupported_symbol_type=07033_E_Unsupported symbol type for operand
asmr_e_constant_out_of_bounds=07034_E_Constant value out of bounds
asmr_e_error_converting_decimal=07035_E_Error converting decimal $1
% A constant decimal value does not have the correct syntax
asmr_e_error_converting_octal=07036_E_Error converting octal $1
% A constant octal value does not have the correct syntax
asmr_e_error_converting_binary=07037_E_Error converting binary $1
% A constant binary value does not have the correct syntax
asmr_e_error_converting_hexadecimal=07038_E_Error converting hexadecimal $1
% A constant hexadecimal value does not have the correct syntax
asmr_h_direct_global_to_mangled=07039_H_$1 translated to $2
asmr_w_direct_global_is_overloaded_func=07040_W_$1 is associated to an overloaded function
asmr_e_cannot_use_SELF_outside_a_method=07041_E_Cannot use SELF outside a method
% There is a reference to the \var{self} symbol while it is not
% allowed. \var{self} can only be referenced inside methods
asmr_e_cannot_use_OLDEBP_outside_nested_procedure=07042_E_Cannot use OLDEBP outside a nested procedure
% There is a reference to the \var{oldebp} symbol while it is not
% allowed. \var{oldebp} can only be referenced inside nested routines
asmr_e_void_function=07043_W_Procedures cannot return any value in asm code
% Trying to return a value while in a procedure. A procedure
% does not have any return value
asmr_e_SEG_not_supported=07044_E_SEG not supported
asmr_e_size_suffix_and_dest_dont_match=07045_E_Size suffix and destination or source size do not match
% The register size and the opcode size suffix don't match. This is
% probably an error in the assembler statement
asmr_w_size_suffix_and_dest_dont_match=07046_W_Size suffix and destination or source size do not match
% The register size and the opcode size suffix don't match. This is
% probably an error in the assembler statement
asmr_e_syntax_error=07047_E_Assembler syntax error
% There is an assembler syntax error
asmr_e_invalid_opcode_and_operand=07048_E_Invalid combination of opcode and operands
% The opcode cannot be used with this type of operand
asmr_e_syn_operand=07049_E_Assembler syntax error in operand
asmr_e_syn_constant=07050_E_Assembler syntax error in constant
asmr_e_invalid_string_expression=07051_E_Invalid String expression
asmr_w_const32bit_for_address=07052_W_Constant with symbol $1 for address which is not on a pointer
% A constant expression represents an address which does not fit
% into a pointer. The address is probably incorrect
asmr_e_unknown_opcode=07053_E_Unrecognized opcode $1
% This opcode is not known
asmr_e_invalid_or_missing_opcode=07054_E_Invalid or missing opcode
asmr_e_invalid_prefix_and_opcode=07055_E_Invalid combination of prefix and opcode: $1
asmr_e_invalid_override_and_opcode=07056_E_Invalid combination of override and opcode: $1
asmr_e_too_many_operands=07057_E_Too many operands on line
% There are too many operands for this opcode. Check your
% assembler syntax
asmr_w_near_ignored=07058_W_NEAR ignored
asmr_w_far_ignored=07059_W_FAR ignored
asmr_e_dup_local_sym=07060_E_Duplicate local symbol $1
asmr_e_unknown_local_sym=07061_E_Undefined local symbol $1
asmr_e_unknown_label_identifier=07062_E_Unknown label identifier $1
asmr_e_invalid_register=07063_E_Invalid register name
% There is an unknown register name used as operand.
asmr_e_invalid_fpu_register=07064_E_Invalid floating point register name
% There is an unknown register name used as operand.
asmr_w_modulo_not_supported=07066_W_Modulo not supported
asmr_e_invalid_float_const=07067_E_Invalid floating point constant $1
% The floating point constant declared in an assembler block is
% invalid.
asmr_e_invalid_float_expr=07068_E_Invalid floating point expression
% The floating point expression declared in an assembler block is
% invalid.
asmr_e_wrong_sym_type=07069_E_Wrong symbol type
asmr_e_cannot_index_relative_var=07070_E_Cannot index a local var or parameter with a register
% Trying to index using a base register a symbol which is already relative
% to a register. This is not possible, and will probably lead to crashes.
asmr_e_invalid_seg_override=07071_E_Invalid segment override expression
asmr_w_id_supposed_external=07072_W_Identifier $1 supposed external
% There is a reference to an undefined symbol. This will not result
% in an error, since the symbol might be external, but may cause
% problems at link time if the symbol is not defined anywhere.
asmr_e_string_not_allowed_as_const=07073_E_Strings not allowed as constants
% Character strings are not allowed as constants.
asmr_e_no_var_type_specified=07074_E_No type of variable specified
% The syntax expects a type identifier after the dot, but
% none was found.
asmr_w_assembler_code_not_returned_to_text=07075_E_Assembler code not returned to text section
% There was a directive in the assembler block to change sections,
% but there is a missing return to the text section at the end
% of the assembler block. This might cause errors during link time.
asmr_e_not_directive_or_local_symbol=07076_E_Not a directive or local symbol $1
% This symbol is unknown.
asmr_w_using_defined_as_local=07077_E_Using a defined name as a local label
asmr_e_dollar_without_identifier=07078_E_Dollar token is used without an identifier
% A constant expression has an identifier which does not start with
% the $ symbol.
asmr_w_32bit_const_for_address=07079_W_32bit constant created for address
% A constant was used as an address. This is probably an error,
% since using absolute addresses will probably not work.
asmr_n_align_is_target_specific=07080_N_.align is target specific, use .balign or .p2align
% Using the .align directive is platform specific, and its meaning will vary
% from one platform to another.
asmr_e_cannot_access_field_directly_for_parameters=07081_E_Cannot directly access fields of pointer-based parameters
% You should load the parameter first into a register and then access the
% fields using that register.
asmr_e_cannot_access_object_field_directly=07082_E_Can't access fields of objects/classes directly
% You should load the self pointer first into a register and then access the
% fields using the register as base. By default the self pointer is available
% in the esi register on i386.
asmr_e_unable_to_determine_reference_size=07083_E_No size specified and unable to determine the size of the operands
% You should specify explicitly a size for the reference, because
% the compiler is unable to determine what size (byte,word,dword,etc.) it
% should use for the reference.
asmr_e_cannot_use_RESULT_here=07084_E_Cannot use RESULT in this function
% Some functions which return complex types cannot use the \var{result}
% keyword.
asmr_w_adding_explicit_args_fXX=07086_W_"$1" without operand translated into "$1 %st,%st(1)"
asmr_w_adding_explicit_first_arg_fXX=07087_W_"$1 %st(n)" translated into "$1 %st,%st(n)"
asmr_w_adding_explicit_second_arg_fXX=07088_W_"$1 %st(n)" translated into "$1 %st(n),%st"
asmr_e_invalid_char_smaller=07089_E_Char < not allowed here
% The shift operator requires the << characters. Only one
% of those characters was found.
asmr_e_invalid_char_greater=07090_E_Char > not allowed here
% The shift operator requires the >> characters. Only one
% of those characters was found.
asmr_w_align_not_supported=07093_W_ALIGN not supported
asmr_e_no_inc_and_dec_together=07094_E_Inc and Dec cannot be together
% Trying to use an increment and a decrement within the same
% opcode on the 680x0. This is impossible.
asmr_e_invalid_reg_list_in_movem_or_fmovem=07095_E_Invalid register list for MOVEM or FMOVEM
% Trying to use the \var{movem} or \var{fmovem} opcode with invalid registers
% to save or restore.
asmr_e_invalid_reg_list_for_opcode=07096_E_Reglist invalid for opcode
asmr_e_higher_cpu_mode_required=07097_E_Higher cpu mode required ($1)
% Trying to use an instruction which is not supported in the current
% cpu mode. Use a higher cpu generation to be able to use this
% opcode in your assembler block
asmr_w_unable_to_determine_reference_size_using_dword=07098_W_No size specified and unable to determine the size of the operands, using DWORD as default
% You should specify explicitly a size for the reference, because
% the compiler is unable to determine what size (byte,word,dword,etc.) it
% should use for the reference. This warning is only used in Delphi mode where
% it falls back to use DWORD as default.
asmr_e_illegal_shifterop_syntax=07099_E_Syntax error while trying to parse a shifter operand
% ARM only; ARM assembler supports a so called shifter operand. The used syntax isn't
% a valid shifter operand. Example for an operation with shifter operand:
% \begin{verbatim}
% asm
%   orr     r2,r2,r2,lsl #8
% end;
% \end{verbatim}
asmr_e_packed_element=07100_E_Address of packed component is not at a byte boundary
% Packed components (record fields and array elements) may start at an arbitrary
% bit inside a byte. On CPU which do not support bit-addressable memory (which
% includes all currently supported CPUs by FPC) you will therefore get an error
% message when trying to index arrays with elements whose size is not a multiple
% of 8 bits. The same goes for accessing record fields with such an address.
% multiple of 8 bits.
asmr_w_unable_to_determine_reference_size_using_byte=07101_W_No size specified and unable to determine the size of the operands, using BYTE as default
% You should specify explicitly a size for the reference, because
% the compiler is unable to determine what size (byte,word,dword,etc.) it
% should use for the reference. This warning is only used in Delphi mode where
% it falls back to use BYTE as default.
asmr_w_no_direct_ebp_for_parameter=07102_W_Use of $1 for parameters invalid here
% Using direct 8(%ebp) reference for function/procedure parameters is invalid
% if parameters are in registers.
asmr_w_direct_ebp_for_parameter_regcall=07103_W_Use of $1 is not compatible with regcall convention
% Using direct 8(%ebp) reference for function/procedure parameters is invalid
% if parameters are in registers.
asmr_w_direct_ebp_neg_offset=07104_W_Use of $1 is not recommended for local variable access
% Using -8(%ebp) to access a local variable is not recommended
asmr_w_direct_esp_neg_offset=07105_W_Use of $1, access may cause a crash or value may be lost
% Using -8(%esp) to access a local stack is not recommended, as
% this stack portion can be overwritten by any function calls or interrupts.
asmr_e_no_vmtoffset_possible=07106_E_VMTOffset must be used in combination with a virtual method, and "$1" is not virtual
% Only virtual methods have VMT offsets
asmr_e_need_pic_ref=07107_E_Generating PIC, but reference is not PIC-safe
% The compiler has been configured to generate position-independent code
% (PIC), but there are position-dependent references in the current
% handwritten assembler instruction.
asmr_e_mixing_regtypes=07108_E_All registers in a register set must be of the same kind and width
% Instructions on the ARM architecture that take a register set as argument require that all registers
% in this set are of the same kind (e.g., integer, vfp) and width (e.g., single precision, double precision).
asmr_e_empty_regset=07109_E_A register set cannot be empty
% Instructions on the ARM architecture that take a register set as argument require that such a set
% contains at least one register.
asmr_w_useless_got_for_local=07110_W_@GOTPCREL is useless and potentially dangerous for local symbols
% The use of @GOTPCREL supposes an extra indirection that is
% not present if the symbol is local, which might lead to wrong assembler code
asmr_w_general_segment_with_constant=07111_W_Constant with general purpose segment register
% General purpose register should not have constant offsets
% as OS memory allocation might not be compatible with that.
asmr_e_bad_seh_directive_offset=07112_E_Invalid offset value for $1
% Win64 SEH directives have certain restrictions on possible offset values, e.g. they should
% be positive and have 3 or 4 low bits clear.
asmr_e_bad_seh_directive_register=07113_E_Invalid register for $1
% Win64 SEH directives accept only 64-bit integer registers or XMM registers.
asmr_e_seh_in_pure_asm_only=07114_E_SEH directives are allowed only in pure assembler procedures
% Win64 SEH directives are allowed only in pure assembler procedures, not in assembler
% blocks of regular procedures.
asmr_e_unsupported_directive=07115_E_Directive "$1" is not supported for the current target
asmr_e_complex_function_result_location=07116_E_This function's result location cannot be encoded directly in a single operand when "nostackframe" is used
% Functions declared with the \var{nostackframe} modifier do not have a stack frame, and hence
% do not have a local variable to hold the temporary function result.  Accesses to the function
% result in such routines directly go to the registers or memory location that will be used
% to return their result to the caller.  In some cases this result may be spread over multiple
% registers, in which case it is not possible to access the location via its symbolic name.
% You have to directly use the appropriate register names in this case.
asmr_e_wrong_gotpcrel_intel_syntax=07117_E_GOTPCREL references in Intel assembler syntax cannot contain a base or index register, and their offset must 0.
% The syntax for a gotpcrel PIC memory expression in Intel assembler syntax is
% \verb*[global_symbol wrt ..gotpcrel]*
asmr_e_no_gotpcrel_support=07118_E_The current target does not support GOTPCREL relocations
% Not all targets support position-independent code using a global offset table.
% Use a different way to access symbols in a position-indepent way in these cases.
asmr_w_global_access_without_got=07119_W_Exported/global symbols should be accessed via the GOT
% Global symbols (symbols from the unit interface, or defined in a program
% or library) should be accessed via the GOT when generating position-indepent code.
asmr_w_check_mem_operand_size=07120_W_Check size of memory operand "$1"
% The size of memory operand is possible invalid. This is
% probably an error in the assembler statement
asmr_w_check_mem_operand_size3=07121_W_Check size of memory operand "$1: memory-operand-size is $2 bits, but expected [$3 bits]"
% The size of memory operand is possible invalid. This is
% probably an error in the assembler statement
asmr_w_check_mem_operand_size_offset=07122_W_Check size of memory operand "$1: memory-operand-size is $2 bits, but expected [$3 bits + $4 byte offset]"
% The size of memory operand is possible invalid. This is
% probably an error in the assembler statement
asmr_w_check_mem_operand_negative_offset=07123_W_Check "$1: offset of memory operand is negative "$2 byte"
% The offset of memory operand is possible invalid. This is
% probably an error in the assembler statement
asmr_w_check_mem_operand_automap_multiple_size=07124_W_Check "$1: size of memory operand is empty, but es exists different definitions of the memory size =>> map to $2 (smallest option)"
% The size of memory operand is empty and we have different definitions of possible memory sizes. Check it!
asmr_e_invalid_ref_register=07125_E_Invalid register used in memory reference expression: "$1"
% FPU, vector and sometimes integer registers cannot be used in memory reference
% expressions, due to limitations of the cpu architecture or simple because
% it is not meaningful.
asmr_e_seg_without_identifier=07126_E_SEG used without identifier
% You can only use SEG with an identifier. Other syntaxes are not
% supported
asmr_e_CODE_or_DATA_without_SEG=07127_E_@CODE and @DATA can only be used with the SEG operator
% You can only use @CODE and @DATA symbols together with the SEG operator
asmr_e_const16bit_for_segment=07128_E_Not enough space (16 bits required) for the segment constant of symbol $1
% Specifying a segment constant for a symbol via the SEG operator requires at
% least 16 bits of space for the segment. This error occurs, if you specify
% less, for example, if you use 'DB SEG symbol' instead of 'DW SEG symbol'.
asmr_e_invalid_code_value=07129_E_Invalid value of .code directive constant
% The ARM assembler only allows the values 16 and 32 to be used as arguments to the .code directive
asmr_w_unable_to_determine_constant_size_using_byte=07130_W_No size specified and unable to determine the size of the constant, using BYTE as default
% You should specify explicitly a size for the reference, because
% the compiler is unable to determine what size (byte, word, dword, etc.) it
% should use for the constant. Based on its value, BYTE is used.
asmr_w_unable_to_determine_constant_size_using_word=07131_W_No size specified and unable to determine the size of the constant, using WORD as default
% You should specify explicitly a size for the reference, because
% the compiler is unable to determine what size (byte, word, dword, etc.) it
% should use for the constant. Based on its value, WORD is used.
asmr_e_cannot_override_es_segment=07132_E_Cannot override ES segment
% The ES segment in the ES:[EDI] reference of the x86 string instructions
% cannot be overridden.
asmr_w_invalid_reference=07133_W_Reference is not valid here (expected "$1")
% Certain x86 instructions require a fixed source or destination reference
% (e.g. [ESI] or [EDI] for the string instructions source and destination)
asmr_e_address_sizes_do_not_match=07134_E_Address sizes do not match
% Caused by using two memory operands in the same instruction with mismatched
% address sizes (e.g. movs byte ptr [EDI], byte ptr [SI] )
asmr_e_pop_cs_not_valid=07135_E_Instruction "POP CS" is not valid for the current target
% The 'pop cs' instruction works only on the 8086 and 8088 CPUs, which are not
% supported on the i386 or x86_64 targets.
asmr_w_pop_cs_not_portable=07136_W_Instruction "POP CS" is not portable (it only works on 8086 and 8088 CPUs)
% The 'pop cs' instruction doesn't work on any CPU, except 8086 and 8088.
asmr_e_public_must_be_used_before_label_definition=07137_E_Label $1 can only be declared public before it's defined
asmr_e_local_label_cannot_be_declared_public=07138_E_Local label $1 cannot be declared public
asmr_e_multiple_segment_overrides=07139_E_Cannot use multiple segment overrides
asmr_w_multiple_segment_overrides=07140_W_Multiple segment overrides (only the last one will take effect)
asmr_w_segment_override_ignored_in_64bit_mode=07141_W_Segment base $1 will be generated, but is ignored by the CPU in 64-bit mode
asmr_e_mismatch_broadcasting_elements=07142_E_Mismatch broadcasting elements (expected: {$1} found: {$2})
asmr_e_invalid_arrangement=07143_E_Invalid arrangement specifier "$1"
asmr_e_a64_invalid_regset=07144_E_Registers in a register set must be consecutive.
asmr_e_unknown_field=07145_E_Unknown field identifier
% The internal assembler read cannot find the passed field identifier.
#
# Assembler/binary writers
#
# 08035 is the last used one
#
asmw_f_too_many_asm_files=08000_F_Too many assembler files
% With smartlinking enabled, there are too many assembler
% files generated. Disable smartlinking.
asmw_f_assembler_output_not_supported=08001_F_Selected assembler output not supported
asmw_f_comp_not_supported=08002_F_Comp not supported
asmw_f_direct_not_supported=08003_F_Direct not support for binary writers
% Direct assembler mode is not supported for binary writers.
asmw_e_alloc_data_only_in_bss=08004_E_Allocating of data is only allowed in bss section
asmw_f_no_binary_writer_selected=08005_F_No binary writer selected
asmw_e_opcode_not_in_table=08006_E_Asm: Opcode $1 not in table
asmw_e_invalid_opcode_and_operands=08007_E_Asm: $1 invalid combination of opcode and operands
asmw_e_16bit_not_supported=08008_E_Asm: 16 Bit references not supported
asmw_e_invalid_effective_address=08009_E_Asm: Invalid effective address
asmw_e_immediate_or_reference_expected=08010_E_Asm: Immediate or reference expected
asmw_e_value_exceeds_bounds=08011_E_Asm: $1 value exceeds bounds $2
asmw_e_short_jmp_out_of_range=08012_E_Asm: Short jump is out of range $1
asmw_e_undefined_label=08013_E_Asm: Undefined label $1
asmw_e_comp_not_supported=08014_E_Asm: Comp type not supported for this target
asmw_e_extended_not_supported=08015_E_Asm: Extended type not supported for this target
asmw_e_duplicate_label=08016_E_Asm: Duplicate label $1
asmw_e_redefined_label=08017_E_Asm: Redefined label $1
asmw_e_first_defined_label=08018_E_Asm: First defined here
asmw_e_invalid_register=08019_E_Asm: Invalid register $1
asmw_e_16bit_32bit_not_supported=08020_E_Asm: 16 or 32 Bit references not supported
asmw_e_64bit_not_supported=08021_E_Asm: 64 Bit operands not supported
asmw_e_bad_reg_with_rex=08022_E_Asm: AH,BH,CH or DH cannot be used in an instruction requiring REX prefix
% x86_64 only: instruction encoding of this platform does not allow using
% 8086 high byte registers (AH,BH,CH or DH) together with REX prefix in a single instruction.
% The REX prefix is required whenever the instruction operand size is 64 bits, or
% when it uses one of extended x86_64 registers (R8-R15 or XMM8-XMM15).
asmw_e_missing_endprologue=08023_E_Missing .seh_endprologue directive
% x86_64-win64 only: Normally, SEH directives are handled internally by compiler.
% However, in pure assembler procedures .seh_endprologue directive is required
% if other SEH directives are present.
asmw_e_prologue_too_large=08024_E_Function prologue exceeds 255 bytes
% x86_64-win64: .seh_prologue directive must be placed within 255 bytes from function start.
asmw_e_handlerdata_no_handler=08025_E_.seh_handlerdata directive without preceding .seh_handler
% x86_64-win64: If .seh_handlerdata directive is used, then a .seh_handler directive must be
% present earlier in the same function.
asmw_f_too_many_relocations=08026_F_Relocation count for section $1 exceeds 65535
% Legacy COFF targets limit number of relocations per section to 65535 because they use a 2-byte field
% to store the relocation count. Targets using newer PECOFF format do not have this limitation.
asmw_w_changing_bind_type=08027_N_Change of bind type of symbol $1 from $2 to $3 after use
asmw_h_changing_bind_type=08028_H_Change of bind type of symbol $1 from $2 to $3 after use
% An assembler symbol bind type has been altered after use, which can lead to wrong code.
% First version is reserved for changig to local label, which is the most probable cause
% of wrong code generation, but currently set to Note level as it appears inside
% the compiler compilation.
asmw_e_32bit_not_supported=08029_E_Asm: 32 Bit references not supported
asmw_f_code_segment_too_large=08030_F_Code segment too large
asmw_f_data_segment_too_large=08031_F_Data segment too large
asmw_e_instruction_not_supported_by_cpu=08032_E_Instruction not supported by the selected instruction set
asmw_e_brxx_out_of_range=08033_E_Asm: conditional branch destination is out of range
asmw_e_illegal_use_of_rip=08034_E_Asm: RIP cannot be used as index register or with another register in a reference
asmw_e_seh_invalid_data_size=08035_F_Illegal function size for SEH function
#
# Executing linker/assembler
#
# 09035 is the last used one
#
# BeginOfTeX
%
% \section{Errors of assembling/linking stage}
% This section lists errors that occur when the compiler is processing the
% command line or handling the configuration files.
% \begin{description}
exec_w_source_os_redefined=09000_W_Source operating system redefined
% The source operating system is redefined.
exec_i_assembling_pipe=09001_I_Assembling (pipe) $1
% Assembling using a pipe to an external assembler.
exec_d_cant_create_asmfile=09002_E_Can't create assembler file: $1
% The mentioned file cannot be created. Check if you have
% access permissions to create this file.
exec_e_cant_create_objectfile=09003_E_Can't create object file: $1 (error code: $2)
% The mentioned file cannot be created. Check if you have
% got access permissions to create this file.
exec_e_cant_create_archivefile=09004_E_Can't create archive file: $1
% The mentioned file cannot be created. Check if you have
% access permissions to create this file.
exec_e_assembler_not_found=09005_E_Assembler $1 not found, switching to external assembling
% The assembler program was not found. The compiler will produce a script that
% can be used to assemble and link the program.
exec_t_using_assembler=09006_T_Using assembler: $1
% An informational message saying which assembler is being used.
exec_e_error_while_assembling=09007_E_Error while assembling exitcode $1
% There was an error while assembling the file using an external assembler.
% Consult the documentation of the assembler tool to find out more information
% on this error.
exec_e_cant_call_assembler=09008_E_Can't call the assembler, error $1 switching to external assembling
% An error occurred when calling an external assembler. The compiler will produce a script that
% can be used to assemble and link the program.
exec_i_assembling=09009_I_Assembling $1
% An informational message stating which file is being assembled.
exec_i_assembling_smart=09010_I_Assembling with smartlinking $1
% An informational message stating which file is being assembled using smartlinking.
exec_w_objfile_not_found=09011_W_Object $1 not found, Linking may fail !
% One of the object files is missing, and linking will probably fail.
% Check your paths.
exec_w_libfile_not_found=09012_W_Library $1 not found, Linking may fail !
% One of the library files is missing, and linking will probably fail.
% Check your paths.
exec_e_error_while_linking=09013_E_Error while linking
% Generic error while linking.
exec_e_cant_call_linker=09014_E_Can't call the linker, switching to external linking
% An error occurred when calling an external linker. The compiler will produce a script that
% can be used to assemble and link the program.
exec_i_linking=09015_I_Linking $1
% An informational message, showing which program or library is being linked.
exec_e_util_not_found=09016_E_Util $1 not found, switching to external linking
% An external tool was not found. The compiler will produce a script that
% can be used to assemble and link or postprocess the program.
exec_t_using_util=09017_T_Using util $1
% An informational message, showing which external program (usually a postprocessor) is being used.
exec_e_exe_not_supported=09018_E_Creation of Executables not supported
% Creating executable programs is not supported for this platform, because it was
% not yet implemented in the compiler.
exec_e_dll_not_supported=09019_E_Creation of Dynamic/Shared Libraries not supported
% Creating dynamically loadable libraries is not supported for this platform, because it was
% not yet implemented in the compiler.
exec_e_static_lib_not_supported=09035_E_Creation of Static Libraries not supported
% Creating static libraries is not supported for this platform, because it was
% not yet implemented in the compiler.
exec_i_closing_script=09020_I_Closing script $1
% Informational message showing when writing of the external assembling and linking script is finished.
exec_e_res_not_found=09021_E_Resource compiler "$1" not found, switching to external mode
% An external resource compiler was not found. The compiler will produce a script that
% can be used to assemble, compile resources and link or postprocess the program.
exec_i_compilingresource=09022_I_Compiling resource $1
% An informational message, showing which resource is being compiled.
exec_t_unit_not_static_linkable_switch_to_smart=09023_T_Unit $1 cannot be statically linked, switching to smart linking
% Static linking was requested, but a unit which is not statically linkable was used.
exec_t_unit_not_smart_linkable_switch_to_static=09024_T_Unit $1 cannot be smart linked, switching to static linking
% Smart linking was requested, but a unit which is not smart-linkable was used.
exec_t_unit_not_shared_linkable_switch_to_static=09025_T_Unit $1 cannot be shared linked, switching to static linking
% Shared linking was requested, but a unit which is not shared-linkable was used.
exec_e_unit_not_smart_or_static_linkable=09026_E_Unit $1 cannot be smart or static linked
% Smart or static linking was requested, but a unit which cannot be used for either  was used.
exec_e_unit_not_shared_or_static_linkable=09027_E_Unit $1 cannot be shared or static linked
% Shared or static linking was requested, but a unit which cannot be used for either  was used.
exec_d_resbin_params=09028_D_Calling resource compiler "$1" with "$2" as command line
% An informational message showing which command line is used for the resource compiler.
exec_e_error_while_compiling_resources=09029_E_Error while compiling resources
% The resource compiler or converter returned an error.
exec_e_cant_call_resource_compiler=09030_E_Can't call the resource compiler "$1", switching to external mode
% An error occurred when calling a resource compiler. The compiler will produce
% a script that can be used to assemble, compile resources and link or
% postprocess the program.
exec_e_cant_open_resource_file=09031_E_Can't open resource file "$1"
% An error occurred resource file cannot be opened.
exec_e_cant_write_resource_file=09032_E_Can't write resource file "$1"
% An error occurred resource file cannot be written.
exec_n_backquote_cat_file_not_found=09033_N_File "$1" not found for backquoted cat command
% The compiler did not find the file that should be expanded into linker parameters
exec_w_init_file_not_found=09034_W_"$1" not found, this will probably cause a linking failure
% The compiler adds certain startup code files to the linker only when they are found.
% If they are not found, they are not added and this might cause a linking failure.
% If the system has gcc installed, running \var{gcc --print-file-name <filename>} might return the path to the file.
% Add this path in your \var{fpc.cfg} using the switch \var{-Fl} to fix this error. This requires though,
% that gcc targets the same target as FPC.
%
%\end{description}
# EndOfTeX

#
# Executable information
#
# 09134 is the last used one
#
# BeginOfTeX
% \section{Executable information messages.}
% This section lists all messages that the compiler emits when an executable program is produced,
% and only when the internal linker is used.
% \begin{description}
execinfo_f_cant_process_executable=09128_F_Can't post process executable $1
% Fatal error when the compiler is unable to post-process an executable.
execinfo_f_cant_open_executable=09129_F_Can't open executable $1
% Fatal error when the compiler cannot open the file for the executable.
execinfo_x_codesize=09130_X_Size of Code: $1 bytes
% Informational message showing the size of the produced code section.
execinfo_x_initdatasize=09131_X_Size of initialized data: $1 bytes
% Informational message showing the size of the initialized data section.
execinfo_x_uninitdatasize=09132_X_Size of uninitialized data: $1 bytes
% Informational message showing the size of the uninitialized data section.
execinfo_x_stackreserve=09133_X_Stack space reserved: $1 bytes
% Informational message showing the stack size that the compiler reserved for the executable.
execinfo_x_stackcommit=09134_X_Stack space committed: $1 bytes
% Informational message showing the stack size that the compiler committed for the executable.
%\end{description}
# EndOfTeX

#
# Internal linker messages
#
# 09222 is the last used one
#
# BeginOfTeX
% \section{Linker messages}
% This section lists messages produced by internal linker.
% \begin{description}
link_f_executable_too_big=09200_F_Executable image size is too big for $1 target.
% Fatal error when resulting executable is too big.
link_w_32bit_absolute_reloc=09201_W_Object file "$1" contains 32-bit absolute relocation to symbol "$2".
% Warning when 64-bit object file contains 32-bit absolute relocations.
% In such case an executable image can be loaded into lower 4Gb of
% address space only.
link_e_program_segment_too_large=09202_E_Program segment too large (exceeds 64k by $1 bytes)
% Error when a 16-bit program is compiled in the tiny memory model, but its size exceeds 64k
link_e_code_segment_too_large=09203_E_Code segment "$1" too large (exceeds 64k by $2 bytes)
% Error when a 16-bit program's code segment exceeds 64k bytes
link_e_data_segment_too_large=09204_E_Data segment "$1" too large (exceeds 64k by $2 bytes)
% Error when a 16-bit program's data segment exceeds 64k bytes
link_e_segment_too_large=09205_E_Segment "$1" too large (exceeds 64k by $2 bytes)
% Error when a 16-bit program contains a segment that exceeds 64k bytes
link_e_group_too_large=09206_E_Group "$1" too large (exceeds 64k by $2 bytes)
% Error when a 16-bit program's object modules define a segment group that
% exceeds 64k bytes
link_e_com_program_uses_segment_relocations=09207_E_Cannot create a .COM file, because the program contains segment relocations
% Error occurs, when creating a tiny model DOS .COM file, but at least one of
% the program's object modules contains segment relocations. Segment relocations
% might be caused by the use of the Seg() function or by the SEG assembler
% directive (either in pascal's built-in inline assembler, or in an externally
% linked assembly module).
link_w_program_uses_checkpointer=09208_W_Program "$1" uses experimental CheckPointer option
link_e_duplicate_symbol=09209_E_Multiple defined symbol "$1"
% The specified symbol is already defined inside the whole collection of object files.
link_e_comdat_select_unsupported=09210_E_COMDAT selection mode $1 not supported (section: "$1")
% The specified COMDAT selection mode is not supported.
link_e_comdat_associative_section_expected=09211_E_Associative section expected for COMDAT section "$1"
% The specified COMDAT section is specified as expecting an associative section,
% but none is specified.
link_e_comdat_not_matching=09212_E_COMDAT section selection mode doesn't match for section "$1" and symbol "$2"
% All COMDAT symbols/sections need to use the same selection mode.
link_e_comdat_associative_section_not_found=09213_E_Associative COMDAT section for section "$1" not found
% The COMDAT section expects an associative section, but it was not found inside the object file.
link_d_comdat_discard_any=09214_D_Discarding duplicate symbol "$1" due to COMDAT selection mode
% The COMDAT section specifies that any section with the same name might be selected and this
% specific section was selected to be discarded.
link_d_comdat_discard_size=09215_D_Discarding duplicate symbol "$1" with same size due to COMDAT selection mode
% The COMDAT section specifies that any section with the same name and size might be selected
% and this specific section was selected to be discarded.
link_d_comdat_discard_content=09216_D_Discarding duplicate symbol "$1" with same content due to COMDAT selection mode
% The COMDAT section specifies that any section with the same name and content might be selected
% and this specific section was selected to be discarded.
link_d_comdat_replace_size=09217_D_Replacing duplicate symbol "$1" with smaller size due to COMDAT selection mode
% The COMDAT section specifies that the largest section with the same name should be selected
% this specific section was larger than the previous largest one.
link_e_comdat_size_differs=09218_E_Size of duplicate COMDAT symbol "$1" differs
% The COMDAT section specifies that all sections with the same name need to have the same size,
% but this section had a different size.
link_e_comdat_content_differs=09219_E_Content of duplicate COMDAT symbol "$1" differs
% The COMDAT section specifies that all sections with the same name need to have the same content,
% but this section had a different size.
link_e_comdat_selection_differs=09220_E_COMDAT selection mode for symbol "$1" differs
% Two COMDAT sections with the same name have different COMDAT selection modes.
link_e_undefined_symbol_in_obj=09221_E_Undefined symbol: $1 (first seen in $2)
% The specified symbol is used, but not defined and was first seen in the specified object file.
link_e_undefined_symbol=09222_E_Undefined symbol: $1
% The specified symbol is used, but not defined.
%\end{description}
# EndOfTeX

#
# Unit loading
#
# 10064 is the last used one
#
# BeginOfTeX
% \section{Unit loading messages.}
% This section lists all messages that can occur when the compiler is
% loading a unit from disk into memory. Many of these messages are
% informational messages.
% \begin{description}
unit_t_unitsearch=10000_T_Unitsearch: $1
% When you use the \var{-vt} option, the compiler tells you where it tries to find
% unit files.
unit_t_ppu_loading=10001_T_PPU Loading $1
% When the \var{-vt} switch is used, the compiler tells you
% what units it loads.
unit_u_ppu_name=10002_U_PPU Name: $1
% When you use the \var{-vu} flag, the unit name is shown.
unit_u_ppu_flags=10003_U_PPU Flags: $1
% When you use the \var{-vu} flag, the unit flags are shown.
unit_u_ppu_crc=10004_U_PPU Crc: $1
% When you use the \var{-vu} flag, the unit CRC check is shown.
unit_u_ppu_time=10005_U_PPU Time: $1
% When you use the \var{-vu} flag, the time the unit was compiled is shown.
unit_u_ppu_file_too_short=10006_U_PPU File too short
% The ppufile is too short, not all declarations are present.
unit_u_ppu_invalid_header=10007_U_PPU Invalid Header (no PPU at the begin)
% A unit file contains as the first three bytes the ASCII codes of the characters \var{PPU}.
unit_u_ppu_invalid_version=10008_U_PPU Invalid Version $1
% This unit file was compiled with a different version of the compiler, and
% cannot be read.
unit_u_ppu_invalid_processor=10009_U_PPU is compiled for another processor
% This unit file was compiled for a different processor type, and
% cannot be read.
unit_u_ppu_invalid_target=10010_U_PPU is compiled for another target
% This unit file was compiled for a different target, and
% cannot be read.
unit_u_ppu_source=10011_U_PPU Source: $1
% When you use the \var{-vu} flag, the unit source file name is shown.
unit_u_ppu_write=10012_U_Writing $1
% When you specify the \var{-vu} switch, the compiler will tell you where it
% writes the unit file.
unit_f_ppu_cannot_write=10013_F_Can't Write PPU-File
% An error occurred when writing the unit file.
unit_f_ppu_read_error=10014_F_Error reading PPU-File
% This means that the unit file was corrupted, and contains invalid
% information. Recompilation will be necessary.
unit_f_ppu_read_unexpected_end=10015_F_Unexpected end of PPU-File
% Unexpected end of file. This may mean that the PPU file is
% corrupted.
unit_f_ppu_invalid_entry=10016_F_Invalid PPU-File entry: $1
% The unit the compiler is trying to read is corrupted, or generated with a
% newer version of the compiler.
unit_f_ppu_dbx_count_problem=10017_F_PPU Dbx count problem
% There is an inconsistency in the debugging information of the unit.
unit_e_illegal_unit_name=10018_E_Illegal unit name: $1 (expecting $2)
% The name of the unit does not match the file name.
% There might to two reasons: either there is a spelling mistake in the unit name
% or there is a unit with a 8.3 name where the 8 characters are equal to first 8 characters of
% the name of a unit with a longer name. However, this unit is not found. Example: Program contains
% \var{uses mytestunit;}, the unit file or source of mytestunit are not available but there is a source
% with the name \var{mytestun}. Then compiler tries to compile and use that one, however the expected unit name does not match.
unit_f_too_much_units=10019_F_Too much units
% \fpc has a limit of 1024 units in a program. You can change this behavior
% by changing the \var{maxunits} constant in the \file{fmodule.pas} file of the
% compiler, and recompiling the compiler.
unit_f_circular_unit_reference=10020_F_Circular unit reference between $1 and $2
% Two units are using each other in the interface part. This is only allowed
% in the \var{implementation} part. At least one unit must contain the other one
% in the \var{implementation} section.
unit_f_cant_compile_unit=10021_F_Can't compile unit $1, no sources available
% A unit was found that needs to be recompiled, but no sources are
% available.
unit_f_cant_find_ppu=10022_F_Can't find unit $1 used by $2
% You tried to use a unit of which the PPU file isn't found by the
% compiler. Check your configuration file for the unit paths.
unit_w_unit_name_error=10023_W_Unit $1 was not found but $2 exists
% This error message is no longer used.
unit_f_unit_name_error=10024_F_Unit $1 searched but $2 found
% \dos truncation of 8 letters for unit PPU files
% may lead to problems when unit name is longer than 8 letters.
unit_w_switch_us_missed=10025_W_Compiling the system unit requires the -Us switch
% When recompiling the system unit (it needs special treatment), the
% \var{-Us} switch must be specified.
unit_f_errors_in_unit=10026_F_There were $1 errors compiling module, stopping
% When the compiler encounters a fatal error or too many errors in a module
% then it stops with this message.
unit_u_load_unit=10027_U_Load from $1 ($2) unit $3
% When you use the \var{-vu} flag, which unit is loaded from which unit is
% shown.
unit_u_recompile_crc_change=10028_U_Recompiling $1, checksum changed for $2
% The unit is recompiled because the checksum of a unit it depends on has
% changed.
unit_u_recompile_source_found_alone=10029_U_Recompiling $1, source found only
% When you use the \var{-vu} flag, these messages tell you why the current
% unit is recompiled.
unit_u_recompile_staticlib_is_older=10030_U_Recompiling unit, static lib is older than ppufile
% When you use the \var{-vu} flag, the compiler warns if the static library
% of the unit is older than the unit file itself.
unit_u_recompile_sharedlib_is_older=10031_U_Recompiling unit, shared lib is older than ppufile
% When you use the \var{-vu} flag, the compiler warns if the shared library
% of the unit is older than the unit file itself.
unit_u_recompile_obj_and_asm_older=10032_U_Recompiling unit, obj and asm are older than ppufile
% When you use the \var{-vu} flag, the compiler warns if the assembler or
% object file of the unit is older than the unit file itself.
unit_u_recompile_obj_older_than_asm=10033_U_Recompiling unit, obj is older than asm
% When you use the \var{-vu} flag, the compiler warns if the assembler
% file of the unit is older than the object file of the unit.
unit_u_parsing_interface=10034_U_Parsing interface of $1
% When you use the \var{-vu} flag, the compiler warns that it starts
% parsing the interface part of the unit.
unit_u_parsing_implementation=10035_U_Parsing implementation of $1
% When you use the \var{-vu} flag, the compiler warns that it starts
% parsing the implementation part of the unit.
unit_u_second_load_unit=10036_U_Second load for unit $1
% When you use the \var{-vu} flag, the compiler warns that it starts
% recompiling a unit for the second time. This can happen with
% interdependent units.
unit_u_check_time=10037_U_PPU Check file $1 time $2
% When you use the \var{-vu} flag, the compiler shows the filename and
% date and time of the file on which a recompile depends.
### The following two error msgs is currently disabled.
#unit_h_cond_not_set_in_last_compile=10038_H_Conditional $1 was not set at startup in last compilation of $2
#% when recompilation of an unit is required the compiler will check that
#% the same conditionals are set for the recompilation. The compiler has
#% found a conditional that currently is defined, but was not used the last
#% time the unit was compiled.
#unit_h_cond_set_in_last_compile=10039_H_Conditional $1 was set at startup in last compilation of $2
#% when recompilation of an unit is required the compiler will check that
#% the same conditionals are set for the recompilation. The compiler has
#% found a conditional that was used the last time the unit was compiled, but
#% the conditional is currently not defined.
unit_w_cant_compile_unit_with_changed_incfile=10040_W_Can't recompile unit $1, but found modified include files
% A unit was found to have modified include files, but
% some source files were not found, so recompilation is impossible.
unit_u_source_modified=10041_U_File $1 is newer than the one used for creating PPU file $2
% A modified source file for a compiler unit was found.
unit_u_ppu_invalid_fpumode=10042_U_Trying to use a unit which was compiled with a different FPU mode
% Trying to compile code while using units which were not compiled with
% the same floating point format mode. Either all code should be compiled
% with FPU emulation on, or with FPU emulation off.
unit_u_loading_interface_units=10043_U_Loading interface units from $1
% When you use the \var{-vu} flag, the compiler warns that it is starting
% to load the units defined in the interface part of the unit.
unit_u_loading_implementation_units=10044_U_Loading implementation units from $1
% When you use the \var{-vu} flag, the compiler warns that it is starting
% to load the units defined in the implementation part of the unit.
unit_u_interface_crc_changed=10045_U_Interface CRC changed for unit $1
% When you use the \var{-vu} flag, the compiler warns that the
% CRC calculated for the interface has been changed after the implementation
% has been parsed.
unit_u_implementation_crc_changed=10046_U_Implementation CRC changed for unit $1
% When you use the \var{-vu} flag, the compiler warns that the
% CRC calculated has been changed after the implementation
% has been parsed.
unit_u_finished_compiling=10047_U_Finished compiling unit $1
% When you use the \var{-vu} flag, the compiler warns that it
% has finished compiling the unit.
unit_u_add_depend_to=10048_U_Adding dependency: $1 depends on $2
% When you use the \var{-vu} flag, the compiler warns that it
% has added a dependency between the two units.
unit_u_no_reload_is_caller=10049_U_No reload, is caller: $1
% When you use the \var{-vu} flag, the compiler warns that it
% will not reload the unit because it is the unit that wants
% to load this unit.
unit_u_no_reload_in_second_compile=10050_U_No reload, already in second compile: $1
% When you use the \var{-vu} flag, the compiler warns that it
% will not reload the unit because it is already in a second recompile.
unit_u_flag_for_reload=10051_U_Flag for reload: $1
% When you use the \var{-vu} flag, the compiler warns that it
% has to reload the unit.
unit_u_forced_reload=10052_U_Forced reloading
% When you use the \var{-vu} flag, the compiler warns that it
% is reloading the unit because it was required.
unit_u_previous_state=10053_U_Previous state of $1: $2
% When you use the \var{-vu} flag, the compiler shows the
% previous state of the unit.
unit_u_second_compile_unit=10054_U_Already compiling $1, setting second compile
% When you use the \var{-vu} flag, the compiler warns that it is starting
% to recompile a unit for the second time. This can happen with interdependent
% units.
unit_u_loading_unit=10055_U_Loading unit $1
% When you use the \var{-vu} flag, the compiler warns that it starts
% loading the unit.
unit_u_finished_loading_unit=10056_U_Finished loading unit $1
% When you use the \var{-vu} flag, the compiler warns that it finished
% loading the unit.
unit_u_registering_new_unit=10057_U_Registering new unit $1
% When you use the \var{-vu} flag, the compiler warns that it has
% found a new unit and is registering it in the internal lists.
unit_u_reresolving_unit=10058_U_Re-resolving unit $1
% When you use the \var{-vu} flag, the compiler warns that it
% has to recalculate the internal data of the unit.
unit_u_skipping_reresolving_unit=10059_U_Skipping re-resolving unit $1, still loading used units
% When you use the \var{-vu} flag, the compiler warns that it is
% skipping the recalculation of the internal data of the unit
% because there is no data to recalculate.
unit_u_unload_resunit=10060_U_Unloading resource unit $1 (not needed)
% When you use the \var{-vu} flag, the compiler warns that it is unloading the
% resource handling unit, since no resources are used.
unit_e_different_wpo_file=10061_E_Unit $1 was compiled using a different whole program optimization feedback input ($2, $3); recompile it without wpo or use the same wpo feedback input file for this compilation invocation
% When a unit has been compiled using a particular whole program optimization (wpo) feedback file (\var{-FW<x>} \var{-OW<x>}),
% this compiled version of the unit is specialised for that particular compilation scenario and cannot be used in
% any other context. It has to be recompiled before you can use it in another program or with another wpo feedback input file.
unit_u_indirect_crc_changed=10062_U_Indirect interface (objects/classes) CRC changed for unit $1
% When you use the \var{-vu} flag, the compiler warns that the
% indirect CRC calculated for the unit (this is the CRC of all classes/objects/interfaces/$\ldots$
% in the interfaces of units directly or indirectly used by this unit in the interface) has been changed after the
% implementation has been parsed.
unit_u_ppu_invalid_memory_model=10063_U_PPU is compiled for another i8086 memory model
% This unit file was compiled for a different i8086 memory model and
% cannot be read.
unit_u_loading_from_package=10064_U_Loading unit $1 from package $2
% The unit is loaded from a package.
cg_f_internal_type_not_found=10065_F_Internal type "$1" was not found. Check if you use the correct run time library.
% The compiler expects that the runtime library contains certain types. If you see this error
% and you didn't change the runtime library code, it's very likely that the runtime library
% you're using doesn't match the compiler in use. If you changed the runtime library this error means
% that you removed a type which the compiler needs for internal use.
cg_f_internal_type_does_not_match=10066_F_Internal type "$1" does not look as expected. Check if you use the correct run time library.
% The compiler expects that the runtime library contains certain types. If you see this error
% and you didn't change the runtime library code, it's very likely that the runtime library
% you're using doesn't match the compiler in use. If you changed the runtime library this error means
% that you changed a type which the compiler needs for internal use and which needs to have a certain structure.
unit_u_ppu_llvm_mismatch=10067_U_Skipping unit, PPU and compiler have to be both compiled with or without LLVM support
% Units compiled by a compiler built with the LLVM code generator cannot be used with a regular compiler,
% and vice versa.
% \end{description}
# EndOfTeX

#
#  Options
#
# 11063 is the last used one
#
option_usage=11000_O_$1 [options] <inputfile> [options]
# BeginOfTeX
%
% \section{Command line handling errors}
% This section lists errors that occur when the compiler is processing the
% command line or handling the configuration files.
% \begin{description}
option_only_one_source_support=11001_W_Only one source file supported, changing source file to compile from "$1" into "$2"
% You can specify only one source file on the command line. The last
% one will be compiled, others will be ignored. This may indicate that
% you forgot a \var{'-'} sign.
option_def_only_for_os2=11002_W_DEF file can be created only for OS/2
% This option can only be specified when you're compiling for OS/2.
option_no_nested_response_file=11003_E_Nested response files are not supported
% You cannot nest response files with the \var{@file} command line option.
option_no_source_found=11004_F_No source file name in command line
% The compiler expects a source file name on the command line.
option_no_option_found=11005_N_No option inside $1 config file
% The compiler didn't find any option in that config file.
option_illegal_para=11006_E_Illegal parameter: $1
% You specified an unknown option.
option_help_pages_para=11007_H_-? writes help pages
% When an unknown option is given, this message is displayed.
option_too_many_cfg_files=11008_F_Too many config files nested
% You can only nest up to 16 config files.
option_unable_open_file=11009_F_Unable to open file $1
% The option file cannot be found.
option_reading_further_from=11010_D_Reading further options from $1
% Displayed when you have notes turned on, and the compiler switches
% to another options file.
option_target_is_already_set=11011_W_Target is already set to: $1
% Displayed if more than one \var{-T} option is specified.
option_no_shared_lib_under_dos=11012_W_Shared libs not supported on DOS platform, reverting to static
% If you specify \var{-CD} for the \dos platform, this message is displayed.
% The compiler supports only static libraries under \dos.
option_too_many_ifdef=11013_F_In options file $1 at line $2 too many #IF(N)DEFs encountered
% The \var{\#IF(N)DEF} statements in the options file are not balanced with
% the \var{\#ENDIF} statements.
option_too_many_endif=11014_F_In options file $1 at line $2 unexpected #ENDIFs encountered
% The \var{\#IF(N)DEF} statements in the options file are not balanced with
% the \var{\#ENDIF} statements.
option_too_less_endif=11015_F_Open conditional at the end of the options file
% The \var{\#IF(N)DEF} statements in the options file are not balanced with
% the \var{\#ENDIF} statements.
option_no_debug_support=11016_W_Debug information generation is not supported by this executable
% It is possible to have a compiler executable that doesn't support
% the generation of debugging info. If you use such an executable with the
% \var{-g} switch, this warning will be displayed.
option_no_debug_support_recompile_fpc=11017_H_Try recompiling with -dGDB
% It is possible to have a compiler executable that doesn't support
% the generation of debugging info. If you use such an executable with the
% \var{-g} switch, this warning will be displayed.
option_obsolete_switch=11018_W_You are using the obsolete switch $1
% This warns you when you use a switch that is not needed/supported anymore.
% It is recommended that you remove the switch to overcome problems in the
% future, when the meaning of the switch may change.
option_obsolete_switch_use_new=11019_W_You are using the obsolete switch $1, please use $2
% This warns you when you use a switch that is not supported anymore. You
% must now use the second switch instead.
% It is recommended that you change the switch to overcome problems in the
% future, when the meaning of the switch may change.
option_switch_bin_to_src_assembler=11020_N_Switching assembler to default source writing assembler
% This notifies you that the assembler has been changed because you used the
% -a switch, which cannot be used with a binary assembler writer.
option_incompatible_asm=11021_W_Assembler output selected "$1" is not compatible with "$2"
option_asm_forced=11022_W_"$1" assembler use forced
% The assembler output selected cannot generate
% object files with the correct format. Therefore, the
% default assembler for this target is used instead.
option_using_file=11026_T_Reading options from file $1
% Options are also read from this file.
option_using_env=11027_T_Reading options from environment $1
% Options are also read from this environment string.
option_handling_option=11028_D_Handling option "$1"
% Debug info that an option is found and will be handled.
option_help_press_enter=11029_O_*** press enter ***
% Message shown when help is shown page per page. When pressing the ENTER
% Key, the next page of help is shown. If you press q and then ENTER, the
% compiler exits.
option_start_reading_configfile=11030_H_Start of reading config file $1
% Start of configuration file parsing.
option_end_reading_configfile=11031_H_End of reading config file $1
% End of configuration file parsing.
option_interpreting_option=11032_D_Interpreting option "$1"
% The compiler is interpreting an option
option_interpreting_firstpass_option=11036_D_Interpreting firstpass option "$1"
% The compiler is interpreting an option for the first time.
option_interpreting_file_option=11033_D_Interpreting file option "$1"
% The compiler is interpreting an option which it read from the configuration file.
option_read_config_file=11034_D_Reading config file "$1"
% The compiler is starting to read the configuration file.
option_found_file=11035_D_Found source file name "$1"
% Additional information about options.
% Displayed when you have the debug option turned on.
option_code_page_not_available=11039_E_Unknown codepage "$1"
% An unknown codepage for the source files was requested.
% The compiler is compiled with support for several codepages built-in.
% The requested codepage is not in that list. You will need to recompile
% the compiler with support for the codepage you need.
option_config_is_dir=11040_F_Config file $1 is a directory
% Directories cannot be used as configuration files.
option_confict_asm_debug=11041_W_Assembler output selected "$1" cannot generate debug info, debugging disabled
% The selected assembler output cannot generate
% debugging information, debugging option is therefore disabled.
option_ppc386_deprecated=11042_W_Use of ppc386.cfg is deprecated, please use fpc.cfg instead
% Using ppc386.cfg is still supported for historical reasons, however, for a multiplatform
% system the naming makes no sense anymore. Please continue to use fpc.cfg instead.
option_else_without_if=11043_F_In options file $1 at line $2 #ELSE directive without #IF(N)DEF found
% An \var{\#ELSE} statement was found in the options file without a matching \var{\#IF(N)DEF} statement.
option_unsupported_target=11044_F_Option "$1" is not, or not yet, supported on the current target platform
% Not all options are supported or implemented for all target platforms. This message informs you that a chosen
% option is incompatible with the currently selected target platform.
option_unsupported_target_for_feature=11045_F_The feature "$1" is not, or not yet, supported on the selected target platform
% Not all features are supported or implemented for all target platforms. This message informs you that a chosen
% feature is incompatible with the currently selected target platform.
option_dwarf_smart_linking=11046_N_DWARF debug information cannot be used with smart linking on this target, switching to static linking
% Smart linking is currently incompatible with DWARF debug information on most
% platforms, so smart linking is disabled in such cases.
option_ignored_target=11047_W_Option "$1" is ignored for the current target platform.
% Not all options are supported or implemented for all target platforms. This message informs you that a chosen
% option is ignored for the currently selected target platform.
option_debug_external_unsupported=11048_W_Disabling external debug information because it is unsupported for the selected target/debug format combination.
% Not all debug formats can be stored in an external file on all platforms. In particular, on
% Mac OS X only DWARF debug information can be stored externally.
option_dwarf_smartlink_creation=11049_N_DWARF debug information cannot be used with smart linking with external assembler, disabling static library creation.
% Smart linking is currently incompatble with DWARF debug information on most
% platforms, so smart linking is disabled in such cases.
option_invalid_macosx_deployment_target=11050_E_Invalid value for MACOSX_DEPLOYMENT_TARGET environment variable: $1
option_invalid_iphoneos_deployment_target=11051_E_Invalid value for IPHONEOS_DEPLOYMENT_TARGET environment variable: $1
% On Mac OS X, the MACOSX\_DEPLOYMENT\_TARGET/IPHONEOS\_DEPLOYMENT\_TARGET environment variable can be
% used to set the default target OS version. In case of Mac OS X, it has to be of the format
% XY.Z or XY.Z.AB with X, Y,Z , A and B all digits from 0-9.
% In case of iOS, it has to be X.Z.A, where X, Z and A can all be either 1 or 2
% digits from 0-9.
option_illegal_fpu_eabihf=11052_E_You must use one of the VFP FPU types when using the EABIHF ABI target
% The EABIHF (VFP hardfloat) ABI target can only be used with VFP FPUs.
option_w_unsupported_debug_format=11053_W_The selected debug format is not supported on the current target, not changing the current setting
% Not all targets support all debug formats (in particular, Stabs is not supported on 64 bit targets).
option_missing_arg=11054_E_Argument to "$1" is missing
% Displayed when parameter must be followed by an argument.
option_malformed_para=11055_E_Malformed parameter: $1
% Given argument is not valid for parameter.
option_smart_link_requires_external_linker=11056_W_Smart linking requires external linker
option_com_files_require_tiny_model=11057_E_Creating .COM files is not supported in the current memory model. Only the tiny memory model supports making .COM files.
% Do not enable experimental -gc option if -Ur option is given.
option_gc_incompatible_with_release_flag=11058_W_Experimental CheckPointer option not enabled because it is incomptatible with -Ur option.
% The compiler binary only supports a single target architecture. Invoke the fpc binary if you wish to select a compiler binary for a different target architecture.
option_invalid_target_architecture=11059_E_Unsupported target architecture -P$1, invoke the "fpc" compiler driver instead.
% The ppc<target> executables support only a single target architecture. They do not support the -P switch. The compiler driver "fpc"
% handles this switch, so you have to invoke compiling by using "fpc" instead
option_features_only_for_system_unit=11060_E_Feature switches are only supported while compiling the system unit.
% To selected a certain feature, the system unit must be compiled with this feature enabled. All other units inherited the features set by the
% system unit through the ppu of the system unit.
option_debug_info_requires_external_linker=11061_N_The selected debug format is not supported by the internal linker, switching to external linking
option_valgrind_heaptrc_mismatch=11062_E_You can not use both options ($1) ($2) at same time.
option_unsupported_fpu=11063_F_The selected FPU type "$1" is not supported by the selected instruction set "$2"
% Not all instruction sets support all FPU types. For example on ARM, Thumb(-1) supports no FPU/VFP instruction set
%\end{description}
# EndOfTeX

#
#  Whole program optimization
#
# 12019 is the last used one
#
# BeginOfTeX
%
% \section{Whole program optimization messages}
% This section lists errors that occur when the compiler is performing
% whole program optimization.
% \begin{description}
wpo_cant_find_file=12000_F_Cannot open whole program optimization feedback file "$1"
% The compiler cannot open the specified feedback file with whole program optimization information.
wpo_begin_processing=12001_D_Processing whole program optimization information in wpo feedback file "$1"
% The compiler starts processing whole program optimization information found in the named file.
wpo_end_processing=12002_D_Finished processing the whole program optimization information in wpo feedback file "$1"
% The compiler has finished processing the whole program optimization information found in the named file.
wpo_expected_section=12003_E_Expected section header, but got "$2" at line $1 of wpo feedback file
% The compiler expected a section header in the whole program optimization file (starting with \%),
% but did not find it.
wpo_no_section_handler=12004_W_No handler registered for whole program optimization section "$2" at line $1 of wpo feedback file, ignoring
% The compiler has no handler to deal with the mentioned whole program optimization information
% section, and will therefore ignore it and skip to the next section.
wpo_found_section=12005_D_Found whole program optimization section "$1" with information about "$2"
% The compiler encountered a section with whole program optimization information, and according
% to its handler this section contains information usable for the mentioned purpose.
wpo_no_input_specified=12006_F_The selected whole program optimizations require a previously generated feedback file (use -Fw to specify)
% The compiler needs information gathered during a previous compilation run to perform the selected
% whole program optimizations. You can specify the location of the feedback file containing this
% information using the -Fw switch.
wpo_not_enough_info=12007_E_No collected information necessary to perform "$1" whole program optimization found
% While you pointed the compiler to a file containing whole program optimization feedback, it
% did not contain the information necessary to perform the selected optimizations. You most likely
% have to recompile the program using the appropriate -OWxxx switch.
wpo_no_output_specified=12008_F_Specify a whole program optimization feedback file to store the generated info in (using -FW)
% You have to specify the feedback file in which the compiler has to store the whole program optimization
% feedback that is generated during the compilation run. This can be done using the -FW switch.
wpo_output_without_info_gen=12009_E_Not generating any whole program optimization information, yet a feedback file was specified (using -FW)
% The compiler was instructed to store whole program optimization feedback into a file specified using -FW,
% but not to actually generated any whole program optimization feedback. The classes of to be
% generated information can be specified using -OWxxx.
wpo_input_without_info_use=12010_E_Not performing any whole program optimizations, yet an input feedback file was specified (using -Fw)
% The compiler was not instructed to perform any whole program optimizations (no -Owxxx parameters),
% but nevertheless an input file with such feedback was specified (using -Fwyyy). Since this can
% indicate that you forgot to specify an -Owxxx parameter, the compiler generates an error in this case.
wpo_skipping_unnecessary_section=12011_D_Skipping whole program optimization section "$1", because not needed by the requested optimizations
% The whole program optimization feedback file contains a section with information that is not
% required by the selected whole program optimizations.
wpo_duplicate_wpotype=12012_W_Overriding previously read information for "$1" from feedback input file using information in section "$2"
% The feedback file contains multiple sections that provide the same class of information (e.g.,
% information about which virtual methods can be devirtualized). In this case, the information in last encountered
% section is used. Turn on debugging output (-vd) to see which class of information is provided by each section.
wpo_cannot_extract_live_symbol_info_strip=12013_E_Cannot extract symbol liveness information from program when stripping symbols, use -Xs-
% Certain symbol liveness collectors extract the symbol information from the linked program. If the symbol information
% is stripped (option -Xs), this is not possible.
wpo_cannot_extract_live_symbol_info_no_link=12014_E_Cannot extract symbol liveness information from program when when not linking
% Certain symbol liveness collectors extract the symbol information from the linked program. If the program is not
% linked by the compiler, this is not possible.
wpo_cannot_find_symbol_progs=12015_F_Cannot find "$1" or "$2" to extract symbol liveness information from linked program
% Certain symbol liveness collectors need a helper program to extract the symbol information from the linked program.
% This helper program is normally 'nm', which is part of the GNU binutils.
wpo_error_reading_symbol_file=12016_E_Error during reading symbol liveness information produced by "$1"
% An error occurred during the reading of the symbol liveness file that was generated using the 'nm' or 'objdump' program. The reason
% can be that it was shorter than expected, or that its format was not understood.
wpo_error_executing_symbol_prog=12017_F_Error executing "$1" (exitcode: $2) to extract symbol information from linked program
% Certain symbol liveness collectors need a helper program to extract the symbol information from the linked program.
% The helper program produced the reported error code when it was run on the linked program.
wpo_symbol_live_info_needs_smart_linking=12018_E_Collection of symbol liveness information can only help when using smart linking, use -CX -XX
% Whether or not a symbol is live is determined by looking whether it exists in the final linked program.
% Without smart linking/dead code stripping, all symbols are always included, regardless of whether they are
% actually used or not. So in that case all symbols will be seen as live, which makes this optimization ineffective.
wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program optimisation feedback file "$1"
% The compiler is unable to create the file specified using the -FW parameter to store the whole program optimisation information.
%\end{description}
# EndOfTeX


#
# Package loading and handling
#
# 13029 is the last used one
#
# BeginOfTeX
% \section{Package loading messages.}
% This section lists all messages that can occur when the compiler is
% loading a package from disk into memory, saving a package from memory
% to disk or when parsing packages in general. Many of these messages are
% informational messages.
% \begin{description}
package_f_cant_find_pcp=13001_F_Can't find package $1
% You tried to use a package of which the PCP file isn't found by the
% compiler. Check your configuration file for the package paths.
package_u_pcp_found=13002_U_PCP file for package $1 found
% The PCP file for the specified package was found.
package_e_duplicate_package=13003_E_Duplicate package $1
% The package was already specified as required package and may not be specified
% a second time.
package_e_unit_deny_package=13004_E_Unit $1 can not be part of a package
% The unit can not be part of a package because the DenyPackageUnit directive is enabled for the unit.
package_n_implicit_unit_import=13005_N_Unit $1 is implicitely imported into package $2
% The unit was not specified as part of the \var{contains} section and is also not included in one of the
% required packages. Add the unit to the \var{contains} section to increase compatibility with other packages.
package_f_cant_create_pcp=13006_F_Failed to create PCP file $2 for package $1
% The PCP file for the package could not be created.
package_f_cant_read_pcp=13007_F_Failed to read PCP file for package $1
% The PCP file for the package could not be read.
package_t_pcp_loading=13008_T_PCP loading $1
% When the \var{-vt} switch is used, the compiler tells you
% what packages it loads.
package_u_pcp_name=13009_U_PCP Name: $1
% When you use the \var{-vu} flag, the package name is shown.
package_u_pcp_flags=13010_U_PCP Flags: $1
% When you use the \var{-vu} flag, the package flags are shown.
package_u_pcp_crc=13011_U_PCP Crc: $1
% When you use the \var{-vu} flag, the package CRC check is shown.
package_u_pcp_time=13012_U_PCP Time: $1
% When you use the \var{-vu} flag, the time the package was compiled is shown.
package_u_pcp_file_too_short=13013_U_PCP File too short
% The PCP file is too short, not all declarations are present.
package_u_pcp_invalid_header=13014_U_PCP Invalid Header (no PCP at the begin)
% A package file contains as the first three bytes the ASCII codes of the characters \var{PCP}.
package_u_pcp_invalid_version=13015_U_PCP Invalid Version $1
% This package file was compiled with a different version of the compiler, and
% cannot be read.
package_u_pcp_invalid_processor=13016_U_PCP is compiled for another processor
% This package file was compiled for a different processor type, and
% cannot be read.
package_u_pcp_invalid_target=13017_U_PCP is compiled for another target
% This package file was compiled for a different target, and
% cannot be read.
package_u_pcp_write=13018_U_Writing $1
% When you specify the \var{-vu} switch, the compiler will tell you where it
% writes the package file.
package_f_pcp_cannot_write=13019_F_Can't Write PCP-File
% An error occurred when writing the package file.
package_f_pcp_read_error=13020_F_Error reading PCP-File
% This means that the package file was corrupted, and contains invalid
% information. Recompilation will be necessary.
package_f_pcp_read_unexpected_end=13021_F_Unexpected end of PCP-File
% Unexpected end of file. This may mean that the PCP file is
% corrupted.
package_f_pcp_invalid_entry=13022_F_Invalid PCP-File entry: $1
% The unit the compiler is trying to read is corrupted, or generated with a
% newer version of the compiler.
package_u_pcp_invalid_fpumode=13023_U_Trying to use a unit which was compiled with a different FPU mode
% Trying to compile code while using units which were not compiled with
% the same floating point format mode. Either all code should be compiled
% with FPU emulation on, or with FPU emulation off.
package_t_packagesearch=13024_T_Packagesearch: $1
% When you use the \var{-vt} option, the compiler tells you where it tries to find
% package files.
package_u_required_package=13025_U_Required package $1
% When you specify the \var{-vu} switch, the compiler will tell you which
% packages a package requires.
package_u_contained_unit=13026_U_Contained unit $1
% When you specify the \var{-vu} switch, the compiler will tell you which
% units a package contains.
package_e_unit_already_contained_in_package=13027_E_Unit $1 is already contained in package $2
% A unit specified in a contains sections must not be part of a required package. Note that
% a unit might have become part of another package by indirectly including it.
package_w_unit_from_indirect_package=13028_W_Unit $1 is imported from indirectly required package $2
% If a unit from a package that is not part of the \var{requires} section is used then the package
% should require this unit directly to avoid confusion.
package_u_ppl_filename=13029_U_PPL filename $1
% The name of the binary package library that is stored in the PCP.
%
% \end{description}
# EndOfTeX


#
# Logo (option -l)
#
option_logo=11023_[
Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU
Copyright (c) 1993-2021 by Florian Klaempfl and others
]

#
# Info (option -i)
#
option_info=11024_[
Free Pascal Compiler version $FPCVERSION

Compiler date      : $FPCDATE
Compiler CPU target: $FPCCPU

Supported targets (targets marked with '{*}' are under development):
  $OSTARGETS

Supported CPU instruction sets:
  $INSTRUCTIONSETS

Supported FPU instruction sets:
  $FPUINSTRUCTIONSETS

Supported inline assembler modes:
  $ASMMODES

Recognized compiler and RTL features:
  $FEATURELIST

Recognized modeswitches:
  $MODESWITCHES

Supported ABI targets:
  $ABITARGETS

Supported Optimizations:
  $OPTIMIZATIONS

Supported Whole Program Optimizations:
  All
  $WPOPTIMIZATIONS

Code Generation Backend
  $CODEGENERATIONBACKEND

Supported Microcontroller types:$\n  $CONTROLLERTYPES$\n
This program comes under the GNU General Public Licence
For more information read COPYING.v2

Please report bugs in our bug tracker on:
                 https://bugs.freepascal.org

More information may be found on our WWW pages (including directions
for mailing lists useful for asking questions or discussing potential
new features, etc.):
                 https://www.freepascal.org
]

#
# Help pages (option -? and -h)
#
# The first character on the line indicates who will display this
# line, the current possibilities are:
#    * = every target
#    3 = 80x86 targets
#    4 = x86_64
#    6 = 680x0 targets
#    8 = 8086 (16-bit) targets
#    a = AArch64
#    A = ARM
#    e = in extended debug mode only
#    F = help for the 'fpc' binary (independent of the target compiler)
#    I = VIS
#    J = JVM
#    L = LLVM variant
#    M = MIPS (MIPSEB) targets
#    m = MIPSEL targets
#    P = PowerPC targets
#    p = PowerPC64 targets
#    R = RiscV32 targets
#    r = RiscV64 targets
#    S = Sparc targets
#    s = Sparc64 targets
#    V = AVR
#    x = xtensa targets
#    Z = Z80
# The second character also indicates who will display this line,
# (if the above character was TRUE) the current possibilities are :
#    * = everyone
#    g = with GDB info supported by the compiler
#    O = OS/2
#    L = UNIX systems
#  The third character represents the indentation level.
#
option_help_pages=11025_[
# It is also possible to insert comments in that section
F*0*_Only options valid for the default or selected platform are listed.
**0*_Put + after a boolean switch option to enable it, - to disable it.
**1@<x>_Read compiler options from <x> in addition to the default fpc.cfg
# Assembler related options
**1a_The compiler does not delete the generated assembler file
**2a5_Don't generate Big Obj COFF files for GNU Binutils older than 2.25 (Windows, NativeNT)
**2al_List sourcecode lines in assembler file
**2an_List node info in assembler file (-dEXTDEBUG compiler)
**2ao_Add an extra option to external assembler call (ignored for internal)
*L2ap_Use pipes instead of creating temporary assembler files
**2ar_List register allocation/release info in assembler file
**2at_List temp allocation/release info in assembler file
# Choice of assembler used
**1A<x>_Output format:
**2Adefault_Use default assembler
3*2Aas_Assemble using GNU AS
3*2Aas-darwin_Assemble Darwin Mach-O using GNU GAS
3*2Amacho_Mach-O (Darwin, Intel 32 bit) using internal writer
8*2Anasm_Assemble using Nasm
8*2Anasmobj_Assemble using Nasm
3*2Anasm_Assemble using Nasm
3*2Anasmcoff_COFF (Go32v2) file using Nasm
3*2Anasmelf_ELF32 (Linux) file using Nasm
3*2Anasmwin32_Win32 object file using Nasm
3*2Anasmwdosx_Win32/WDOSX object file using Nasm
3*2Anasmdarwin_macho32 object file using Nasm (experimental)
3*2Awasm_Obj file using Wasm (Watcom)
3*2Anasmobj_Obj file using Nasm
3*2Amasm_Obj file using Masm (Microsoft)
3*2Atasm_Obj file using Tasm (Borland)
3*2Aelf_ELF (Linux) using internal writer
3*2Acoff_COFF (Go32v2) using internal writer
3*2Apecoff_PE-COFF (Win32) using internal writer
3*2Ayasm_Assemble using Yasm (experimental)
4*2Aas_Assemble using GNU AS
4*2Agas_Assemble using GNU GAS
4*2Aas-darwin_Assemble Darwin Mach-O using GNU GAS
4*2Amasm_Win64 object file using ml64 (Microsoft)
4*2Apecoff_PE-COFF (Win64) using internal writer
4*2Aelf_ELF (Linux-64bit) using internal writer
4*2Ayasm_Assemble using Yasm (experimental)
4*2Anasm_Assemble using Nasm (experimental)
4*2Anasmwin64_Assemble Win64 object file using Nasm (experimental)
4*2Anasmelf_Assemble Linux-64bit object file using Nasm (experimental)
4*2Anasmdarwin_Assemble darwin macho64 object file using Nasm (experimental)
6*2Aas_Unix o-file using GNU AS
6*2Agas_GNU Motorola assembler
6*2Amit_MIT Syntax (old GAS)
6*2Amot_Standard Motorola assembler
6*2Avasm_Use vasm to assemble
A*2Aas_Assemble using GNU AS
A*2Aas-darwin_Assemble using GNU AS for Darwin targets
A*2Aclang_Assemble using clang
A*2Aelf_Assemble using internal ELF writer
a*2Aas_Assemble using GNU AS
a*2Aclang_Assemble using clang for darwin/ios targets
a*2Aas-clang_Assemble using clang for other targets 
P*2Aas_Assemble using GNU AS
S*2Aas_Assemble using GNU AS
s*2Aas_Assemble using GNU AS
v*2Aas_Assemble using GNU AS
W*2Abinaryen_Assemble using GNU AS for wasm32 (wasm-as)
W*2Allvm-mc_Assemble using llvm-mc
W*2Awabt_Assemble using wasa
x*2Aas_Assemble using GNU AS
Z*2Asdcc-sdasz80_Assemble using SDCC-SDASZ80
Z*2Az80asm_Assemble using z80asm
Z*2Avasm_Assemble using Vasm
# Used only internally by IDE
**1b_Generate browser info
**2bl_Generate local symbol info
**1B_Build all modules
**1C<x>_Code generation options:
**2C3_Turn on ieee error checking for constants
**2Ca<x>_Select ABI; see fpc -i or fpc -ia for possible values
**2Cb_Generate code for a big-endian variant of the target architecture
**2Cc<x>_Set default calling convention to <x>
**2CD_Create also dynamic library (not supported)
**2Ce_Compilation with emulated floating point opcodes
**2CE_Generate FPU code which can raise exceptions
**2Cf<x>_Select fpu instruction set to use; see fpc -i or fpc -if for possible values
**2CF<x>_Minimal floating point constant precision (default, 32, 64)
**2Cg_Generate PIC code
**2Ch<n>[,m]_<n> bytes min heap size (between 1023 and 67107840) and optionally [m] max heap size
**2Ci_IO-checking
A*2CI<x>_Select instruction set on ARM: ARM or THUMB
L*2Cl<x>_LLVM code generation options
L*3Clflto_Enable Link-time optimisation (needed both when compiling units and programs/libraries)
L*3Clfltonosystem_Disable LTO for the system unit (needed with at least Xcode 10.2 and earlier due to linker bugs)
L*3Clv<x>_LLVM target version: Xcode-10.1, 7.0, 8.0, .., 10.0
**2Cn_Omit linking stage
P*2CN_Generate nil-pointer checks (AIX-only)
**2Co_Check overflow of integer operations
**2CO_Check for possible overflow of integer operations
**2Cp<x>_Select instruction set; see fpc -i or fpc -ic for possible values
**2CP<x>=<y>_ packing settings
**3CPPACKSET=<y>_ <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 and 8
**3CPPACKENUM=<y>_ <y> enum packing: 0, 1, 2 and 4 or DEFAULT or NORMAL
**3CPPACKRECORD=<y>_ <y> record packing: 0 or DEFAULT or NORMAL, 1, 2, 4, 8, 16 and 32
**2Cr_Range checking
**2CR_Verify object method call validity
**2Cs<n>_Set stack checking size to <n>
**2Ct_Stack checking (for testing only, see manual)
8*2CT<x>_Target-specific code generation options
3*2CT<x>_Target-specific code generation options
4*2CT<x>_Target-specific code generation options
p*2CT<x>_Target-specific code generation options
P*2CT<x>_Target-specific code generation options
J*2CT<x>_Target-specific code generation options
A*2CT<x>_Target-specific code generation options
p*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed (AIX)
P*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed (AIX)
J*3CTautogetterprefix=X_  Automatically create getters for properties with prefix X (empty string disables)
J*3CTautosetterprefix=X_  Automatically create setters for properties with prefix X (empty string disables)
8*3CTcld_                 Emit a CLD instruction before using the x86 string instructions
3*3CTcld_                 Emit a CLD instruction before using the x86 string instructions
4*3CTcld_                 Emit a CLD instruction before using the x86 string instructions
8*3CTfarprocspushoddbp_       Increment BP before pushing it in the prologue of far functions
J*3CTcompactintarrayinit_ Generate smaller (but potentially slower) code for initializing integer array constants
J*3CTenumfieldinit_       Initialize enumeration fields in constructors to enumtype(0), after calling inherited constructors
J*3CTinitlocals_          Initialize local variables that trigger a JVM bytecode verification error if used uninitialized (slows down code)
J*3CTlowercaseprocstart_  Lowercase the first character of procedure/function/method names
A*3CTthumbinterworking_ Generate Thumb interworking-safe code if possible
J*2Cv_Var/out parameter copy-out checking
A*2CV<x>_Set section threadvar model to <x>
**2CX_Create also smartlinked library
**1d<x>_Defines the symbol <x>
**1D_Generate a DEF file
**2DD<x>_Set the date string returned by %DATE% to x, it is not checked for being a valid date string
**2Dd<x>_Set description to <x>
**2DT<x>_Set the time string returned by %TIME% to x, it is not checked for being a valid time string
**2Dv<x>_Set DLL version to <x>
*O2Dw_PM application
**1e<x>_Set path to executable
**1E_Same as -Cn
**1fPIC_Same as -Cg
**1F<x>_Set file names and paths:
**2Fa<x>[,y]_(for a program) load units <x> and [y] before uses is parsed
**2Fc<x>_Set input codepage to <x>
**2FC<x>_Set RC compiler binary name to <x>
**2Fd_Disable the compiler's internal directory cache
**2FD<x>_Set the directory where to search for compiler utilities
**2Fe<x>_Redirect error output to <x>
**2FE<x>_Set exe/unit output path to <x>
**2Ff<x>_Add <x> to framework path (Darwin only), or set IDF path to <x> (Xtensa-FreeRTOS)
**2FF_Use fpcres as RC to RES compiler instead of windres or gorc
**2Fi<x>_Add <x> to include path
**2Fl<x>_Add <x> to library path
**2FL<x>_Use <x> as dynamic linker
**2Fm<x>_Load unicode conversion table from <x>.txt in the compiler dir
**2FM<x>_Set the directory where to search for unicode binary files
**2FN<x>_Add <x> to list of default unit scopes (namespaces)
**2Fo<x>_Add <x> to object path
**2Fr<x>_Load error message file <x>
**2FR<x>_Set resource (.res) linker to <x>
**2Fu<x>_Add <x> to unit path
**2FU<x>_Set unit output path to <x>, overrides -FE
**2FW<x>_Store generated whole-program optimization feedback in <x>
**2Fw<x>_Load previously stored whole-program optimization feedback from <x>
*g1g_Generate debug information (default format for target)
*g2gc_Generate checks for pointers (experimental, only available on some targets, might generate false positive)
*g2gh_Use heaptrace unit (for memory leak/corruption debugging)
*g2gl_Use line info unit (show more info with backtraces)
*g2gm_Generate Microsoft CodeView debug information (experimental)
*g2go<x>_Set debug information options
*g3godwarfsets_ Enable DWARF 'set' type debug information (breaks gdb < 6.5)
*g3gostabsabsincludes_ Store absolute/full include file paths in Stabs
*g3godwarfmethodclassprefix_ Prefix method names in DWARF with class name
*g3godwarfcpp_ Simulate C++ debug information in DWARF
*g3godwarfomflinnum_ Generate line number information in OMF LINNUM records in MS LINK format in addition to the DWARF debug information (Open Watcom Debugger/Linker compatibility)
*g2gp_Preserve case in stabs symbol names
*g2gs_Generate Stabs debug information
*g2gt_Trash local variables (to detect uninitialized uses; multiple 't' changes the trashing value)
*g2gv_Generates programs traceable with Valgrind
*g2gw_Generate DWARFv2 debug information (same as -gw2)
*g2gw2_Generate DWARFv2 debug information
*g2gw3_Generate DWARFv3 debug information
*g2gw4_Generate DWARFv4 debug information (experimental)
**1i_Information
**2iD_Return compiler date
**2iSO_Return compiler OS
**2iSP_Return compiler host processor
**2iTO_Return target OS
**2iTP_Return target processor
**2iV_Return short compiler version
**2iW_Return full compiler version
**2ia_Return list of supported ABI targets
**2ib_Return the used code generation backend type
**2ic_Return list of supported CPU instruction sets
**2if_Return list of supported FPU instruction sets
**2ii_Return list of supported inline assembler modes
**2im_Return list of supported modeswitches
**2io_Return list of supported optimizations
**2ir_Return list of recognized compiler and RTL features
**2it_Return list of supported targets
**2iu_Return list of supported microcontroller types
**2iw_Return list of supported whole program optimizations
**1I<x>_Add <x> to include path
**1k<x>_Pass <x> to the linker
**1l_Write logo
**1M<x>_Set language mode to <x> / enable modeswitch <x> (see option -im)
**2Mfpc_Free Pascal dialect (default)
**2Mobjfpc_FPC mode with Object Pascal support
**2Mdelphi_Delphi 7 compatibility mode
**2Mtp_TP/BP 7.0 compatibility mode
**2Mmacpas_Macintosh Pascal dialects compatibility mode
**2Miso_ISO 7185 mode
**2Mextendedpascal_ISO 10206 mode
**2Mdelphiunicode_Delphi 2009 and later compatibility mode
**2*_Each mode (as listed above) enables its default set of modeswitches.
**2*_Other modeswitches are disabled and need to be enabled one by another.
**1M<x>-_Disable modeswitch <x> (see option -im)
**1n_Do not read the default config files
**1o<x>_Change the name of the executable produced to <x>
**1O<x>_Optimizations:
**2O-_Disable optimizations
**2O1_Level 1 optimizations (quick and debugger friendly)
**2O2_Level 2 optimizations (-O1 + quick optimizations)
**2O3_Level 3 optimizations (-O2 + slow optimizations)
**2O4_Level 4 optimizations (-O3 + optimizations which might have unexpected side effects)
**2Oa<x>=<y>_Set alignment
**2Oo[NO]<x>_Enable or disable optimizations; see fpc -i or fpc -io for possible values
**2Op<x>_Set target cpu for optimizing; see fpc -i or fpc -ic for possible values
**2OW<x>_Generate whole-program optimization feedback for optimization <x>; see fpc -i or fpc -iw for possible values
**2Ow<x>_Perform whole-program optimization <x>; see fpc -i or fpc -iw for possible values
**2Os_Optimize for size rather than speed
**1pg_Generate profile code for gprof (defines FPC_PROFILE)
F*1P<x>_Target CPU / compiler related options:
F*2PB_Show default compiler binary
F*2PP_Show default target cpu
F*2P<x>_Set target CPU (aarch64,arm,avr,i386,i8086,jvm,m68k,mips,mipsel,powerpc,powerpc64,sparc,x86_64)
**1R<x>_Assembler reading style:
**2Rdefault_Use default assembler for target
3*2Ratt_Read AT&T style assembler
3*2Rintel_Read Intel style assembler
4*2Ratt_Read AT&T style assembler
4*2Rintel_Read Intel style assembler
8*2Ratt_Read AT&T style assembler
8*2Rintel_Read Intel style assembler
6*2RMOT_Read Motorola style assembler
**1S<x>_Syntax options:
**2S2_Same as -Mobjfpc
**2Sc_Support operators like C (*=,+=,/= and -=)
**2Sa_Turn on assertions
**2Sd_Same as -Mdelphi
**2Se<x>_Error options. <x> is a combination of the following:
**3*_<n> : Compiler halts after the <n> errors (default is 1)
**3*_w : Compiler also halts after warnings
**3*_n : Compiler also halts after notes
**3*_h : Compiler also halts after hints
**2Sf_Enable certain features in compiler and RTL; see fpc -i or fpc -ir for possible values)
**2Sg_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)
**2Sh_Use reference counted strings (ansistring by default) instead of shortstrings
**2Si_Turn on inlining of procedures/functions declared as "inline"
**2Sj_Allows typed constants to be writeable (default in all modes)
**2Sk_Load fpcylix unit
**2SI<x>_Set interface style to <x>
**3SIcom_COM compatible interface (default)
**3SIcorba_CORBA compatible interface
**2sT_Generate script only to link on target
**2Sm_Support macros like C (global)
**2So_Same as -Mtp
**2Sr_Transparent file names in ISO mode
**2Ss_Constructor name must be init (destructor must be done)
**2Sv_Support vector processing (use CPU vector extensions if available)
**2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)
**2Sy_@<pointer> returns a typed pointer, same as $T+
**1s_Do not call assembler and linker
**2sh_Generate script to link on host
**2st_Generate script to assemble and link on target
**2sr_Skip register allocation phase (use with -alr)
**1T<x>_Target operating system:
# i386 targets
3*2Tandroid_Android
3*2Taros_AROS
3*2Tbeos_BeOS
3*2Tdarwin_Darwin/Mac OS X
3*2Tembedded_Embedded
3*2Temx_OS/2 via EMX (including EMX/RSX extender)
3*2Tfreebsd_FreeBSD
3*2Tgo32v2_Version 2 of DJ Delorie DOS extender
3*2Thaiku_Haiku
3*2Tiphonesim_iPhoneSimulator from iOS SDK 3.2+ (older versions: -Tdarwin)
3*2Tlinux_Linux
3*2Tnativent_Native NT API (experimental)
3*2Tnetbsd_NetBSD
3*2Tnetware_Novell Netware Module (clib)
3*2Tnetwlibc_Novell Netware Module (libc)
3*2Topenbsd_OpenBSD
3*2Tos2_OS/2 / eComStation
3*2Tsymbian_Symbian OS
3*2Tsolaris_Solaris
3*2Twatcom_Watcom compatible DOS extender
3*2Twdosx_WDOSX DOS extender
3*2Twin32_Windows 32 Bit
3*2Twince_Windows CE
# x86_64 targets
4*2Tandroid_Android
4*2Taros_AROS
4*2Tdarwin_Darwin/Mac OS X
4*2Tdragonfly_DragonFly BSD
4*2Tembedded_Embedded
4*2Tfreebsd_FreeBSD
4*2Thaiku_Haiku
4*2Tiphonesim_iPhoneSimulator
4*2Tlinux_Linux
4*2Tnetbsd_NetBSD
4*2Topenbsd_OpenBSD
4*2Tsolaris_Solaris
4*2Twin64_Win64 (64 bit Windows systems)
# m68k targets
6*2Tamiga_Commodore Amiga
6*2Tatari_Atari ST/STe/TT
6*2Tembedded_Embedded
6*2Tlinux_Linux
6*2Tnetbsd_NetBSD
6*2Tmacosclassic_Classic Mac OS
6*2Tpalmos_PalmOS
6*2Tsinclairql_Sinclair QL
# i8086 targets
8*2Tembedded_Embedded
8*2Tmsdos_MS-DOS (and compatible)
8*2Twin16_Windows 16 Bit
# arm targets
A*2Tandroid_Android
A*2Taros_AROS
A*2Tembedded_Embedded
A*2Tfreertos_FreeRTOS
A*2Tgba_Game Boy Advance
A*2Tios_iOS
A*2Tlinux_Linux
A*2Tnds_Nintendo DS
A*2Tnetbsd_NetBSD
A*2Tpalmos_PalmOS
A*2Tsymbian_Symbian
A*2Twince_Windows CE
# aarch64 targets
a*2Tandroid_Android
a*2Tdarwin_Darwin/Mac OS X
a*2Tfreebsd_FreeBSD
a*2Tios_iOS
a*2Tlinux_Linux
a*2Twin64_Windows 64
# jvm targets
J*2Tandroid_Android
J*2Tjava_Java
# mipsel targets
m*2Tandroid_Android
m*2Tembedded_Embedded
m*2Tlinux_Linux
# mipseb targets
M*2Tembedded_Embedded
M*2Tlinux_Linux
# powerpc targets
P*2Taix_AIX
P*2Tamiga_AmigaOS
P*2Tdarwin_Darwin/Mac OS X
P*2Tembedded_Embedded
P*2Tlinux_Linux
P*2Tmacosclassic_Classic Mac OS
P*2Tmorphos_MorphOS
P*2Tnetbsd_NetBSD
P*2Twii_Wii
# powerpc64 targets
p*2Taix_AIX
p*2Tdarwin_Darwin/Mac OS X
p*2Tembedded_Embedded
p*2Tlinux_Linux
# riscv32 targets
R*2Tlinux_Linux
R*2Tembedded_Embedded
# riscv64 targets
r*2Tlinux_Linux
r*2Tembedded_Embedded
# sparc targets
S*2Tlinux_Linux
S*2Tsolaris_Solaris
# sparc64 targets
s*2Tlinux_Linux
# not yet ready s*2Tsolaris_Solaris
# avr targets
V*2Tembedded_Embedded
# xtensa targets
x*2Tembedded_Embedded
x*2Tfreertos_FreeRTOS
x*2Tlinux_Linux
# z80 targets
Z*2Tembedded_Embedded
Z*2Tzxspectrum_ZX Spectrum
Z*2Tmsxdos_MSX-DOS
# wasm32 targets
W*2Tembedded_Embedded
W*2Twasi_The WebAssembly System Interface (WASI)
# end of targets section
**1u<x>_Undefines the symbol <x>
**1U_Unit options:
**2Un_Do not check where the unit name matches the file name
**2Ur_Generate release unit files (never automatically recompiled)
**2Us_Compile a system unit
**1v<x>_Be verbose. <x> is a combination of the following letters:
**2*_e : Show errors (default)       0 : Show nothing (except errors)
**2*_w : Show warnings               u : Show unit info
**2*_n : Show notes                  t : Show tried/used files
**2*_h : Show hints                  c : Show conditionals
**2*_i : Show general info           d : Show debug info
**2*_l : Show linenumbers            r : Rhide/GCC compatibility mode
**2*_s : Show time stamps            q : Show message numbers
**2*_a : Show everything             x : Show info about invoked tools
**2*_b : Write file names messages   p : Write tree.log with parse tree
**2*_    with full path              v : Write fpcdebug.txt with
**2*_z : Write output to stderr          lots of debugging info
**2*_m<x>,<y> : Do not show messages numbered <x> and <y>
F*1V<x>_Append '-<x>' to the used compiler binary name (e.g. for version)
**1W<x>_Target-specific options (targets)
3*2WA_Specify native type application (Windows)
4*2WA_Specify native type application (Windows)
A*2WA_Specify native type application (Windows)
3*2Wb_Create a bundle instead of a library (Darwin)
P*2Wb_Create a bundle instead of a library (Darwin)
p*2Wb_Create a bundle instead of a library (Darwin)
a*2Wb_Create a bundle instead of a library (Darwin)
A*2Wb_Create a bundle instead of a library (Darwin)
4*2Wb_Create a bundle instead of a library (Darwin)
3*2WB_Create a relocatable image (Windows, Symbian)
3*2WB<x>_Set image base to <x> (Windows, Symbian)
4*2WB_Create a relocatable image (Windows)
4*2WB<x>_Set image base to <x> (Windows)
A*2WB_Create a relocatable image (Windows, Symbian)
A*2WB<x>_Set image base to <x> (Windows, Symbian)
Z*2WB<x>_Set image base to <x> (ZX Spectrum)
3*2WC_Specify console type application (EMX, OS/2, Windows)
4*2WC_Specify console type application (Windows)
A*2WC_Specify console type application (Windows)
P*2WC_Specify console type application (Classic Mac OS)
3*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)
4*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)
A*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)
3*2We_Use external resources (Darwin)
4*2We_Use external resources (Darwin)
a*2We_Use external resources (Darwin)
A*2We_Use external resources (Darwin)
P*2We_Use external resources (Darwin)
p*2We_Use external resources (Darwin)
3*2WF_Specify full-screen type application (EMX, OS/2)
3*2WG_Specify graphic type application (EMX, OS/2, Windows)
4*2WG_Specify graphic type application (Windows)
A*2WG_Specify graphic type application (Windows)
P*2WG_Specify graphic type application (Classic Mac OS)
3*2Wi_Use internal resources (Darwin)
4*2Wi_Use internal resources (Darwin)
a*2Wi_Use internal resources (Darwin)
A*2Wi_Use internal resources (Darwin)
P*2Wi_Use internal resources (Darwin)
p*2Wi_Use internal resources (Darwin)
3*2WI_Turn on/off the usage of import sections (Windows)
4*2WI_Turn on/off the usage of import sections (Windows)
A*2WI_Turn on/off the usage of import sections (Windows)
8*2Wh_Use huge code for units (ignored for models with CODE in a unique segment)
8*2Wm<x>_Set memory model
8*3WmTiny_Tiny memory model
8*3WmSmall_Small memory model (default)
8*3WmMedium_Medium memory model
8*3WmCompact_Compact memory model
8*3WmLarge_Large memory model
8*3WmHuge_Huge memory model
3*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
4*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
p*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
P*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
3*2WN_Do not generate relocation code, needed for debugging (Windows)
4*2WN_Do not generate relocation code, needed for debugging (Windows)
A*2WN_Do not generate relocation code, needed for debugging (Windows)
A*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possible values
m*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possible values
R*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possible values
V*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possible values
x*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possible values
3*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (iphonesim)
4*2WP<x>_Minimum iOS deployment version: 8.0, 8.0.2, ... (iphonesim)
a*2WP<x>_Minimum iOS deployment version: 7.0, 7.1.2, ... (Darwin)
A*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (Darwin)
3*2WR_Generate relocation code (Windows)
4*2WR_Generate relocation code (Windows)
A*2WR_Generate relocation code (Windows)
8*2Wt<x>_Set the target executable format
8*3Wtexe_Create a DOS .EXE file (default)
8*3Wtcom_Create a DOS .COM file (requires tiny memory model)
P*2WT_Specify MPW tool type application (Classic Mac OS)
6*2WQ<x>_Set executable metadata format (Sinclair QL)
6*3WQqhdr_Set metadata to QDOS File Header style (default)
6*3WQxtcc_Set metadata to XTcc style
**2WX_Enable executable stack (Linux)
**1X_Executable options:
**2X9_Generate linkerscript for GNU Binutils ld older than version 2.19.1 (Linux)
**2Xa_Generate code which allows to use more than 2 GB static data on 64 Bit targets (Linux)
**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Linux)
**2Xd_Do not search default library path (sometimes required for cross-compiling when not using -XR)
**2Xe_Use external linker
**2Xf_Substitute pthread library name for linking (BSD)
**2Xg_Create debuginfo in a separate file and add a debuglink section to executable
**2XD_Try to link units dynamically      (defines FPC_LINK_DYNAMIC)
**2Xi_Use internal linker
L*2XlS<x>_LLVM utilties suffix (e.g. -7 in case clang is called clang-7)
**2XLA_Define library substitutions for linking
**2XLO_Define order of library linking
**2XLD_Exclude default order of standard libraries
**2Xm_Generate link map
**2XM<x>_Set the name of the 'main' program routine (default is 'main')
**2Xn_Use target system native linker instead of GNU ld (Solaris, AIX)
F*2Xp<x>_First search for the compiler binary in the directory <x>
**2XP<x>_Prepend the binutils names with the prefix <x>
**2Xr<x>_Set the linker's rlink-path to <x> (needed for cross compile, see the ld manual for more information) (BeOS, Linux)
**2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
**2Xs_Strip all symbols from executable
**2XS_Try to link units statically (default, defines FPC_LINK_STATIC)
**2Xt_Link with static libraries (-static is passed to linker)
**2Xu_Generate executable in UF2 format  (embedded targets only)
**2Xv_Generate table for Virtual Entry calls
**2XV_Use VLink as external linker       (default on Amiga, MorphOS)
**2XX_Try to smartlink units             (defines FPC_LINK_SMART)
**1*_
**1?_Show this help
**1h_Shows this help without waiting
]

#
# The End...