[svn:parrot] r46444 - trunk/compilers/imcc
plobsing at svn.parrot.org
plobsing at svn.parrot.org
Sun May 9 21:23:32 UTC 2010
Author: plobsing
Date: Sun May 9 21:23:31 2010
New Revision: 46444
URL: https://trac.parrot.org/parrot/changeset/46444
Log:
eliminate pcc_sub_t.calls_a_sub, leaving pcc_sub_t.yield
Modified:
trunk/compilers/imcc/imcc.y
trunk/compilers/imcc/imcparser.c
trunk/compilers/imcc/imcparser.h
trunk/compilers/imcc/parser_util.c
trunk/compilers/imcc/pbc.c
trunk/compilers/imcc/symreg.h
Modified: trunk/compilers/imcc/imcc.y
==============================================================================
--- trunk/compilers/imcc/imcc.y Sun May 9 21:09:50 2010 (r46443)
+++ trunk/compilers/imcc/imcc.y Sun May 9 21:23:31 2010 (r46444)
@@ -842,9 +842,6 @@
IMCC_INFO(interp)->cur_obj;
IMCC_INFO(interp)->cur_obj = NULL;
}
-
- if (IMCC_INFO(interp)->cur_unit->type == IMC_PCCSUB)
- IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub |= 1;
}
@@ -867,8 +864,7 @@
if (!ins || !ins->symregs[0] || !(ins->symregs[0]->type & VT_PCC_SUB))
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
"yield or return directive outside pcc subroutine\n");
- if (yield)
- ins->symregs[0]->pcc_sub->calls_a_sub = 1 | ITPCCYIELD;
+ ins->symregs[0]->pcc_sub->yield = yield;
snprintf(name, sizeof (name), yield ? "%cpcc_sub_yield_%d" : "%cpcc_sub_ret_%d",
IMCC_INTERNAL_CHAR, IMCC_INFO(interp)->cnr++);
interp->imc_info->sr_return = mk_pcc_sub(interp, name, 0);
@@ -1599,8 +1595,6 @@
* sub call; the sub is in r[0] of the first ins
*/
r1 = IMCC_INFO(interp)->cur_unit->instructions->symregs[0];
- if (r1 && r1->pcc_sub)
- r1->pcc_sub->calls_a_sub |= 1;
}
pcc_args
opt_invocant
Modified: trunk/compilers/imcc/imcparser.c
==============================================================================
--- trunk/compilers/imcc/imcparser.c Sun May 9 21:09:50 2010 (r46443)
+++ trunk/compilers/imcc/imcparser.c Sun May 9 21:23:31 2010 (r46444)
@@ -923,9 +923,6 @@
IMCC_INFO(interp)->cur_obj;
IMCC_INFO(interp)->cur_obj = NULL;
}
-
- if (IMCC_INFO(interp)->cur_unit->type == IMC_PCCSUB)
- IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub |= 1;
}
@@ -948,8 +945,7 @@
if (!ins || !ins->symregs[0] || !(ins->symregs[0]->type & VT_PCC_SUB))
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
"yield or return directive outside pcc subroutine\n");
- if (yield)
- ins->symregs[0]->pcc_sub->calls_a_sub = 1 | ITPCCYIELD;
+ ins->symregs[0]->pcc_sub->yield = yield;
snprintf(name, sizeof (name), yield ? "%cpcc_sub_yield_%d" : "%cpcc_sub_ret_%d",
IMCC_INTERNAL_CHAR, IMCC_INFO(interp)->cnr++);
interp->imc_info->sr_return = mk_pcc_sub(interp, name, 0);
@@ -1151,7 +1147,7 @@
/* Line 189 of yacc.c */
-#line 1144 "compilers/imcc/imcparser.c"
+#line 1140 "compilers/imcc/imcparser.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -1424,7 +1420,7 @@
{
/* Line 214 of yacc.c */
-#line 1072 "compilers/imcc/imcc.y"
+#line 1068 "compilers/imcc/imcc.y"
IdList * idlist;
int t;
@@ -1435,7 +1431,7 @@
/* Line 214 of yacc.c */
-#line 1428 "compilers/imcc/imcparser.c"
+#line 1424 "compilers/imcc/imcparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -1447,7 +1443,7 @@
/* Line 264 of yacc.c */
-#line 1440 "compilers/imcc/imcparser.c"
+#line 1436 "compilers/imcc/imcparser.c"
#ifdef short
# undef short
@@ -1868,40 +1864,40 @@
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1167, 1167, 1171, 1172, 1176, 1177, 1178, 1184, 1190,
- 1191, 1192, 1193, 1197, 1198, 1207, 1213, 1221, 1233, 1246,
- 1246, 1255, 1255, 1262, 1262, 1271, 1272, 1276, 1277, 1281,
- 1282, 1283, 1284, 1285, 1286, 1287, 1290, 1290, 1299, 1298,
- 1311, 1315, 1328, 1332, 1336, 1336, 1348, 1350, 1354, 1369,
- 1373, 1378, 1382, 1386, 1377, 1398, 1399, 1400, 1413, 1413,
- 1417, 1442, 1446, 1452, 1461, 1467, 1476, 1482, 1491, 1497,
- 1506, 1514, 1519, 1530, 1533, 1538, 1546, 1547, 1548, 1549,
- 1550, 1561, 1572, 1575, 1577, 1582, 1581, 1614, 1615, 1619,
- 1620, 1624, 1625, 1629, 1630, 1634, 1635, 1636, 1637, 1638,
- 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1651,
- 1656, 1660, 1664, 1668, 1672, 1677, 1686, 1687, 1699, 1704,
- 1705, 1713, 1714, 1714, 1726, 1727, 1731, 1732, 1733, 1734,
- 1735, 1736, 1737, 1738, 1743, 1743, 1746, 1754, 1754, 1760,
- 1761, 1766, 1774, 1775, 1780, 1788, 1792, 1797, 1796, 1809,
- 1810, 1814, 1815, 1825, 1830, 1840, 1849, 1850, 1862, 1866,
- 1868, 1869, 1870, 1871, 1872, 1876, 1877, 1881, 1882, 1886,
- 1897, 1898, 1909, 1916, 1925, 1933, 1935, 1940, 1941, 1942,
- 1942, 1955, 1972, 1985, 1985, 1992, 1993, 1993, 1999, 2005,
- 2009, 2021, 2022, 2023, 2024, 2025, 2026, 2030, 2031, 2032,
- 2033, 2037, 2039, 2041, 2043, 2045, 2048, 2055, 2054, 2063,
- 2064, 2065, 2066, 2074, 2075, 2076, 2080, 2081, 2082, 2083,
- 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093,
- 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2108,
- 2107, 2119, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131,
- 2132, 2133, 2134, 2135, 2136, 2141, 2152, 2153, 2154, 2155,
- 2161, 2175, 2181, 2187, 2193, 2192, 2201, 2202, 2212, 2222,
- 2229, 2234, 2244, 2248, 2249, 2253, 2254, 2255, 2258, 2259,
- 2263, 2267, 2277, 2283, 2293, 2298, 2302, 2303, 2307, 2311,
- 2315, 2322, 2326, 2330, 2337, 2338, 2342, 2343, 2344, 2345,
- 2346, 2347, 2351, 2352, 2356, 2357, 2361, 2362, 2366, 2367,
- 2374, 2381, 2382, 2383, 2387, 2388, 2392, 2393, 2397, 2398,
- 2402, 2403, 2407, 2407, 2419, 2419, 2431, 2432, 2440, 2447,
- 2448, 2449, 2450, 2451, 2455, 2456, 2457, 2458
+ 0, 1163, 1163, 1167, 1168, 1172, 1173, 1174, 1180, 1186,
+ 1187, 1188, 1189, 1193, 1194, 1203, 1209, 1217, 1229, 1242,
+ 1242, 1251, 1251, 1258, 1258, 1267, 1268, 1272, 1273, 1277,
+ 1278, 1279, 1280, 1281, 1282, 1283, 1286, 1286, 1295, 1294,
+ 1307, 1311, 1324, 1328, 1332, 1332, 1344, 1346, 1350, 1365,
+ 1369, 1374, 1378, 1382, 1373, 1394, 1395, 1396, 1409, 1409,
+ 1413, 1438, 1442, 1448, 1457, 1463, 1472, 1478, 1487, 1493,
+ 1502, 1510, 1515, 1526, 1529, 1534, 1542, 1543, 1544, 1545,
+ 1546, 1557, 1568, 1571, 1573, 1578, 1577, 1608, 1609, 1613,
+ 1614, 1618, 1619, 1623, 1624, 1628, 1629, 1630, 1631, 1632,
+ 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1645,
+ 1650, 1654, 1658, 1662, 1666, 1671, 1680, 1681, 1693, 1698,
+ 1699, 1707, 1708, 1708, 1720, 1721, 1725, 1726, 1727, 1728,
+ 1729, 1730, 1731, 1732, 1737, 1737, 1740, 1748, 1748, 1754,
+ 1755, 1760, 1768, 1769, 1774, 1782, 1786, 1791, 1790, 1803,
+ 1804, 1808, 1809, 1819, 1824, 1834, 1843, 1844, 1856, 1860,
+ 1862, 1863, 1864, 1865, 1866, 1870, 1871, 1875, 1876, 1880,
+ 1891, 1892, 1903, 1910, 1919, 1927, 1929, 1934, 1935, 1936,
+ 1936, 1949, 1966, 1979, 1979, 1986, 1987, 1987, 1993, 1999,
+ 2003, 2015, 2016, 2017, 2018, 2019, 2020, 2024, 2025, 2026,
+ 2027, 2031, 2033, 2035, 2037, 2039, 2042, 2049, 2048, 2057,
+ 2058, 2059, 2060, 2068, 2069, 2070, 2074, 2075, 2076, 2077,
+ 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087,
+ 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2102,
+ 2101, 2113, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125,
+ 2126, 2127, 2128, 2129, 2130, 2135, 2146, 2147, 2148, 2149,
+ 2155, 2169, 2175, 2181, 2187, 2186, 2195, 2196, 2206, 2216,
+ 2223, 2228, 2238, 2242, 2243, 2247, 2248, 2249, 2252, 2253,
+ 2257, 2261, 2271, 2277, 2287, 2292, 2296, 2297, 2301, 2305,
+ 2309, 2316, 2320, 2324, 2331, 2332, 2336, 2337, 2338, 2339,
+ 2340, 2341, 2345, 2346, 2350, 2351, 2355, 2356, 2360, 2361,
+ 2368, 2375, 2376, 2377, 2381, 2382, 2386, 2387, 2391, 2392,
+ 2396, 2397, 2401, 2401, 2413, 2413, 2425, 2426, 2434, 2441,
+ 2442, 2443, 2444, 2445, 2449, 2450, 2451, 2452
};
#endif
@@ -3251,28 +3247,28 @@
case 2:
/* Line 1464 of yacc.c */
-#line 1167 "compilers/imcc/imcc.y"
+#line 1163 "compilers/imcc/imcc.y"
{ if (yynerrs) YYABORT; (yyval.i) = 0; }
break;
case 5:
/* Line 1464 of yacc.c */
-#line 1176 "compilers/imcc/imcc.y"
+#line 1172 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 6:
/* Line 1464 of yacc.c */
-#line 1177 "compilers/imcc/imcc.y"
+#line 1173 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 7:
/* Line 1464 of yacc.c */
-#line 1179 "compilers/imcc/imcc.y"
+#line 1175 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3283,7 +3279,7 @@
case 8:
/* Line 1464 of yacc.c */
-#line 1185 "compilers/imcc/imcc.y"
+#line 1181 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3294,42 +3290,42 @@
case 9:
/* Line 1464 of yacc.c */
-#line 1190 "compilers/imcc/imcc.y"
+#line 1186 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 10:
/* Line 1464 of yacc.c */
-#line 1191 "compilers/imcc/imcc.y"
+#line 1187 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 11:
/* Line 1464 of yacc.c */
-#line 1192 "compilers/imcc/imcc.y"
+#line 1188 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 12:
/* Line 1464 of yacc.c */
-#line 1193 "compilers/imcc/imcc.y"
+#line 1189 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 13:
/* Line 1464 of yacc.c */
-#line 1197 "compilers/imcc/imcc.y"
+#line 1193 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 14:
/* Line 1464 of yacc.c */
-#line 1199 "compilers/imcc/imcc.y"
+#line 1195 "compilers/imcc/imcc.y"
{
(yyval.i) = 0;
do_loadlib(interp, (yyvsp[(2) - (3)].s));
@@ -3340,7 +3336,7 @@
case 15:
/* Line 1464 of yacc.c */
-#line 1208 "compilers/imcc/imcc.y"
+#line 1204 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->line = atoi((yyvsp[(2) - (5)].s));
/* set_filename() frees the STRINGC */
@@ -3351,7 +3347,7 @@
case 16:
/* Line 1464 of yacc.c */
-#line 1214 "compilers/imcc/imcc.y"
+#line 1210 "compilers/imcc/imcc.y"
{
/* set_filename() frees the STRINGC */
set_filename(interp, (yyvsp[(2) - (3)].s));
@@ -3361,7 +3357,7 @@
case 17:
/* Line 1464 of yacc.c */
-#line 1222 "compilers/imcc/imcc.y"
+#line 1218 "compilers/imcc/imcc.y"
{
/* We'll want to store an entry while emitting instructions, so just
* store annotation like it's an instruction. */
@@ -3374,7 +3370,7 @@
case 18:
/* Line 1464 of yacc.c */
-#line 1234 "compilers/imcc/imcc.y"
+#line 1230 "compilers/imcc/imcc.y"
{
STRING * const hll_name = Parrot_str_unescape(interp, (yyvsp[(2) - (2)].s) + 1, '"', NULL);
Parrot_pcc_set_HLL(interp, CURRENT_CONTEXT(interp),
@@ -3389,14 +3385,14 @@
case 19:
/* Line 1464 of yacc.c */
-#line 1246 "compilers/imcc/imcc.y"
+#line 1242 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 20:
/* Line 1464 of yacc.c */
-#line 1247 "compilers/imcc/imcc.y"
+#line 1243 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
mem_sys_free((yyvsp[(4) - (6)].s));
@@ -3407,14 +3403,14 @@
case 21:
/* Line 1464 of yacc.c */
-#line 1255 "compilers/imcc/imcc.y"
+#line 1251 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 22:
/* Line 1464 of yacc.c */
-#line 1256 "compilers/imcc/imcc.y"
+#line 1252 "compilers/imcc/imcc.y"
{
(yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
mem_sys_free((yyvsp[(6) - (6)].s));
@@ -3425,14 +3421,14 @@
case 23:
/* Line 1464 of yacc.c */
-#line 1262 "compilers/imcc/imcc.y"
+#line 1258 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 24:
/* Line 1464 of yacc.c */
-#line 1263 "compilers/imcc/imcc.y"
+#line 1259 "compilers/imcc/imcc.y"
{
(yyval.i) = mk_pmc_const_named(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
mem_sys_free((yyvsp[(3) - (6)].s));
@@ -3444,49 +3440,49 @@
case 29:
/* Line 1464 of yacc.c */
-#line 1281 "compilers/imcc/imcc.y"
+#line 1277 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 30:
/* Line 1464 of yacc.c */
-#line 1282 "compilers/imcc/imcc.y"
+#line 1278 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 31:
/* Line 1464 of yacc.c */
-#line 1283 "compilers/imcc/imcc.y"
+#line 1279 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 32:
/* Line 1464 of yacc.c */
-#line 1284 "compilers/imcc/imcc.y"
+#line 1280 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 33:
/* Line 1464 of yacc.c */
-#line 1285 "compilers/imcc/imcc.y"
+#line 1281 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 36:
/* Line 1464 of yacc.c */
-#line 1290 "compilers/imcc/imcc.y"
+#line 1286 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 37:
/* Line 1464 of yacc.c */
-#line 1292 "compilers/imcc/imcc.y"
+#line 1288 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp, IMCC_INFO(interp)->cur_unit,
(yyvsp[(2) - (3)].s), 0, IMCC_INFO(interp)->regs,
@@ -3498,7 +3494,7 @@
case 38:
/* Line 1464 of yacc.c */
-#line 1299 "compilers/imcc/imcc.y"
+#line 1295 "compilers/imcc/imcc.y"
{
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM);
@@ -3508,7 +3504,7 @@
case 39:
/* Line 1464 of yacc.c */
-#line 1304 "compilers/imcc/imcc.y"
+#line 1300 "compilers/imcc/imcc.y"
{
(yyval.i) = iSUBROUTINE(interp,
IMCC_INFO(interp)->cur_unit,
@@ -3521,7 +3517,7 @@
case 40:
/* Line 1464 of yacc.c */
-#line 1312 "compilers/imcc/imcc.y"
+#line 1308 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr));
}
@@ -3530,7 +3526,7 @@
case 41:
/* Line 1464 of yacc.c */
-#line 1316 "compilers/imcc/imcc.y"
+#line 1312 "compilers/imcc/imcc.y"
{
char *name = mem_sys_strdup((yyvsp[(2) - (4)].s) + 1);
SymReg *r = mk_pasm_reg(interp, (yyvsp[(4) - (4)].s));
@@ -3548,21 +3544,21 @@
case 42:
/* Line 1464 of yacc.c */
-#line 1328 "compilers/imcc/imcc.y"
+#line 1324 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 44:
/* Line 1464 of yacc.c */
-#line 1336 "compilers/imcc/imcc.y"
+#line 1332 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); }
break;
case 45:
/* Line 1464 of yacc.c */
-#line 1339 "compilers/imcc/imcc.y"
+#line 1335 "compilers/imcc/imcc.y"
{
/* if (optimizer_level & OPT_PASM)
imc_compile_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3575,7 +3571,7 @@
case 48:
/* Line 1464 of yacc.c */
-#line 1355 "compilers/imcc/imcc.y"
+#line 1351 "compilers/imcc/imcc.y"
{
int re_open = 0;
(yyval.i) = 0;
@@ -3592,7 +3588,7 @@
case 49:
/* Line 1464 of yacc.c */
-#line 1370 "compilers/imcc/imcc.y"
+#line 1366 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(2) - (3)].sr);
}
@@ -3601,14 +3597,14 @@
case 50:
/* Line 1464 of yacc.c */
-#line 1373 "compilers/imcc/imcc.y"
+#line 1369 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 51:
/* Line 1464 of yacc.c */
-#line 1378 "compilers/imcc/imcc.y"
+#line 1374 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
}
@@ -3617,7 +3613,7 @@
case 52:
/* Line 1464 of yacc.c */
-#line 1382 "compilers/imcc/imcc.y"
+#line 1378 "compilers/imcc/imcc.y"
{
iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr));
}
@@ -3626,7 +3622,7 @@
case 53:
/* Line 1464 of yacc.c */
-#line 1386 "compilers/imcc/imcc.y"
+#line 1382 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(5) - (6)].t);
if (!IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->subid) {
@@ -3639,28 +3635,28 @@
case 54:
/* Line 1464 of yacc.c */
-#line 1394 "compilers/imcc/imcc.y"
+#line 1390 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 55:
/* Line 1464 of yacc.c */
-#line 1398 "compilers/imcc/imcc.y"
+#line 1394 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 56:
/* Line 1464 of yacc.c */
-#line 1399 "compilers/imcc/imcc.y"
+#line 1395 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 57:
/* Line 1464 of yacc.c */
-#line 1401 "compilers/imcc/imcc.y"
+#line 1397 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_param(interp, IMCC_INFO(interp)->cur_call,
@@ -3675,21 +3671,21 @@
case 58:
/* Line 1464 of yacc.c */
-#line 1413 "compilers/imcc/imcc.y"
+#line 1409 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 59:
/* Line 1464 of yacc.c */
-#line 1413 "compilers/imcc/imcc.y"
+#line 1409 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(3) - (3)].sr); IMCC_INFO(interp)->is_def = 0; }
break;
case 60:
/* Line 1464 of yacc.c */
-#line 1418 "compilers/imcc/imcc.y"
+#line 1414 "compilers/imcc/imcc.y"
{
if ((yyvsp[(3) - (3)].t) & VT_OPT_FLAG && (yyvsp[(1) - (3)].t) != 'I') {
const char *type;
@@ -3714,14 +3710,14 @@
case 61:
/* Line 1464 of yacc.c */
-#line 1442 "compilers/imcc/imcc.y"
+#line 1438 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 62:
/* Line 1464 of yacc.c */
-#line 1447 "compilers/imcc/imcc.y"
+#line 1443 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->outer = mk_sub_address_fromc(interp, (yyvsp[(3) - (4)].s));
@@ -3732,7 +3728,7 @@
case 63:
/* Line 1464 of yacc.c */
-#line 1453 "compilers/imcc/imcc.y"
+#line 1449 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->outer = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
@@ -3743,7 +3739,7 @@
case 64:
/* Line 1464 of yacc.c */
-#line 1462 "compilers/imcc/imcc.y"
+#line 1458 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = NULL;
@@ -3754,7 +3750,7 @@
case 65:
/* Line 1464 of yacc.c */
-#line 1468 "compilers/imcc/imcc.y"
+#line 1464 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = (yyvsp[(3) - (4)].s);
@@ -3765,7 +3761,7 @@
case 66:
/* Line 1464 of yacc.c */
-#line 1477 "compilers/imcc/imcc.y"
+#line 1473 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = NULL;
@@ -3776,7 +3772,7 @@
case 67:
/* Line 1464 of yacc.c */
-#line 1483 "compilers/imcc/imcc.y"
+#line 1479 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = (yyvsp[(3) - (4)].s);
@@ -3787,7 +3783,7 @@
case 68:
/* Line 1464 of yacc.c */
-#line 1492 "compilers/imcc/imcc.y"
+#line 1488 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
@@ -3798,7 +3794,7 @@
case 69:
/* Line 1464 of yacc.c */
-#line 1498 "compilers/imcc/imcc.y"
+#line 1494 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = (yyvsp[(3) - (4)].s);
@@ -3809,7 +3805,7 @@
case 70:
/* Line 1464 of yacc.c */
-#line 1507 "compilers/imcc/imcc.y"
+#line 1503 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->instance_of = (yyvsp[(3) - (4)].s);
@@ -3819,7 +3815,7 @@
case 71:
/* Line 1464 of yacc.c */
-#line 1515 "compilers/imcc/imcc.y"
+#line 1511 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->subid = NULL;
@@ -3829,7 +3825,7 @@
case 72:
/* Line 1464 of yacc.c */
-#line 1520 "compilers/imcc/imcc.y"
+#line 1516 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->subid = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
@@ -3841,7 +3837,7 @@
case 73:
/* Line 1464 of yacc.c */
-#line 1530 "compilers/imcc/imcc.y"
+#line 1526 "compilers/imcc/imcc.y"
{
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, NULL);
}
@@ -3850,7 +3846,7 @@
case 74:
/* Line 1464 of yacc.c */
-#line 1534 "compilers/imcc/imcc.y"
+#line 1530 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
@@ -3860,7 +3856,7 @@
case 75:
/* Line 1464 of yacc.c */
-#line 1539 "compilers/imcc/imcc.y"
+#line 1535 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
@@ -3870,35 +3866,35 @@
case 76:
/* Line 1464 of yacc.c */
-#line 1546 "compilers/imcc/imcc.y"
+#line 1542 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "INTVAL", 'S'); }
break;
case 77:
/* Line 1464 of yacc.c */
-#line 1547 "compilers/imcc/imcc.y"
+#line 1543 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); }
break;
case 78:
/* Line 1464 of yacc.c */
-#line 1548 "compilers/imcc/imcc.y"
+#line 1544 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "PMC", 'S'); }
break;
case 79:
/* Line 1464 of yacc.c */
-#line 1549 "compilers/imcc/imcc.y"
+#line 1545 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "STRING", 'S'); }
break;
case 80:
/* Line 1464 of yacc.c */
-#line 1551 "compilers/imcc/imcc.y"
+#line 1547 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_") != 0)
@@ -3914,7 +3910,7 @@
case 81:
/* Line 1464 of yacc.c */
-#line 1562 "compilers/imcc/imcc.y"
+#line 1558 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_") != 0)
@@ -3930,14 +3926,14 @@
case 82:
/* Line 1464 of yacc.c */
-#line 1572 "compilers/imcc/imcc.y"
+#line 1568 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 85:
/* Line 1464 of yacc.c */
-#line 1582 "compilers/imcc/imcc.y"
+#line 1578 "compilers/imcc/imcc.y"
{
char name[128];
SymReg *r, *r1;
@@ -3958,120 +3954,118 @@
* sub call; the sub is in r[0] of the first ins
*/
r1 = IMCC_INFO(interp)->cur_unit->instructions->symregs[0];
- if (r1 && r1->pcc_sub)
- r1->pcc_sub->calls_a_sub |= 1;
}
break;
case 86:
/* Line 1464 of yacc.c */
-#line 1610 "compilers/imcc/imcc.y"
+#line 1604 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 87:
/* Line 1464 of yacc.c */
-#line 1614 "compilers/imcc/imcc.y"
+#line 1608 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; }
break;
case 88:
/* Line 1464 of yacc.c */
-#line 1615 "compilers/imcc/imcc.y"
+#line 1609 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; }
break;
case 89:
/* Line 1464 of yacc.c */
-#line 1619 "compilers/imcc/imcc.y"
+#line 1613 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 90:
/* Line 1464 of yacc.c */
-#line 1620 "compilers/imcc/imcc.y"
+#line 1614 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); }
break;
case 91:
/* Line 1464 of yacc.c */
-#line 1624 "compilers/imcc/imcc.y"
+#line 1618 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 93:
/* Line 1464 of yacc.c */
-#line 1629 "compilers/imcc/imcc.y"
+#line 1623 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (1)].t); }
break;
case 94:
/* Line 1464 of yacc.c */
-#line 1630 "compilers/imcc/imcc.y"
+#line 1624 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 95:
/* Line 1464 of yacc.c */
-#line 1634 "compilers/imcc/imcc.y"
+#line 1628 "compilers/imcc/imcc.y"
{ (yyval.t) = P_LOAD; }
break;
case 96:
/* Line 1464 of yacc.c */
-#line 1635 "compilers/imcc/imcc.y"
+#line 1629 "compilers/imcc/imcc.y"
{ (yyval.t) = P_INIT; }
break;
case 97:
/* Line 1464 of yacc.c */
-#line 1636 "compilers/imcc/imcc.y"
+#line 1630 "compilers/imcc/imcc.y"
{ (yyval.t) = P_MAIN; }
break;
case 98:
/* Line 1464 of yacc.c */
-#line 1637 "compilers/imcc/imcc.y"
+#line 1631 "compilers/imcc/imcc.y"
{ (yyval.t) = P_IMMEDIATE; }
break;
case 99:
/* Line 1464 of yacc.c */
-#line 1638 "compilers/imcc/imcc.y"
+#line 1632 "compilers/imcc/imcc.y"
{ (yyval.t) = P_POSTCOMP; }
break;
case 100:
/* Line 1464 of yacc.c */
-#line 1639 "compilers/imcc/imcc.y"
+#line 1633 "compilers/imcc/imcc.y"
{ (yyval.t) = P_ANON; }
break;
case 101:
/* Line 1464 of yacc.c */
-#line 1640 "compilers/imcc/imcc.y"
+#line 1634 "compilers/imcc/imcc.y"
{ (yyval.t) = P_NEED_LEX; }
break;
case 109:
/* Line 1464 of yacc.c */
-#line 1652 "compilers/imcc/imcc.y"
+#line 1646 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
@@ -4081,7 +4075,7 @@
case 110:
/* Line 1464 of yacc.c */
-#line 1657 "compilers/imcc/imcc.y"
+#line 1651 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
}
@@ -4090,7 +4084,7 @@
case 111:
/* Line 1464 of yacc.c */
-#line 1661 "compilers/imcc/imcc.y"
+#line 1655 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
}
@@ -4099,7 +4093,7 @@
case 112:
/* Line 1464 of yacc.c */
-#line 1665 "compilers/imcc/imcc.y"
+#line 1659 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
}
@@ -4108,7 +4102,7 @@
case 113:
/* Line 1464 of yacc.c */
-#line 1669 "compilers/imcc/imcc.y"
+#line 1663 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S'));
}
@@ -4117,7 +4111,7 @@
case 114:
/* Line 1464 of yacc.c */
-#line 1673 "compilers/imcc/imcc.y"
+#line 1667 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
@@ -4127,7 +4121,7 @@
case 115:
/* Line 1464 of yacc.c */
-#line 1678 "compilers/imcc/imcc.y"
+#line 1672 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (5)].s), 'S'));
add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
@@ -4137,14 +4131,14 @@
case 116:
/* Line 1464 of yacc.c */
-#line 1686 "compilers/imcc/imcc.y"
+#line 1680 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 117:
/* Line 1464 of yacc.c */
-#line 1687 "compilers/imcc/imcc.y"
+#line 1681 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_param(interp, IMCC_INFO(interp)->cur_call,
@@ -4159,21 +4153,21 @@
case 118:
/* Line 1464 of yacc.c */
-#line 1699 "compilers/imcc/imcc.y"
+#line 1693 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (2)].sr); }
break;
case 119:
/* Line 1464 of yacc.c */
-#line 1704 "compilers/imcc/imcc.y"
+#line 1698 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 120:
/* Line 1464 of yacc.c */
-#line 1706 "compilers/imcc/imcc.y"
+#line 1700 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4183,21 +4177,21 @@
case 121:
/* Line 1464 of yacc.c */
-#line 1713 "compilers/imcc/imcc.y"
+#line 1707 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 122:
/* Line 1464 of yacc.c */
-#line 1714 "compilers/imcc/imcc.y"
+#line 1708 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 123:
/* Line 1464 of yacc.c */
-#line 1715 "compilers/imcc/imcc.y"
+#line 1709 "compilers/imcc/imcc.y"
{
IdList * const l = (yyvsp[(4) - (4)].idlist);
SymReg *ignored;
@@ -4211,91 +4205,91 @@
case 124:
/* Line 1464 of yacc.c */
-#line 1726 "compilers/imcc/imcc.y"
+#line 1720 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 125:
/* Line 1464 of yacc.c */
-#line 1727 "compilers/imcc/imcc.y"
+#line 1721 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 126:
/* Line 1464 of yacc.c */
-#line 1731 "compilers/imcc/imcc.y"
+#line 1725 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 127:
/* Line 1464 of yacc.c */
-#line 1732 "compilers/imcc/imcc.y"
+#line 1726 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPTIONAL; }
break;
case 128:
/* Line 1464 of yacc.c */
-#line 1733 "compilers/imcc/imcc.y"
+#line 1727 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPT_FLAG; }
break;
case 129:
/* Line 1464 of yacc.c */
-#line 1734 "compilers/imcc/imcc.y"
+#line 1728 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 130:
/* Line 1464 of yacc.c */
-#line 1735 "compilers/imcc/imcc.y"
+#line 1729 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = VT_NAMED; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 131:
/* Line 1464 of yacc.c */
-#line 1736 "compilers/imcc/imcc.y"
+#line 1730 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = VT_NAMED; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 132:
/* Line 1464 of yacc.c */
-#line 1737 "compilers/imcc/imcc.y"
+#line 1731 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 133:
/* Line 1464 of yacc.c */
-#line 1738 "compilers/imcc/imcc.y"
+#line 1732 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_CALL_SIG; }
break;
case 134:
/* Line 1464 of yacc.c */
-#line 1743 "compilers/imcc/imcc.y"
+#line 1737 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 0); }
break;
case 135:
/* Line 1464 of yacc.c */
-#line 1745 "compilers/imcc/imcc.y"
+#line 1739 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 136:
/* Line 1464 of yacc.c */
-#line 1747 "compilers/imcc/imcc.y"
+#line 1741 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
(yyval.i) = 0;
@@ -4305,28 +4299,28 @@
case 137:
/* Line 1464 of yacc.c */
-#line 1754 "compilers/imcc/imcc.y"
+#line 1748 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 1); }
break;
case 138:
/* Line 1464 of yacc.c */
-#line 1756 "compilers/imcc/imcc.y"
+#line 1750 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 139:
/* Line 1464 of yacc.c */
-#line 1760 "compilers/imcc/imcc.y"
+#line 1754 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 140:
/* Line 1464 of yacc.c */
-#line 1762 "compilers/imcc/imcc.y"
+#line 1756 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
@@ -4336,7 +4330,7 @@
case 141:
/* Line 1464 of yacc.c */
-#line 1767 "compilers/imcc/imcc.y"
+#line 1761 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
@@ -4346,14 +4340,14 @@
case 142:
/* Line 1464 of yacc.c */
-#line 1774 "compilers/imcc/imcc.y"
+#line 1768 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 143:
/* Line 1464 of yacc.c */
-#line 1776 "compilers/imcc/imcc.y"
+#line 1770 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
@@ -4363,7 +4357,7 @@
case 144:
/* Line 1464 of yacc.c */
-#line 1781 "compilers/imcc/imcc.y"
+#line 1775 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
@@ -4373,21 +4367,21 @@
case 145:
/* Line 1464 of yacc.c */
-#line 1788 "compilers/imcc/imcc.y"
+#line 1782 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 146:
/* Line 1464 of yacc.c */
-#line 1792 "compilers/imcc/imcc.y"
+#line 1786 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 147:
/* Line 1464 of yacc.c */
-#line 1797 "compilers/imcc/imcc.y"
+#line 1791 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->asm_state == AsmDefault)
begin_return_or_yield(interp, (yyvsp[(1) - (2)].t));
@@ -4397,7 +4391,7 @@
case 148:
/* Line 1464 of yacc.c */
-#line 1802 "compilers/imcc/imcc.y"
+#line 1796 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
(yyval.t) = 0;
@@ -4407,28 +4401,28 @@
case 149:
/* Line 1464 of yacc.c */
-#line 1809 "compilers/imcc/imcc.y"
+#line 1803 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 150:
/* Line 1464 of yacc.c */
-#line 1810 "compilers/imcc/imcc.y"
+#line 1804 "compilers/imcc/imcc.y"
{ (yyval.t) = 1; }
break;
case 151:
/* Line 1464 of yacc.c */
-#line 1814 "compilers/imcc/imcc.y"
+#line 1808 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 152:
/* Line 1464 of yacc.c */
-#line 1816 "compilers/imcc/imcc.y"
+#line 1810 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
@@ -4443,7 +4437,7 @@
case 153:
/* Line 1464 of yacc.c */
-#line 1826 "compilers/imcc/imcc.y"
+#line 1820 "compilers/imcc/imcc.y"
{
SymReg * const name = mk_const(interp, (yyvsp[(1) - (3)].s), 'S');
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, name, (yyvsp[(3) - (3)].sr));
@@ -4453,7 +4447,7 @@
case 154:
/* Line 1464 of yacc.c */
-#line 1831 "compilers/imcc/imcc.y"
+#line 1825 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
@@ -4468,7 +4462,7 @@
case 155:
/* Line 1464 of yacc.c */
-#line 1841 "compilers/imcc/imcc.y"
+#line 1835 "compilers/imcc/imcc.y"
{
SymReg * const name = mk_const(interp, (yyvsp[(3) - (5)].s), 'S');
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, name, (yyvsp[(5) - (5)].sr));
@@ -4478,63 +4472,63 @@
case 158:
/* Line 1464 of yacc.c */
-#line 1862 "compilers/imcc/imcc.y"
+#line 1856 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 159:
/* Line 1464 of yacc.c */
-#line 1867 "compilers/imcc/imcc.y"
+#line 1861 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (2)].i); }
break;
case 160:
/* Line 1464 of yacc.c */
-#line 1868 "compilers/imcc/imcc.y"
+#line 1862 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 161:
/* Line 1464 of yacc.c */
-#line 1869 "compilers/imcc/imcc.y"
+#line 1863 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 162:
/* Line 1464 of yacc.c */
-#line 1870 "compilers/imcc/imcc.y"
+#line 1864 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 163:
/* Line 1464 of yacc.c */
-#line 1871 "compilers/imcc/imcc.y"
+#line 1865 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 164:
/* Line 1464 of yacc.c */
-#line 1872 "compilers/imcc/imcc.y"
+#line 1866 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 165:
/* Line 1464 of yacc.c */
-#line 1876 "compilers/imcc/imcc.y"
+#line 1870 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 169:
/* Line 1464 of yacc.c */
-#line 1887 "compilers/imcc/imcc.y"
+#line 1881 "compilers/imcc/imcc.y"
{
Instruction * const i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, (yyvsp[(1) - (1)].s)));
mem_sys_free((yyvsp[(1) - (1)].s));
@@ -4545,14 +4539,14 @@
case 170:
/* Line 1464 of yacc.c */
-#line 1897 "compilers/imcc/imcc.y"
+#line 1891 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (3)].i); }
break;
case 171:
/* Line 1464 of yacc.c */
-#line 1899 "compilers/imcc/imcc.y"
+#line 1893 "compilers/imcc/imcc.y"
{
if (yynerrs >= PARROT_MAX_RECOVER_ERRORS) {
IMCC_warning(interp, "Too many errors. Correct some first.\n");
@@ -4565,7 +4559,7 @@
case 172:
/* Line 1464 of yacc.c */
-#line 1910 "compilers/imcc/imcc.y"
+#line 1904 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(1) - (1)].idlist);
l->next = NULL;
@@ -4576,7 +4570,7 @@
case 173:
/* Line 1464 of yacc.c */
-#line 1917 "compilers/imcc/imcc.y"
+#line 1911 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(3) - (3)].idlist);
l->next = (yyvsp[(1) - (3)].idlist);
@@ -4587,7 +4581,7 @@
case 174:
/* Line 1464 of yacc.c */
-#line 1926 "compilers/imcc/imcc.y"
+#line 1920 "compilers/imcc/imcc.y"
{
IdList* const l = mem_gc_allocate_n_zeroed_typed(interp, 1, IdList);
l->id = (yyvsp[(1) - (2)].s);
@@ -4598,14 +4592,14 @@
case 179:
/* Line 1464 of yacc.c */
-#line 1942 "compilers/imcc/imcc.y"
+#line 1936 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 180:
/* Line 1464 of yacc.c */
-#line 1943 "compilers/imcc/imcc.y"
+#line 1937 "compilers/imcc/imcc.y"
{
IdList *l = (yyvsp[(4) - (4)].idlist);
while (l) {
@@ -4623,7 +4617,7 @@
case 181:
/* Line 1464 of yacc.c */
-#line 1956 "compilers/imcc/imcc.y"
+#line 1950 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
mem_sys_free((yyvsp[(2) - (4)].s));
@@ -4645,7 +4639,7 @@
case 182:
/* Line 1464 of yacc.c */
-#line 1973 "compilers/imcc/imcc.y"
+#line 1967 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
mem_sys_free((yyvsp[(2) - (4)].s));
@@ -4663,14 +4657,14 @@
case 183:
/* Line 1464 of yacc.c */
-#line 1985 "compilers/imcc/imcc.y"
+#line 1979 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 184:
/* Line 1464 of yacc.c */
-#line 1986 "compilers/imcc/imcc.y"
+#line 1980 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0);
IMCC_INFO(interp)->is_def = 0;
@@ -4681,14 +4675,14 @@
case 186:
/* Line 1464 of yacc.c */
-#line 1993 "compilers/imcc/imcc.y"
+#line 1987 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 187:
/* Line 1464 of yacc.c */
-#line 1994 "compilers/imcc/imcc.y"
+#line 1988 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
IMCC_INFO(interp)->is_def = 0;
@@ -4699,7 +4693,7 @@
case 188:
/* Line 1464 of yacc.c */
-#line 2000 "compilers/imcc/imcc.y"
+#line 1994 "compilers/imcc/imcc.y"
{
(yyval.i) = NULL;
IMCC_INFO(interp)->cur_call->pcc_sub->tailcall = 1;
@@ -4710,7 +4704,7 @@
case 189:
/* Line 1464 of yacc.c */
-#line 2006 "compilers/imcc/imcc.y"
+#line 2000 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr));
}
@@ -4719,7 +4713,7 @@
case 190:
/* Line 1464 of yacc.c */
-#line 2010 "compilers/imcc/imcc.y"
+#line 2004 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp,
IMCC_INFO(interp)->cur_unit,
@@ -4736,98 +4730,98 @@
case 191:
/* Line 1464 of yacc.c */
-#line 2021 "compilers/imcc/imcc.y"
+#line 2015 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); }
break;
case 192:
/* Line 1464 of yacc.c */
-#line 2022 "compilers/imcc/imcc.y"
+#line 2016 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 193:
/* Line 1464 of yacc.c */
-#line 2023 "compilers/imcc/imcc.y"
+#line 2017 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 196:
/* Line 1464 of yacc.c */
-#line 2026 "compilers/imcc/imcc.y"
+#line 2020 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 197:
/* Line 1464 of yacc.c */
-#line 2030 "compilers/imcc/imcc.y"
+#line 2024 "compilers/imcc/imcc.y"
{ (yyval.t) = 'I'; }
break;
case 198:
/* Line 1464 of yacc.c */
-#line 2031 "compilers/imcc/imcc.y"
+#line 2025 "compilers/imcc/imcc.y"
{ (yyval.t) = 'N'; }
break;
case 199:
/* Line 1464 of yacc.c */
-#line 2032 "compilers/imcc/imcc.y"
+#line 2026 "compilers/imcc/imcc.y"
{ (yyval.t) = 'S'; }
break;
case 200:
/* Line 1464 of yacc.c */
-#line 2033 "compilers/imcc/imcc.y"
+#line 2027 "compilers/imcc/imcc.y"
{ (yyval.t) = 'P'; }
break;
case 201:
/* Line 1464 of yacc.c */
-#line 2038 "compilers/imcc/imcc.y"
+#line 2032 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); }
break;
case 202:
/* Line 1464 of yacc.c */
-#line 2040 "compilers/imcc/imcc.y"
+#line 2034 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 203:
/* Line 1464 of yacc.c */
-#line 2042 "compilers/imcc/imcc.y"
+#line 2036 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) - (5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); }
break;
case 204:
/* Line 1464 of yacc.c */
-#line 2044 "compilers/imcc/imcc.y"
+#line 2038 "compilers/imcc/imcc.y"
{ (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); }
break;
case 205:
/* Line 1464 of yacc.c */
-#line 2046 "compilers/imcc/imcc.y"
+#line 2040 "compilers/imcc/imcc.y"
{ (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
break;
case 206:
/* Line 1464 of yacc.c */
-#line 2049 "compilers/imcc/imcc.y"
+#line 2043 "compilers/imcc/imcc.y"
{
add_pcc_result(interp, (yyvsp[(3) - (3)].i)->symregs[0], (yyvsp[(1) - (3)].sr));
IMCC_INFO(interp)->cur_call = NULL;
@@ -4838,7 +4832,7 @@
case 207:
/* Line 1464 of yacc.c */
-#line 2055 "compilers/imcc/imcc.y"
+#line 2049 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
}
@@ -4847,7 +4841,7 @@
case 208:
/* Line 1464 of yacc.c */
-#line 2059 "compilers/imcc/imcc.y"
+#line 2053 "compilers/imcc/imcc.y"
{
IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
IMCC_INFO(interp)->cur_call = NULL;
@@ -4857,7 +4851,7 @@
case 212:
/* Line 1464 of yacc.c */
-#line 2067 "compilers/imcc/imcc.y"
+#line 2061 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(1) - (3)].sr));
}
@@ -4866,189 +4860,189 @@
case 213:
/* Line 1464 of yacc.c */
-#line 2074 "compilers/imcc/imcc.y"
+#line 2068 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"not"; }
break;
case 214:
/* Line 1464 of yacc.c */
-#line 2075 "compilers/imcc/imcc.y"
+#line 2069 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bnot"; }
break;
case 215:
/* Line 1464 of yacc.c */
-#line 2076 "compilers/imcc/imcc.y"
+#line 2070 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"neg"; }
break;
case 216:
/* Line 1464 of yacc.c */
-#line 2080 "compilers/imcc/imcc.y"
+#line 2074 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 217:
/* Line 1464 of yacc.c */
-#line 2081 "compilers/imcc/imcc.y"
+#line 2075 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 218:
/* Line 1464 of yacc.c */
-#line 2082 "compilers/imcc/imcc.y"
+#line 2076 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 219:
/* Line 1464 of yacc.c */
-#line 2083 "compilers/imcc/imcc.y"
+#line 2077 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 220:
/* Line 1464 of yacc.c */
-#line 2084 "compilers/imcc/imcc.y"
+#line 2078 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 221:
/* Line 1464 of yacc.c */
-#line 2085 "compilers/imcc/imcc.y"
+#line 2079 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 222:
/* Line 1464 of yacc.c */
-#line 2086 "compilers/imcc/imcc.y"
+#line 2080 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"pow"; }
break;
case 223:
/* Line 1464 of yacc.c */
-#line 2087 "compilers/imcc/imcc.y"
+#line 2081 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 224:
/* Line 1464 of yacc.c */
-#line 2088 "compilers/imcc/imcc.y"
+#line 2082 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"iseq"; }
break;
case 225:
/* Line 1464 of yacc.c */
-#line 2089 "compilers/imcc/imcc.y"
+#line 2083 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isne"; }
break;
case 226:
/* Line 1464 of yacc.c */
-#line 2090 "compilers/imcc/imcc.y"
+#line 2084 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isgt"; }
break;
case 227:
/* Line 1464 of yacc.c */
-#line 2091 "compilers/imcc/imcc.y"
+#line 2085 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isge"; }
break;
case 228:
/* Line 1464 of yacc.c */
-#line 2092 "compilers/imcc/imcc.y"
+#line 2086 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"islt"; }
break;
case 229:
/* Line 1464 of yacc.c */
-#line 2093 "compilers/imcc/imcc.y"
+#line 2087 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isle"; }
break;
case 230:
/* Line 1464 of yacc.c */
-#line 2094 "compilers/imcc/imcc.y"
+#line 2088 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 231:
/* Line 1464 of yacc.c */
-#line 2095 "compilers/imcc/imcc.y"
+#line 2089 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 232:
/* Line 1464 of yacc.c */
-#line 2096 "compilers/imcc/imcc.y"
+#line 2090 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 233:
/* Line 1464 of yacc.c */
-#line 2097 "compilers/imcc/imcc.y"
+#line 2091 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"and"; }
break;
case 234:
/* Line 1464 of yacc.c */
-#line 2098 "compilers/imcc/imcc.y"
+#line 2092 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"or"; }
break;
case 235:
/* Line 1464 of yacc.c */
-#line 2099 "compilers/imcc/imcc.y"
+#line 2093 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"xor"; }
break;
case 236:
/* Line 1464 of yacc.c */
-#line 2100 "compilers/imcc/imcc.y"
+#line 2094 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 237:
/* Line 1464 of yacc.c */
-#line 2101 "compilers/imcc/imcc.y"
+#line 2095 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 238:
/* Line 1464 of yacc.c */
-#line 2102 "compilers/imcc/imcc.y"
+#line 2096 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 239:
/* Line 1464 of yacc.c */
-#line 2108 "compilers/imcc/imcc.y"
+#line 2102 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
(yyval.i)->type &= ~ITCALL;
@@ -5059,112 +5053,112 @@
case 240:
/* Line 1464 of yacc.c */
-#line 2113 "compilers/imcc/imcc.y"
+#line 2107 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 241:
/* Line 1464 of yacc.c */
-#line 2120 "compilers/imcc/imcc.y"
+#line 2114 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(2) - (3)].s), 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); }
break;
case 242:
/* Line 1464 of yacc.c */
-#line 2124 "compilers/imcc/imcc.y"
+#line 2118 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 243:
/* Line 1464 of yacc.c */
-#line 2125 "compilers/imcc/imcc.y"
+#line 2119 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 244:
/* Line 1464 of yacc.c */
-#line 2126 "compilers/imcc/imcc.y"
+#line 2120 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 245:
/* Line 1464 of yacc.c */
-#line 2127 "compilers/imcc/imcc.y"
+#line 2121 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 246:
/* Line 1464 of yacc.c */
-#line 2128 "compilers/imcc/imcc.y"
+#line 2122 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 247:
/* Line 1464 of yacc.c */
-#line 2129 "compilers/imcc/imcc.y"
+#line 2123 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 248:
/* Line 1464 of yacc.c */
-#line 2130 "compilers/imcc/imcc.y"
+#line 2124 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 249:
/* Line 1464 of yacc.c */
-#line 2131 "compilers/imcc/imcc.y"
+#line 2125 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 250:
/* Line 1464 of yacc.c */
-#line 2132 "compilers/imcc/imcc.y"
+#line 2126 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 251:
/* Line 1464 of yacc.c */
-#line 2133 "compilers/imcc/imcc.y"
+#line 2127 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 252:
/* Line 1464 of yacc.c */
-#line 2134 "compilers/imcc/imcc.y"
+#line 2128 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 253:
/* Line 1464 of yacc.c */
-#line 2135 "compilers/imcc/imcc.y"
+#line 2129 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 254:
/* Line 1464 of yacc.c */
-#line 2136 "compilers/imcc/imcc.y"
+#line 2130 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 255:
/* Line 1464 of yacc.c */
-#line 2142 "compilers/imcc/imcc.y"
+#line 2136 "compilers/imcc/imcc.y"
{
(yyval.i) = func_ins(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (4)].sr), (yyvsp[(3) - (4)].s),
IMCC_INFO(interp) -> regs,
@@ -5177,28 +5171,28 @@
case 256:
/* Line 1464 of yacc.c */
-#line 2152 "compilers/imcc/imcc.y"
+#line 2146 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 257:
/* Line 1464 of yacc.c */
-#line 2153 "compilers/imcc/imcc.y"
+#line 2147 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 258:
/* Line 1464 of yacc.c */
-#line 2154 "compilers/imcc/imcc.y"
+#line 2148 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 259:
/* Line 1464 of yacc.c */
-#line 2156 "compilers/imcc/imcc.y"
+#line 2150 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(1) - (1)].sr);
if ((yyvsp[(1) - (1)].sr)->set != 'P')
@@ -5209,7 +5203,7 @@
case 260:
/* Line 1464 of yacc.c */
-#line 2162 "compilers/imcc/imcc.y"
+#line 2156 "compilers/imcc/imcc.y"
{
/* disallow bareword method names; SREG name constants are fine */
const char * const name = (yyvsp[(3) - (3)].sr)->name;
@@ -5228,7 +5222,7 @@
case 261:
/* Line 1464 of yacc.c */
-#line 2176 "compilers/imcc/imcc.y"
+#line 2170 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
(yyval.sr) = mk_const(interp, (yyvsp[(3) - (3)].s), 'U');
@@ -5239,7 +5233,7 @@
case 262:
/* Line 1464 of yacc.c */
-#line 2182 "compilers/imcc/imcc.y"
+#line 2176 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
(yyval.sr) = mk_const(interp, (yyvsp[(3) - (3)].s), 'S');
@@ -5250,14 +5244,14 @@
case 263:
/* Line 1464 of yacc.c */
-#line 2187 "compilers/imcc/imcc.y"
+#line 2181 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); }
break;
case 264:
/* Line 1464 of yacc.c */
-#line 2193 "compilers/imcc/imcc.y"
+#line 2187 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
IMCC_itcall_sub(interp, (yyvsp[(1) - (1)].sr));
@@ -5267,21 +5261,21 @@
case 265:
/* Line 1464 of yacc.c */
-#line 2197 "compilers/imcc/imcc.y"
+#line 2191 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (5)].i); }
break;
case 266:
/* Line 1464 of yacc.c */
-#line 2201 "compilers/imcc/imcc.y"
+#line 2195 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 267:
/* Line 1464 of yacc.c */
-#line 2203 "compilers/imcc/imcc.y"
+#line 2197 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5296,7 +5290,7 @@
case 268:
/* Line 1464 of yacc.c */
-#line 2213 "compilers/imcc/imcc.y"
+#line 2207 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5311,7 +5305,7 @@
case 269:
/* Line 1464 of yacc.c */
-#line 2223 "compilers/imcc/imcc.y"
+#line 2217 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
@@ -5323,7 +5317,7 @@
case 270:
/* Line 1464 of yacc.c */
-#line 2230 "compilers/imcc/imcc.y"
+#line 2224 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg_var(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr));
@@ -5333,7 +5327,7 @@
case 271:
/* Line 1464 of yacc.c */
-#line 2235 "compilers/imcc/imcc.y"
+#line 2229 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
@@ -5345,70 +5339,70 @@
case 272:
/* Line 1464 of yacc.c */
-#line 2244 "compilers/imcc/imcc.y"
+#line 2238 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 273:
/* Line 1464 of yacc.c */
-#line 2248 "compilers/imcc/imcc.y"
+#line 2242 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 274:
/* Line 1464 of yacc.c */
-#line 2249 "compilers/imcc/imcc.y"
+#line 2243 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 275:
/* Line 1464 of yacc.c */
-#line 2253 "compilers/imcc/imcc.y"
+#line 2247 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 276:
/* Line 1464 of yacc.c */
-#line 2254 "compilers/imcc/imcc.y"
+#line 2248 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 277:
/* Line 1464 of yacc.c */
-#line 2255 "compilers/imcc/imcc.y"
+#line 2249 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_CALL_SIG; }
break;
case 278:
/* Line 1464 of yacc.c */
-#line 2258 "compilers/imcc/imcc.y"
+#line 2252 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 279:
/* Line 1464 of yacc.c */
-#line 2259 "compilers/imcc/imcc.y"
+#line 2253 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 280:
/* Line 1464 of yacc.c */
-#line 2263 "compilers/imcc/imcc.y"
+#line 2257 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 281:
/* Line 1464 of yacc.c */
-#line 2268 "compilers/imcc/imcc.y"
+#line 2262 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5423,7 +5417,7 @@
case 282:
/* Line 1464 of yacc.c */
-#line 2278 "compilers/imcc/imcc.y"
+#line 2272 "compilers/imcc/imcc.y"
{
add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call,
mk_const(interp, (yyvsp[(3) - (5)].s), 'S'), (yyvsp[(5) - (5)].sr));
@@ -5434,7 +5428,7 @@
case 283:
/* Line 1464 of yacc.c */
-#line 2284 "compilers/imcc/imcc.y"
+#line 2278 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5449,7 +5443,7 @@
case 284:
/* Line 1464 of yacc.c */
-#line 2294 "compilers/imcc/imcc.y"
+#line 2288 "compilers/imcc/imcc.y"
{
add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(1) - (3)].s), 'S'), (yyvsp[(3) - (3)].sr));
mem_sys_free((yyvsp[(1) - (3)].s));
@@ -5459,28 +5453,28 @@
case 285:
/* Line 1464 of yacc.c */
-#line 2298 "compilers/imcc/imcc.y"
+#line 2292 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 286:
/* Line 1464 of yacc.c */
-#line 2302 "compilers/imcc/imcc.y"
+#line 2296 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 287:
/* Line 1464 of yacc.c */
-#line 2303 "compilers/imcc/imcc.y"
+#line 2297 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 288:
/* Line 1464 of yacc.c */
-#line 2308 "compilers/imcc/imcc.y"
+#line 2302 "compilers/imcc/imcc.y"
{
(yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, inv_op((yyvsp[(3) - (6)].s)), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr));
}
@@ -5489,7 +5483,7 @@
case 289:
/* Line 1464 of yacc.c */
-#line 2312 "compilers/imcc/imcc.y"
+#line 2306 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));
}
@@ -5498,7 +5492,7 @@
case 290:
/* Line 1464 of yacc.c */
-#line 2316 "compilers/imcc/imcc.y"
+#line 2310 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
}
@@ -5507,7 +5501,7 @@
case 291:
/* Line 1464 of yacc.c */
-#line 2323 "compilers/imcc/imcc.y"
+#line 2317 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
}
@@ -5516,7 +5510,7 @@
case 292:
/* Line 1464 of yacc.c */
-#line 2327 "compilers/imcc/imcc.y"
+#line 2321 "compilers/imcc/imcc.y"
{
(yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr));
}
@@ -5525,7 +5519,7 @@
case 293:
/* Line 1464 of yacc.c */
-#line 2331 "compilers/imcc/imcc.y"
+#line 2325 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));
}
@@ -5534,91 +5528,91 @@
case 294:
/* Line 1464 of yacc.c */
-#line 2337 "compilers/imcc/imcc.y"
+#line 2331 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 295:
/* Line 1464 of yacc.c */
-#line 2338 "compilers/imcc/imcc.y"
+#line 2332 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 296:
/* Line 1464 of yacc.c */
-#line 2342 "compilers/imcc/imcc.y"
+#line 2336 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"eq"; }
break;
case 297:
/* Line 1464 of yacc.c */
-#line 2343 "compilers/imcc/imcc.y"
+#line 2337 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ne"; }
break;
case 298:
/* Line 1464 of yacc.c */
-#line 2344 "compilers/imcc/imcc.y"
+#line 2338 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"gt"; }
break;
case 299:
/* Line 1464 of yacc.c */
-#line 2345 "compilers/imcc/imcc.y"
+#line 2339 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ge"; }
break;
case 300:
/* Line 1464 of yacc.c */
-#line 2346 "compilers/imcc/imcc.y"
+#line 2340 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lt"; }
break;
case 301:
/* Line 1464 of yacc.c */
-#line 2347 "compilers/imcc/imcc.y"
+#line 2341 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"le"; }
break;
case 304:
/* Line 1464 of yacc.c */
-#line 2356 "compilers/imcc/imcc.y"
+#line 2350 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 305:
/* Line 1464 of yacc.c */
-#line 2357 "compilers/imcc/imcc.y"
+#line 2351 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (1)].sr); }
break;
case 306:
/* Line 1464 of yacc.c */
-#line 2361 "compilers/imcc/imcc.y"
+#line 2355 "compilers/imcc/imcc.y"
{ (yyval.sr) = IMCC_INFO(interp)->regs[0]; }
break;
case 308:
/* Line 1464 of yacc.c */
-#line 2366 "compilers/imcc/imcc.y"
+#line 2360 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); }
break;
case 309:
/* Line 1464 of yacc.c */
-#line 2368 "compilers/imcc/imcc.y"
+#line 2362 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (4)].sr);
IMCC_INFO(interp) -> keyvec |= KEY_BIT(IMCC_INFO(interp)->nargs);
@@ -5630,7 +5624,7 @@
case 310:
/* Line 1464 of yacc.c */
-#line 2375 "compilers/imcc/imcc.y"
+#line 2369 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(2) - (3)].sr);
(yyval.sr) = (yyvsp[(2) - (3)].sr);
@@ -5640,49 +5634,49 @@
case 312:
/* Line 1464 of yacc.c */
-#line 2382 "compilers/imcc/imcc.y"
+#line 2376 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 313:
/* Line 1464 of yacc.c */
-#line 2383 "compilers/imcc/imcc.y"
+#line 2377 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 314:
/* Line 1464 of yacc.c */
-#line 2387 "compilers/imcc/imcc.y"
+#line 2381 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 315:
/* Line 1464 of yacc.c */
-#line 2388 "compilers/imcc/imcc.y"
+#line 2382 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 316:
/* Line 1464 of yacc.c */
-#line 2392 "compilers/imcc/imcc.y"
+#line 2386 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 317:
/* Line 1464 of yacc.c */
-#line 2393 "compilers/imcc/imcc.y"
+#line 2387 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 322:
/* Line 1464 of yacc.c */
-#line 2407 "compilers/imcc/imcc.y"
+#line 2401 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
}
@@ -5691,7 +5685,7 @@
case 323:
/* Line 1464 of yacc.c */
-#line 2411 "compilers/imcc/imcc.y"
+#line 2405 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
@@ -5702,7 +5696,7 @@
case 324:
/* Line 1464 of yacc.c */
-#line 2419 "compilers/imcc/imcc.y"
+#line 2413 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
}
@@ -5711,7 +5705,7 @@
case 325:
/* Line 1464 of yacc.c */
-#line 2423 "compilers/imcc/imcc.y"
+#line 2417 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
@@ -5722,14 +5716,14 @@
case 326:
/* Line 1464 of yacc.c */
-#line 2431 "compilers/imcc/imcc.y"
+#line 2425 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); }
break;
case 327:
/* Line 1464 of yacc.c */
-#line 2433 "compilers/imcc/imcc.y"
+#line 2427 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
(yyval.sr) = IMCC_INFO(interp)->keys[0];
@@ -5739,7 +5733,7 @@
case 328:
/* Line 1464 of yacc.c */
-#line 2441 "compilers/imcc/imcc.y"
+#line 2435 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(1) - (1)].sr);
}
@@ -5748,70 +5742,70 @@
case 329:
/* Line 1464 of yacc.c */
-#line 2447 "compilers/imcc/imcc.y"
+#line 2441 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); }
break;
case 330:
/* Line 1464 of yacc.c */
-#line 2448 "compilers/imcc/imcc.y"
+#line 2442 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); }
break;
case 331:
/* Line 1464 of yacc.c */
-#line 2449 "compilers/imcc/imcc.y"
+#line 2443 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
case 332:
/* Line 1464 of yacc.c */
-#line 2450 "compilers/imcc/imcc.y"
+#line 2444 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); }
break;
case 333:
/* Line 1464 of yacc.c */
-#line 2451 "compilers/imcc/imcc.y"
+#line 2445 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 334:
/* Line 1464 of yacc.c */
-#line 2455 "compilers/imcc/imcc.y"
+#line 2449 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 335:
/* Line 1464 of yacc.c */
-#line 2456 "compilers/imcc/imcc.y"
+#line 2450 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 336:
/* Line 1464 of yacc.c */
-#line 2457 "compilers/imcc/imcc.y"
+#line 2451 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 337:
/* Line 1464 of yacc.c */
-#line 2458 "compilers/imcc/imcc.y"
+#line 2452 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
/* Line 1464 of yacc.c */
-#line 5804 "compilers/imcc/imcparser.c"
+#line 5798 "compilers/imcc/imcparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6023,7 +6017,7 @@
/* Line 1684 of yacc.c */
-#line 2464 "compilers/imcc/imcc.y"
+#line 2458 "compilers/imcc/imcc.y"
/* I need this prototype somewhere... */
Modified: trunk/compilers/imcc/imcparser.h
==============================================================================
--- trunk/compilers/imcc/imcparser.h Sun May 9 21:09:50 2010 (r46443)
+++ trunk/compilers/imcc/imcparser.h Sun May 9 21:23:31 2010 (r46444)
@@ -295,7 +295,7 @@
{
/* Line 1685 of yacc.c */
-#line 1072 "compilers/imcc/imcc.y"
+#line 1068 "compilers/imcc/imcc.y"
IdList * idlist;
int t;
Modified: trunk/compilers/imcc/parser_util.c
==============================================================================
--- trunk/compilers/imcc/parser_util.c Sun May 9 21:09:50 2010 (r46443)
+++ trunk/compilers/imcc/parser_util.c Sun May 9 21:23:31 2010 (r46444)
@@ -474,13 +474,7 @@
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
"Cannot yield from non-continuation\n");
- IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub
- |= 1 | ITPCCYIELD;
- }
- else if ((strncmp(name, "invoke", 6) == 0) ||
- (strncmp(name, "callmethod", 10) == 0)) {
- if (IMCC_INFO(interp)->cur_unit->type & IMC_PCCSUB)
- IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub |= 1;
+ IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->yield = 1;
}
/* set up branch flags
Modified: trunk/compilers/imcc/pbc.c
==============================================================================
--- trunk/compilers/imcc/pbc.c Sun May 9 21:09:50 2010 (r46443)
+++ trunk/compilers/imcc/pbc.c Sun May 9 21:23:31 2010 (r46444)
@@ -1270,7 +1270,7 @@
IMCC_INFO(interp)->globals->cs->subs->unit;
INTVAL type =
- (r->pcc_sub->calls_a_sub & ITPCCYIELD) ?
+ (r->pcc_sub->yield) ?
enum_class_Coroutine : enum_class_Sub;
int i;
Modified: trunk/compilers/imcc/symreg.h
==============================================================================
--- trunk/compilers/imcc/symreg.h Sun May 9 21:09:50 2010 (r46443)
+++ trunk/compilers/imcc/symreg.h Sun May 9 21:23:31 2010 (r46444)
@@ -450,7 +450,7 @@
int nargs;
int nret;
int nmulti;
- int calls_a_sub;
+ int yield;
int tailcall;
int label;
INTVAL pragma;
More information about the parrot-commits
mailing list