[svn:parrot] r46431 - in trunk: compilers/imcc t/compilers/imcc/syn
plobsing at svn.parrot.org
plobsing at svn.parrot.org
Sun May 9 06:10:48 UTC 2010
Author: plobsing
Date: Sun May 9 06:10:47 2010
New Revision: 46431
URL: https://trac.parrot.org/parrot/changeset/46431
Log:
allow named params to default to their variable name.
fixes TT1152
Modified:
trunk/compilers/imcc/imcc.y
trunk/compilers/imcc/imcparser.c
trunk/t/compilers/imcc/syn/pcc.t
trunk/t/compilers/imcc/syn/regressions.t
Modified: trunk/compilers/imcc/imcc.y
==============================================================================
--- trunk/compilers/imcc/imcc.y Sun May 9 05:42:43 2010 (r46430)
+++ trunk/compilers/imcc/imcc.y Sun May 9 06:10:47 2010 (r46431)
@@ -1429,8 +1429,10 @@
}
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
- ":opt_flag parameter must be of type 'I', not '%s'", type);
+ ":opt_flag parameter must be of type 'int', not '%s'", type);
}
+ if ($3 & VT_NAMED && !($3 & VT_FLAT) && !IMCC_INFO(interp)->adv_named_id)
+ adv_named_set(interp, $2);
$$ = mk_ident(interp, $2, $1);
$$->type |= $3;
mem_sys_free($2);
@@ -1726,8 +1728,8 @@
| ADV_OPTIONAL { $$ = VT_OPTIONAL; }
| ADV_OPT_FLAG { $$ = VT_OPT_FLAG; }
| ADV_NAMED { $$ = VT_NAMED; }
- | ADV_NAMED '(' STRINGC ')' { adv_named_set(interp, $3); $$ = 0; mem_sys_free($3); }
- | ADV_NAMED '(' USTRINGC ')' { adv_named_set_u(interp, $3); $$ = 0; mem_sys_free($3); }
+ | ADV_NAMED '(' STRINGC ')' { adv_named_set(interp, $3); $$ = VT_NAMED; mem_sys_free($3); }
+ | ADV_NAMED '(' USTRINGC ')' { adv_named_set_u(interp, $3); $$ = VT_NAMED; mem_sys_free($3); }
| UNIQUE_REG { $$ = 0; }
| ADV_CALL_SIG { $$ = VT_CALL_SIG; }
;
Modified: trunk/compilers/imcc/imcparser.c
==============================================================================
--- trunk/compilers/imcc/imcparser.c Sun May 9 05:42:43 2010 (r46430)
+++ trunk/compilers/imcc/imcparser.c Sun May 9 06:10:47 2010 (r46431)
@@ -1884,34 +1884,34 @@
1285, 1286, 1287, 1288, 1289, 1290, 1293, 1293, 1302, 1301,
1314, 1318, 1331, 1335, 1339, 1339, 1351, 1353, 1357, 1372,
1376, 1381, 1385, 1389, 1380, 1401, 1402, 1403, 1416, 1416,
- 1420, 1443, 1447, 1453, 1462, 1468, 1477, 1483, 1492, 1498,
- 1507, 1515, 1520, 1531, 1534, 1539, 1547, 1548, 1549, 1550,
- 1551, 1562, 1573, 1576, 1578, 1583, 1582, 1615, 1616, 1620,
- 1621, 1625, 1626, 1630, 1631, 1635, 1636, 1637, 1638, 1639,
- 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1652,
- 1657, 1661, 1666, 1670, 1674, 1679, 1688, 1689, 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, 2044, 2046, 2048, 2050, 2052, 2057, 2060, 2067,
- 2066, 2075, 2076, 2077, 2078, 2086, 2087, 2088, 2092, 2093,
- 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103,
- 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113,
- 2114, 2120, 2119, 2131, 2136, 2137, 2138, 2139, 2140, 2141,
- 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2153, 2164, 2165,
- 2166, 2167, 2173, 2187, 2193, 2199, 2205, 2204, 2213, 2214,
- 2224, 2234, 2241, 2246, 2256, 2260, 2261, 2265, 2266, 2267,
- 2270, 2271, 2275, 2279, 2289, 2295, 2305, 2310, 2314, 2315,
- 2319, 2323, 2327, 2334, 2338, 2342, 2349, 2350, 2354, 2355,
- 2356, 2357, 2358, 2359, 2363, 2364, 2368, 2369, 2373, 2374,
- 2378, 2379, 2386, 2393, 2394, 2395, 2399, 2400, 2404, 2405,
- 2409, 2410, 2414, 2415, 2419, 2419, 2431, 2431, 2443, 2444,
- 2452, 2459, 2460, 2461, 2462, 2463, 2467, 2468, 2469, 2470
+ 1420, 1445, 1449, 1455, 1464, 1470, 1479, 1485, 1494, 1500,
+ 1509, 1517, 1522, 1533, 1536, 1541, 1549, 1550, 1551, 1552,
+ 1553, 1564, 1575, 1578, 1580, 1585, 1584, 1617, 1618, 1622,
+ 1623, 1627, 1628, 1632, 1633, 1637, 1638, 1639, 1640, 1641,
+ 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1654,
+ 1659, 1663, 1668, 1672, 1676, 1681, 1690, 1691, 1695, 1700,
+ 1701, 1709, 1710, 1710, 1722, 1723, 1727, 1728, 1729, 1730,
+ 1731, 1732, 1733, 1734, 1739, 1739, 1742, 1750, 1750, 1756,
+ 1757, 1762, 1770, 1771, 1776, 1784, 1788, 1793, 1792, 1805,
+ 1806, 1810, 1811, 1821, 1826, 1836, 1845, 1846, 1858, 1862,
+ 1864, 1865, 1866, 1867, 1868, 1872, 1873, 1877, 1878, 1882,
+ 1893, 1894, 1905, 1912, 1921, 1929, 1931, 1936, 1937, 1938,
+ 1938, 1951, 1968, 1981, 1981, 1988, 1989, 1989, 1995, 2001,
+ 2005, 2017, 2018, 2019, 2020, 2021, 2022, 2026, 2027, 2028,
+ 2029, 2033, 2046, 2048, 2050, 2052, 2054, 2059, 2062, 2069,
+ 2068, 2077, 2078, 2079, 2080, 2088, 2089, 2090, 2094, 2095,
+ 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105,
+ 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115,
+ 2116, 2122, 2121, 2133, 2138, 2139, 2140, 2141, 2142, 2143,
+ 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2155, 2166, 2167,
+ 2168, 2169, 2175, 2189, 2195, 2201, 2207, 2206, 2215, 2216,
+ 2226, 2236, 2243, 2248, 2258, 2262, 2263, 2267, 2268, 2269,
+ 2272, 2273, 2277, 2281, 2291, 2297, 2307, 2312, 2316, 2317,
+ 2321, 2325, 2329, 2336, 2340, 2344, 2351, 2352, 2356, 2357,
+ 2358, 2359, 2360, 2361, 2365, 2366, 2370, 2371, 2375, 2376,
+ 2380, 2381, 2388, 2395, 2396, 2397, 2401, 2402, 2406, 2407,
+ 2411, 2412, 2416, 2417, 2421, 2421, 2433, 2433, 2445, 2446,
+ 2454, 2461, 2462, 2463, 2464, 2465, 2469, 2470, 2471, 2472
};
#endif
@@ -3723,8 +3723,10 @@
}
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
- ":opt_flag parameter must be of type 'I', not '%s'", type);
+ ":opt_flag parameter must be of type 'int', not '%s'", type);
}
+ if ((yyvsp[(3) - (3)].t) & VT_NAMED && !((yyvsp[(3) - (3)].t) & VT_FLAT) && !IMCC_INFO(interp)->adv_named_id)
+ adv_named_set(interp, (yyvsp[(2) - (3)].s));
(yyval.sr) = mk_ident(interp, (yyvsp[(2) - (3)].s), (yyvsp[(1) - (3)].t));
(yyval.sr)->type |= (yyvsp[(3) - (3)].t);
mem_sys_free((yyvsp[(2) - (3)].s));
@@ -3734,14 +3736,14 @@
case 61:
/* Line 1464 of yacc.c */
-#line 1443 "compilers/imcc/imcc.y"
+#line 1445 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 62:
/* Line 1464 of yacc.c */
-#line 1448 "compilers/imcc/imcc.y"
+#line 1450 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->outer = mk_sub_address_fromc(interp, (yyvsp[(3) - (4)].s));
@@ -3752,7 +3754,7 @@
case 63:
/* Line 1464 of yacc.c */
-#line 1454 "compilers/imcc/imcc.y"
+#line 1456 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->outer = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
@@ -3763,7 +3765,7 @@
case 64:
/* Line 1464 of yacc.c */
-#line 1463 "compilers/imcc/imcc.y"
+#line 1465 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = NULL;
@@ -3774,7 +3776,7 @@
case 65:
/* Line 1464 of yacc.c */
-#line 1469 "compilers/imcc/imcc.y"
+#line 1471 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = (yyvsp[(3) - (4)].s);
@@ -3785,7 +3787,7 @@
case 66:
/* Line 1464 of yacc.c */
-#line 1478 "compilers/imcc/imcc.y"
+#line 1480 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = NULL;
@@ -3796,7 +3798,7 @@
case 67:
/* Line 1464 of yacc.c */
-#line 1484 "compilers/imcc/imcc.y"
+#line 1486 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = (yyvsp[(3) - (4)].s);
@@ -3807,7 +3809,7 @@
case 68:
/* Line 1464 of yacc.c */
-#line 1493 "compilers/imcc/imcc.y"
+#line 1495 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
@@ -3818,7 +3820,7 @@
case 69:
/* Line 1464 of yacc.c */
-#line 1499 "compilers/imcc/imcc.y"
+#line 1501 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = (yyvsp[(3) - (4)].s);
@@ -3829,7 +3831,7 @@
case 70:
/* Line 1464 of yacc.c */
-#line 1508 "compilers/imcc/imcc.y"
+#line 1510 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->instance_of = (yyvsp[(3) - (4)].s);
@@ -3839,7 +3841,7 @@
case 71:
/* Line 1464 of yacc.c */
-#line 1516 "compilers/imcc/imcc.y"
+#line 1518 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->subid = NULL;
@@ -3849,7 +3851,7 @@
case 72:
/* Line 1464 of yacc.c */
-#line 1521 "compilers/imcc/imcc.y"
+#line 1523 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->subid = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
@@ -3861,7 +3863,7 @@
case 73:
/* Line 1464 of yacc.c */
-#line 1531 "compilers/imcc/imcc.y"
+#line 1533 "compilers/imcc/imcc.y"
{
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, NULL);
}
@@ -3870,7 +3872,7 @@
case 74:
/* Line 1464 of yacc.c */
-#line 1535 "compilers/imcc/imcc.y"
+#line 1537 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
@@ -3880,7 +3882,7 @@
case 75:
/* Line 1464 of yacc.c */
-#line 1540 "compilers/imcc/imcc.y"
+#line 1542 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
@@ -3890,35 +3892,35 @@
case 76:
/* Line 1464 of yacc.c */
-#line 1547 "compilers/imcc/imcc.y"
+#line 1549 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "INTVAL", 'S'); }
break;
case 77:
/* Line 1464 of yacc.c */
-#line 1548 "compilers/imcc/imcc.y"
+#line 1550 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); }
break;
case 78:
/* Line 1464 of yacc.c */
-#line 1549 "compilers/imcc/imcc.y"
+#line 1551 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "PMC", 'S'); }
break;
case 79:
/* Line 1464 of yacc.c */
-#line 1550 "compilers/imcc/imcc.y"
+#line 1552 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "STRING", 'S'); }
break;
case 80:
/* Line 1464 of yacc.c */
-#line 1552 "compilers/imcc/imcc.y"
+#line 1554 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_") != 0)
@@ -3934,7 +3936,7 @@
case 81:
/* Line 1464 of yacc.c */
-#line 1563 "compilers/imcc/imcc.y"
+#line 1565 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_") != 0)
@@ -3950,14 +3952,14 @@
case 82:
/* Line 1464 of yacc.c */
-#line 1573 "compilers/imcc/imcc.y"
+#line 1575 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 85:
/* Line 1464 of yacc.c */
-#line 1583 "compilers/imcc/imcc.y"
+#line 1585 "compilers/imcc/imcc.y"
{
char name[128];
SymReg *r, *r1;
@@ -3986,112 +3988,112 @@
case 86:
/* Line 1464 of yacc.c */
-#line 1611 "compilers/imcc/imcc.y"
+#line 1613 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 87:
/* Line 1464 of yacc.c */
-#line 1615 "compilers/imcc/imcc.y"
+#line 1617 "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 1616 "compilers/imcc/imcc.y"
+#line 1618 "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 1620 "compilers/imcc/imcc.y"
+#line 1622 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 90:
/* Line 1464 of yacc.c */
-#line 1621 "compilers/imcc/imcc.y"
+#line 1623 "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 1625 "compilers/imcc/imcc.y"
+#line 1627 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 93:
/* Line 1464 of yacc.c */
-#line 1630 "compilers/imcc/imcc.y"
+#line 1632 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (1)].t); }
break;
case 94:
/* Line 1464 of yacc.c */
-#line 1631 "compilers/imcc/imcc.y"
+#line 1633 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 95:
/* Line 1464 of yacc.c */
-#line 1635 "compilers/imcc/imcc.y"
+#line 1637 "compilers/imcc/imcc.y"
{ (yyval.t) = P_LOAD; }
break;
case 96:
/* Line 1464 of yacc.c */
-#line 1636 "compilers/imcc/imcc.y"
+#line 1638 "compilers/imcc/imcc.y"
{ (yyval.t) = P_INIT; }
break;
case 97:
/* Line 1464 of yacc.c */
-#line 1637 "compilers/imcc/imcc.y"
+#line 1639 "compilers/imcc/imcc.y"
{ (yyval.t) = P_MAIN; }
break;
case 98:
/* Line 1464 of yacc.c */
-#line 1638 "compilers/imcc/imcc.y"
+#line 1640 "compilers/imcc/imcc.y"
{ (yyval.t) = P_IMMEDIATE; }
break;
case 99:
/* Line 1464 of yacc.c */
-#line 1639 "compilers/imcc/imcc.y"
+#line 1641 "compilers/imcc/imcc.y"
{ (yyval.t) = P_POSTCOMP; }
break;
case 100:
/* Line 1464 of yacc.c */
-#line 1640 "compilers/imcc/imcc.y"
+#line 1642 "compilers/imcc/imcc.y"
{ (yyval.t) = P_ANON; }
break;
case 101:
/* Line 1464 of yacc.c */
-#line 1641 "compilers/imcc/imcc.y"
+#line 1643 "compilers/imcc/imcc.y"
{ (yyval.t) = P_NEED_LEX; }
break;
case 109:
/* Line 1464 of yacc.c */
-#line 1653 "compilers/imcc/imcc.y"
+#line 1655 "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));
@@ -4101,7 +4103,7 @@
case 110:
/* Line 1464 of yacc.c */
-#line 1658 "compilers/imcc/imcc.y"
+#line 1660 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
}
@@ -4110,7 +4112,7 @@
case 111:
/* Line 1464 of yacc.c */
-#line 1662 "compilers/imcc/imcc.y"
+#line 1664 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isNCI;
@@ -4120,7 +4122,7 @@
case 112:
/* Line 1464 of yacc.c */
-#line 1667 "compilers/imcc/imcc.y"
+#line 1669 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
}
@@ -4129,7 +4131,7 @@
case 113:
/* Line 1464 of yacc.c */
-#line 1671 "compilers/imcc/imcc.y"
+#line 1673 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S'));
}
@@ -4138,7 +4140,7 @@
case 114:
/* Line 1464 of yacc.c */
-#line 1675 "compilers/imcc/imcc.y"
+#line 1677 "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));
@@ -4148,7 +4150,7 @@
case 115:
/* Line 1464 of yacc.c */
-#line 1680 "compilers/imcc/imcc.y"
+#line 1682 "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));
@@ -4158,35 +4160,35 @@
case 116:
/* Line 1464 of yacc.c */
-#line 1688 "compilers/imcc/imcc.y"
+#line 1690 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 117:
/* Line 1464 of yacc.c */
-#line 1689 "compilers/imcc/imcc.y"
+#line 1691 "compilers/imcc/imcc.y"
{ add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
break;
case 118:
/* Line 1464 of yacc.c */
-#line 1693 "compilers/imcc/imcc.y"
+#line 1695 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (2)].sr); }
break;
case 119:
/* Line 1464 of yacc.c */
-#line 1698 "compilers/imcc/imcc.y"
+#line 1700 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 120:
/* Line 1464 of yacc.c */
-#line 1700 "compilers/imcc/imcc.y"
+#line 1702 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4196,21 +4198,21 @@
case 121:
/* Line 1464 of yacc.c */
-#line 1707 "compilers/imcc/imcc.y"
+#line 1709 "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 1708 "compilers/imcc/imcc.y"
+#line 1710 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 123:
/* Line 1464 of yacc.c */
-#line 1709 "compilers/imcc/imcc.y"
+#line 1711 "compilers/imcc/imcc.y"
{
IdList * const l = (yyvsp[(4) - (4)].idlist);
SymReg *ignored;
@@ -4224,91 +4226,91 @@
case 124:
/* Line 1464 of yacc.c */
-#line 1720 "compilers/imcc/imcc.y"
+#line 1722 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 125:
/* Line 1464 of yacc.c */
-#line 1721 "compilers/imcc/imcc.y"
+#line 1723 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 126:
/* Line 1464 of yacc.c */
-#line 1725 "compilers/imcc/imcc.y"
+#line 1727 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 127:
/* Line 1464 of yacc.c */
-#line 1726 "compilers/imcc/imcc.y"
+#line 1728 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPTIONAL; }
break;
case 128:
/* Line 1464 of yacc.c */
-#line 1727 "compilers/imcc/imcc.y"
+#line 1729 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPT_FLAG; }
break;
case 129:
/* Line 1464 of yacc.c */
-#line 1728 "compilers/imcc/imcc.y"
+#line 1730 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 130:
/* Line 1464 of yacc.c */
-#line 1729 "compilers/imcc/imcc.y"
- { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
+#line 1731 "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 1730 "compilers/imcc/imcc.y"
- { adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
+#line 1732 "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 1731 "compilers/imcc/imcc.y"
+#line 1733 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 133:
/* Line 1464 of yacc.c */
-#line 1732 "compilers/imcc/imcc.y"
+#line 1734 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_CALL_SIG; }
break;
case 134:
/* Line 1464 of yacc.c */
-#line 1737 "compilers/imcc/imcc.y"
+#line 1739 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 0); }
break;
case 135:
/* Line 1464 of yacc.c */
-#line 1739 "compilers/imcc/imcc.y"
+#line 1741 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 136:
/* Line 1464 of yacc.c */
-#line 1741 "compilers/imcc/imcc.y"
+#line 1743 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
(yyval.i) = 0;
@@ -4318,28 +4320,28 @@
case 137:
/* Line 1464 of yacc.c */
-#line 1748 "compilers/imcc/imcc.y"
+#line 1750 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 1); }
break;
case 138:
/* Line 1464 of yacc.c */
-#line 1750 "compilers/imcc/imcc.y"
+#line 1752 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 139:
/* Line 1464 of yacc.c */
-#line 1754 "compilers/imcc/imcc.y"
+#line 1756 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 140:
/* Line 1464 of yacc.c */
-#line 1756 "compilers/imcc/imcc.y"
+#line 1758 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
@@ -4349,7 +4351,7 @@
case 141:
/* Line 1464 of yacc.c */
-#line 1761 "compilers/imcc/imcc.y"
+#line 1763 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
@@ -4359,14 +4361,14 @@
case 142:
/* Line 1464 of yacc.c */
-#line 1768 "compilers/imcc/imcc.y"
+#line 1770 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 143:
/* Line 1464 of yacc.c */
-#line 1770 "compilers/imcc/imcc.y"
+#line 1772 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
@@ -4376,7 +4378,7 @@
case 144:
/* Line 1464 of yacc.c */
-#line 1775 "compilers/imcc/imcc.y"
+#line 1777 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
@@ -4386,21 +4388,21 @@
case 145:
/* Line 1464 of yacc.c */
-#line 1782 "compilers/imcc/imcc.y"
+#line 1784 "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 1786 "compilers/imcc/imcc.y"
+#line 1788 "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 1791 "compilers/imcc/imcc.y"
+#line 1793 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->asm_state == AsmDefault)
begin_return_or_yield(interp, (yyvsp[(1) - (2)].t));
@@ -4410,7 +4412,7 @@
case 148:
/* Line 1464 of yacc.c */
-#line 1796 "compilers/imcc/imcc.y"
+#line 1798 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
(yyval.t) = 0;
@@ -4420,28 +4422,28 @@
case 149:
/* Line 1464 of yacc.c */
-#line 1803 "compilers/imcc/imcc.y"
+#line 1805 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 150:
/* Line 1464 of yacc.c */
-#line 1804 "compilers/imcc/imcc.y"
+#line 1806 "compilers/imcc/imcc.y"
{ (yyval.t) = 1; }
break;
case 151:
/* Line 1464 of yacc.c */
-#line 1808 "compilers/imcc/imcc.y"
+#line 1810 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 152:
/* Line 1464 of yacc.c */
-#line 1810 "compilers/imcc/imcc.y"
+#line 1812 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
@@ -4456,7 +4458,7 @@
case 153:
/* Line 1464 of yacc.c */
-#line 1820 "compilers/imcc/imcc.y"
+#line 1822 "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));
@@ -4466,7 +4468,7 @@
case 154:
/* Line 1464 of yacc.c */
-#line 1825 "compilers/imcc/imcc.y"
+#line 1827 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
@@ -4481,7 +4483,7 @@
case 155:
/* Line 1464 of yacc.c */
-#line 1835 "compilers/imcc/imcc.y"
+#line 1837 "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));
@@ -4491,63 +4493,63 @@
case 158:
/* Line 1464 of yacc.c */
-#line 1856 "compilers/imcc/imcc.y"
+#line 1858 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 159:
/* Line 1464 of yacc.c */
-#line 1861 "compilers/imcc/imcc.y"
+#line 1863 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (2)].i); }
break;
case 160:
/* Line 1464 of yacc.c */
-#line 1862 "compilers/imcc/imcc.y"
+#line 1864 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 161:
/* Line 1464 of yacc.c */
-#line 1863 "compilers/imcc/imcc.y"
+#line 1865 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 162:
/* Line 1464 of yacc.c */
-#line 1864 "compilers/imcc/imcc.y"
+#line 1866 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 163:
/* Line 1464 of yacc.c */
-#line 1865 "compilers/imcc/imcc.y"
+#line 1867 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 164:
/* Line 1464 of yacc.c */
-#line 1866 "compilers/imcc/imcc.y"
+#line 1868 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 165:
/* Line 1464 of yacc.c */
-#line 1870 "compilers/imcc/imcc.y"
+#line 1872 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 169:
/* Line 1464 of yacc.c */
-#line 1881 "compilers/imcc/imcc.y"
+#line 1883 "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));
@@ -4558,14 +4560,14 @@
case 170:
/* Line 1464 of yacc.c */
-#line 1891 "compilers/imcc/imcc.y"
+#line 1893 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (3)].i); }
break;
case 171:
/* Line 1464 of yacc.c */
-#line 1893 "compilers/imcc/imcc.y"
+#line 1895 "compilers/imcc/imcc.y"
{
if (yynerrs >= PARROT_MAX_RECOVER_ERRORS) {
IMCC_warning(interp, "Too many errors. Correct some first.\n");
@@ -4578,7 +4580,7 @@
case 172:
/* Line 1464 of yacc.c */
-#line 1904 "compilers/imcc/imcc.y"
+#line 1906 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(1) - (1)].idlist);
l->next = NULL;
@@ -4589,7 +4591,7 @@
case 173:
/* Line 1464 of yacc.c */
-#line 1911 "compilers/imcc/imcc.y"
+#line 1913 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(3) - (3)].idlist);
l->next = (yyvsp[(1) - (3)].idlist);
@@ -4600,7 +4602,7 @@
case 174:
/* Line 1464 of yacc.c */
-#line 1920 "compilers/imcc/imcc.y"
+#line 1922 "compilers/imcc/imcc.y"
{
IdList* const l = mem_gc_allocate_n_zeroed_typed(interp, 1, IdList);
l->id = (yyvsp[(1) - (2)].s);
@@ -4611,14 +4613,14 @@
case 179:
/* Line 1464 of yacc.c */
-#line 1936 "compilers/imcc/imcc.y"
+#line 1938 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 180:
/* Line 1464 of yacc.c */
-#line 1937 "compilers/imcc/imcc.y"
+#line 1939 "compilers/imcc/imcc.y"
{
IdList *l = (yyvsp[(4) - (4)].idlist);
while (l) {
@@ -4636,7 +4638,7 @@
case 181:
/* Line 1464 of yacc.c */
-#line 1950 "compilers/imcc/imcc.y"
+#line 1952 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
mem_sys_free((yyvsp[(2) - (4)].s));
@@ -4658,7 +4660,7 @@
case 182:
/* Line 1464 of yacc.c */
-#line 1967 "compilers/imcc/imcc.y"
+#line 1969 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
mem_sys_free((yyvsp[(2) - (4)].s));
@@ -4676,14 +4678,14 @@
case 183:
/* Line 1464 of yacc.c */
-#line 1979 "compilers/imcc/imcc.y"
+#line 1981 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 184:
/* Line 1464 of yacc.c */
-#line 1980 "compilers/imcc/imcc.y"
+#line 1982 "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;
@@ -4694,14 +4696,14 @@
case 186:
/* Line 1464 of yacc.c */
-#line 1987 "compilers/imcc/imcc.y"
+#line 1989 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 187:
/* Line 1464 of yacc.c */
-#line 1988 "compilers/imcc/imcc.y"
+#line 1990 "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;
@@ -4712,7 +4714,7 @@
case 188:
/* Line 1464 of yacc.c */
-#line 1994 "compilers/imcc/imcc.y"
+#line 1996 "compilers/imcc/imcc.y"
{
(yyval.i) = NULL;
IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isTAIL_CALL;
@@ -4723,7 +4725,7 @@
case 189:
/* Line 1464 of yacc.c */
-#line 2000 "compilers/imcc/imcc.y"
+#line 2002 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr));
}
@@ -4732,7 +4734,7 @@
case 190:
/* Line 1464 of yacc.c */
-#line 2004 "compilers/imcc/imcc.y"
+#line 2006 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp,
IMCC_INFO(interp)->cur_unit,
@@ -4749,63 +4751,63 @@
case 191:
/* Line 1464 of yacc.c */
-#line 2015 "compilers/imcc/imcc.y"
+#line 2017 "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 2016 "compilers/imcc/imcc.y"
+#line 2018 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 193:
/* Line 1464 of yacc.c */
-#line 2017 "compilers/imcc/imcc.y"
+#line 2019 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 196:
/* Line 1464 of yacc.c */
-#line 2020 "compilers/imcc/imcc.y"
+#line 2022 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 197:
/* Line 1464 of yacc.c */
-#line 2024 "compilers/imcc/imcc.y"
+#line 2026 "compilers/imcc/imcc.y"
{ (yyval.t) = 'I'; }
break;
case 198:
/* Line 1464 of yacc.c */
-#line 2025 "compilers/imcc/imcc.y"
+#line 2027 "compilers/imcc/imcc.y"
{ (yyval.t) = 'N'; }
break;
case 199:
/* Line 1464 of yacc.c */
-#line 2026 "compilers/imcc/imcc.y"
+#line 2028 "compilers/imcc/imcc.y"
{ (yyval.t) = 'S'; }
break;
case 200:
/* Line 1464 of yacc.c */
-#line 2027 "compilers/imcc/imcc.y"
+#line 2029 "compilers/imcc/imcc.y"
{ (yyval.t) = 'P'; }
break;
case 201:
/* Line 1464 of yacc.c */
-#line 2032 "compilers/imcc/imcc.y"
+#line 2034 "compilers/imcc/imcc.y"
{
/* there'd normally be a mem_sys_strdup() here, but the lexer already
* copied the string, so it's safe to use directly */
@@ -4820,49 +4822,49 @@
case 202:
/* Line 1464 of yacc.c */
-#line 2045 "compilers/imcc/imcc.y"
+#line 2047 "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 203:
/* Line 1464 of yacc.c */
-#line 2047 "compilers/imcc/imcc.y"
+#line 2049 "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 204:
/* Line 1464 of yacc.c */
-#line 2049 "compilers/imcc/imcc.y"
+#line 2051 "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 205:
/* Line 1464 of yacc.c */
-#line 2051 "compilers/imcc/imcc.y"
+#line 2053 "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 206:
/* Line 1464 of yacc.c */
-#line 2053 "compilers/imcc/imcc.y"
+#line 2055 "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 207:
/* Line 1464 of yacc.c */
-#line 2058 "compilers/imcc/imcc.y"
+#line 2060 "compilers/imcc/imcc.y"
{ (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); }
break;
case 208:
/* Line 1464 of yacc.c */
-#line 2061 "compilers/imcc/imcc.y"
+#line 2063 "compilers/imcc/imcc.y"
{
add_pcc_result(interp, (yyvsp[(3) - (3)].i)->symregs[0], (yyvsp[(1) - (3)].sr));
IMCC_INFO(interp)->cur_call = NULL;
@@ -4873,7 +4875,7 @@
case 209:
/* Line 1464 of yacc.c */
-#line 2067 "compilers/imcc/imcc.y"
+#line 2069 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
}
@@ -4882,7 +4884,7 @@
case 210:
/* Line 1464 of yacc.c */
-#line 2071 "compilers/imcc/imcc.y"
+#line 2073 "compilers/imcc/imcc.y"
{
IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
IMCC_INFO(interp)->cur_call = NULL;
@@ -4892,7 +4894,7 @@
case 214:
/* Line 1464 of yacc.c */
-#line 2079 "compilers/imcc/imcc.y"
+#line 2081 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(1) - (3)].sr));
}
@@ -4901,189 +4903,189 @@
case 215:
/* Line 1464 of yacc.c */
-#line 2086 "compilers/imcc/imcc.y"
+#line 2088 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"not"; }
break;
case 216:
/* Line 1464 of yacc.c */
-#line 2087 "compilers/imcc/imcc.y"
+#line 2089 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bnot"; }
break;
case 217:
/* Line 1464 of yacc.c */
-#line 2088 "compilers/imcc/imcc.y"
+#line 2090 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"neg"; }
break;
case 218:
/* Line 1464 of yacc.c */
-#line 2092 "compilers/imcc/imcc.y"
+#line 2094 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 219:
/* Line 1464 of yacc.c */
-#line 2093 "compilers/imcc/imcc.y"
+#line 2095 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 220:
/* Line 1464 of yacc.c */
-#line 2094 "compilers/imcc/imcc.y"
+#line 2096 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 221:
/* Line 1464 of yacc.c */
-#line 2095 "compilers/imcc/imcc.y"
+#line 2097 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 222:
/* Line 1464 of yacc.c */
-#line 2096 "compilers/imcc/imcc.y"
+#line 2098 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 223:
/* Line 1464 of yacc.c */
-#line 2097 "compilers/imcc/imcc.y"
+#line 2099 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 224:
/* Line 1464 of yacc.c */
-#line 2098 "compilers/imcc/imcc.y"
+#line 2100 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"pow"; }
break;
case 225:
/* Line 1464 of yacc.c */
-#line 2099 "compilers/imcc/imcc.y"
+#line 2101 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 226:
/* Line 1464 of yacc.c */
-#line 2100 "compilers/imcc/imcc.y"
+#line 2102 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"iseq"; }
break;
case 227:
/* Line 1464 of yacc.c */
-#line 2101 "compilers/imcc/imcc.y"
+#line 2103 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isne"; }
break;
case 228:
/* Line 1464 of yacc.c */
-#line 2102 "compilers/imcc/imcc.y"
+#line 2104 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isgt"; }
break;
case 229:
/* Line 1464 of yacc.c */
-#line 2103 "compilers/imcc/imcc.y"
+#line 2105 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isge"; }
break;
case 230:
/* Line 1464 of yacc.c */
-#line 2104 "compilers/imcc/imcc.y"
+#line 2106 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"islt"; }
break;
case 231:
/* Line 1464 of yacc.c */
-#line 2105 "compilers/imcc/imcc.y"
+#line 2107 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isle"; }
break;
case 232:
/* Line 1464 of yacc.c */
-#line 2106 "compilers/imcc/imcc.y"
+#line 2108 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 233:
/* Line 1464 of yacc.c */
-#line 2107 "compilers/imcc/imcc.y"
+#line 2109 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 234:
/* Line 1464 of yacc.c */
-#line 2108 "compilers/imcc/imcc.y"
+#line 2110 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 235:
/* Line 1464 of yacc.c */
-#line 2109 "compilers/imcc/imcc.y"
+#line 2111 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"and"; }
break;
case 236:
/* Line 1464 of yacc.c */
-#line 2110 "compilers/imcc/imcc.y"
+#line 2112 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"or"; }
break;
case 237:
/* Line 1464 of yacc.c */
-#line 2111 "compilers/imcc/imcc.y"
+#line 2113 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"xor"; }
break;
case 238:
/* Line 1464 of yacc.c */
-#line 2112 "compilers/imcc/imcc.y"
+#line 2114 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 239:
/* Line 1464 of yacc.c */
-#line 2113 "compilers/imcc/imcc.y"
+#line 2115 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 240:
/* Line 1464 of yacc.c */
-#line 2114 "compilers/imcc/imcc.y"
+#line 2116 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 241:
/* Line 1464 of yacc.c */
-#line 2120 "compilers/imcc/imcc.y"
+#line 2122 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
(yyval.i)->type &= ~ITCALL;
@@ -5094,112 +5096,112 @@
case 242:
/* Line 1464 of yacc.c */
-#line 2125 "compilers/imcc/imcc.y"
+#line 2127 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 243:
/* Line 1464 of yacc.c */
-#line 2132 "compilers/imcc/imcc.y"
+#line 2134 "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 244:
/* Line 1464 of yacc.c */
-#line 2136 "compilers/imcc/imcc.y"
+#line 2138 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 245:
/* Line 1464 of yacc.c */
-#line 2137 "compilers/imcc/imcc.y"
+#line 2139 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 246:
/* Line 1464 of yacc.c */
-#line 2138 "compilers/imcc/imcc.y"
+#line 2140 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 247:
/* Line 1464 of yacc.c */
-#line 2139 "compilers/imcc/imcc.y"
+#line 2141 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 248:
/* Line 1464 of yacc.c */
-#line 2140 "compilers/imcc/imcc.y"
+#line 2142 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 249:
/* Line 1464 of yacc.c */
-#line 2141 "compilers/imcc/imcc.y"
+#line 2143 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 250:
/* Line 1464 of yacc.c */
-#line 2142 "compilers/imcc/imcc.y"
+#line 2144 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 251:
/* Line 1464 of yacc.c */
-#line 2143 "compilers/imcc/imcc.y"
+#line 2145 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 252:
/* Line 1464 of yacc.c */
-#line 2144 "compilers/imcc/imcc.y"
+#line 2146 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 253:
/* Line 1464 of yacc.c */
-#line 2145 "compilers/imcc/imcc.y"
+#line 2147 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 254:
/* Line 1464 of yacc.c */
-#line 2146 "compilers/imcc/imcc.y"
+#line 2148 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 255:
/* Line 1464 of yacc.c */
-#line 2147 "compilers/imcc/imcc.y"
+#line 2149 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 256:
/* Line 1464 of yacc.c */
-#line 2148 "compilers/imcc/imcc.y"
+#line 2150 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 257:
/* Line 1464 of yacc.c */
-#line 2154 "compilers/imcc/imcc.y"
+#line 2156 "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,
@@ -5212,28 +5214,28 @@
case 258:
/* Line 1464 of yacc.c */
-#line 2164 "compilers/imcc/imcc.y"
+#line 2166 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 259:
/* Line 1464 of yacc.c */
-#line 2165 "compilers/imcc/imcc.y"
+#line 2167 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 260:
/* Line 1464 of yacc.c */
-#line 2166 "compilers/imcc/imcc.y"
+#line 2168 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 261:
/* Line 1464 of yacc.c */
-#line 2168 "compilers/imcc/imcc.y"
+#line 2170 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(1) - (1)].sr);
if ((yyvsp[(1) - (1)].sr)->set != 'P')
@@ -5244,7 +5246,7 @@
case 262:
/* Line 1464 of yacc.c */
-#line 2174 "compilers/imcc/imcc.y"
+#line 2176 "compilers/imcc/imcc.y"
{
/* disallow bareword method names; SREG name constants are fine */
const char * const name = (yyvsp[(3) - (3)].sr)->name;
@@ -5263,7 +5265,7 @@
case 263:
/* Line 1464 of yacc.c */
-#line 2188 "compilers/imcc/imcc.y"
+#line 2190 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
(yyval.sr) = mk_const(interp, (yyvsp[(3) - (3)].s), 'U');
@@ -5274,7 +5276,7 @@
case 264:
/* Line 1464 of yacc.c */
-#line 2194 "compilers/imcc/imcc.y"
+#line 2196 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
(yyval.sr) = mk_const(interp, (yyvsp[(3) - (3)].s), 'S');
@@ -5285,14 +5287,14 @@
case 265:
/* Line 1464 of yacc.c */
-#line 2199 "compilers/imcc/imcc.y"
+#line 2201 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); }
break;
case 266:
/* Line 1464 of yacc.c */
-#line 2205 "compilers/imcc/imcc.y"
+#line 2207 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
IMCC_itcall_sub(interp, (yyvsp[(1) - (1)].sr));
@@ -5302,21 +5304,21 @@
case 267:
/* Line 1464 of yacc.c */
-#line 2209 "compilers/imcc/imcc.y"
+#line 2211 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (5)].i); }
break;
case 268:
/* Line 1464 of yacc.c */
-#line 2213 "compilers/imcc/imcc.y"
+#line 2215 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 269:
/* Line 1464 of yacc.c */
-#line 2215 "compilers/imcc/imcc.y"
+#line 2217 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5331,7 +5333,7 @@
case 270:
/* Line 1464 of yacc.c */
-#line 2225 "compilers/imcc/imcc.y"
+#line 2227 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5346,7 +5348,7 @@
case 271:
/* Line 1464 of yacc.c */
-#line 2235 "compilers/imcc/imcc.y"
+#line 2237 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
@@ -5358,7 +5360,7 @@
case 272:
/* Line 1464 of yacc.c */
-#line 2242 "compilers/imcc/imcc.y"
+#line 2244 "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));
@@ -5368,7 +5370,7 @@
case 273:
/* Line 1464 of yacc.c */
-#line 2247 "compilers/imcc/imcc.y"
+#line 2249 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
@@ -5380,70 +5382,70 @@
case 274:
/* Line 1464 of yacc.c */
-#line 2256 "compilers/imcc/imcc.y"
+#line 2258 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 275:
/* Line 1464 of yacc.c */
-#line 2260 "compilers/imcc/imcc.y"
+#line 2262 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 276:
/* Line 1464 of yacc.c */
-#line 2261 "compilers/imcc/imcc.y"
+#line 2263 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 277:
/* Line 1464 of yacc.c */
-#line 2265 "compilers/imcc/imcc.y"
+#line 2267 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 278:
/* Line 1464 of yacc.c */
-#line 2266 "compilers/imcc/imcc.y"
+#line 2268 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 279:
/* Line 1464 of yacc.c */
-#line 2267 "compilers/imcc/imcc.y"
+#line 2269 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_CALL_SIG; }
break;
case 280:
/* Line 1464 of yacc.c */
-#line 2270 "compilers/imcc/imcc.y"
+#line 2272 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 281:
/* Line 1464 of yacc.c */
-#line 2271 "compilers/imcc/imcc.y"
+#line 2273 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 282:
/* Line 1464 of yacc.c */
-#line 2275 "compilers/imcc/imcc.y"
+#line 2277 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 283:
/* Line 1464 of yacc.c */
-#line 2280 "compilers/imcc/imcc.y"
+#line 2282 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5458,7 +5460,7 @@
case 284:
/* Line 1464 of yacc.c */
-#line 2290 "compilers/imcc/imcc.y"
+#line 2292 "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));
@@ -5469,7 +5471,7 @@
case 285:
/* Line 1464 of yacc.c */
-#line 2296 "compilers/imcc/imcc.y"
+#line 2298 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -5484,7 +5486,7 @@
case 286:
/* Line 1464 of yacc.c */
-#line 2306 "compilers/imcc/imcc.y"
+#line 2308 "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));
@@ -5494,28 +5496,28 @@
case 287:
/* Line 1464 of yacc.c */
-#line 2310 "compilers/imcc/imcc.y"
+#line 2312 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 288:
/* Line 1464 of yacc.c */
-#line 2314 "compilers/imcc/imcc.y"
+#line 2316 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 289:
/* Line 1464 of yacc.c */
-#line 2315 "compilers/imcc/imcc.y"
+#line 2317 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 290:
/* Line 1464 of yacc.c */
-#line 2320 "compilers/imcc/imcc.y"
+#line 2322 "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));
}
@@ -5524,7 +5526,7 @@
case 291:
/* Line 1464 of yacc.c */
-#line 2324 "compilers/imcc/imcc.y"
+#line 2326 "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));
}
@@ -5533,7 +5535,7 @@
case 292:
/* Line 1464 of yacc.c */
-#line 2328 "compilers/imcc/imcc.y"
+#line 2330 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
}
@@ -5542,7 +5544,7 @@
case 293:
/* Line 1464 of yacc.c */
-#line 2335 "compilers/imcc/imcc.y"
+#line 2337 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
}
@@ -5551,7 +5553,7 @@
case 294:
/* Line 1464 of yacc.c */
-#line 2339 "compilers/imcc/imcc.y"
+#line 2341 "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));
}
@@ -5560,7 +5562,7 @@
case 295:
/* Line 1464 of yacc.c */
-#line 2343 "compilers/imcc/imcc.y"
+#line 2345 "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));
}
@@ -5569,91 +5571,91 @@
case 296:
/* Line 1464 of yacc.c */
-#line 2349 "compilers/imcc/imcc.y"
+#line 2351 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 297:
/* Line 1464 of yacc.c */
-#line 2350 "compilers/imcc/imcc.y"
+#line 2352 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 298:
/* Line 1464 of yacc.c */
-#line 2354 "compilers/imcc/imcc.y"
+#line 2356 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"eq"; }
break;
case 299:
/* Line 1464 of yacc.c */
-#line 2355 "compilers/imcc/imcc.y"
+#line 2357 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ne"; }
break;
case 300:
/* Line 1464 of yacc.c */
-#line 2356 "compilers/imcc/imcc.y"
+#line 2358 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"gt"; }
break;
case 301:
/* Line 1464 of yacc.c */
-#line 2357 "compilers/imcc/imcc.y"
+#line 2359 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ge"; }
break;
case 302:
/* Line 1464 of yacc.c */
-#line 2358 "compilers/imcc/imcc.y"
+#line 2360 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lt"; }
break;
case 303:
/* Line 1464 of yacc.c */
-#line 2359 "compilers/imcc/imcc.y"
+#line 2361 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"le"; }
break;
case 306:
/* Line 1464 of yacc.c */
-#line 2368 "compilers/imcc/imcc.y"
+#line 2370 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 307:
/* Line 1464 of yacc.c */
-#line 2369 "compilers/imcc/imcc.y"
+#line 2371 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (1)].sr); }
break;
case 308:
/* Line 1464 of yacc.c */
-#line 2373 "compilers/imcc/imcc.y"
+#line 2375 "compilers/imcc/imcc.y"
{ (yyval.sr) = IMCC_INFO(interp)->regs[0]; }
break;
case 310:
/* Line 1464 of yacc.c */
-#line 2378 "compilers/imcc/imcc.y"
+#line 2380 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); }
break;
case 311:
/* Line 1464 of yacc.c */
-#line 2380 "compilers/imcc/imcc.y"
+#line 2382 "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);
@@ -5665,7 +5667,7 @@
case 312:
/* Line 1464 of yacc.c */
-#line 2387 "compilers/imcc/imcc.y"
+#line 2389 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(2) - (3)].sr);
(yyval.sr) = (yyvsp[(2) - (3)].sr);
@@ -5675,49 +5677,49 @@
case 314:
/* Line 1464 of yacc.c */
-#line 2394 "compilers/imcc/imcc.y"
+#line 2396 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 315:
/* Line 1464 of yacc.c */
-#line 2395 "compilers/imcc/imcc.y"
+#line 2397 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 316:
/* Line 1464 of yacc.c */
-#line 2399 "compilers/imcc/imcc.y"
+#line 2401 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 317:
/* Line 1464 of yacc.c */
-#line 2400 "compilers/imcc/imcc.y"
+#line 2402 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 318:
/* Line 1464 of yacc.c */
-#line 2404 "compilers/imcc/imcc.y"
+#line 2406 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 319:
/* Line 1464 of yacc.c */
-#line 2405 "compilers/imcc/imcc.y"
+#line 2407 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 324:
/* Line 1464 of yacc.c */
-#line 2419 "compilers/imcc/imcc.y"
+#line 2421 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
}
@@ -5726,7 +5728,7 @@
case 325:
/* Line 1464 of yacc.c */
-#line 2423 "compilers/imcc/imcc.y"
+#line 2425 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
@@ -5737,7 +5739,7 @@
case 326:
/* Line 1464 of yacc.c */
-#line 2431 "compilers/imcc/imcc.y"
+#line 2433 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
}
@@ -5746,7 +5748,7 @@
case 327:
/* Line 1464 of yacc.c */
-#line 2435 "compilers/imcc/imcc.y"
+#line 2437 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
@@ -5757,14 +5759,14 @@
case 328:
/* Line 1464 of yacc.c */
-#line 2443 "compilers/imcc/imcc.y"
+#line 2445 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); }
break;
case 329:
/* Line 1464 of yacc.c */
-#line 2445 "compilers/imcc/imcc.y"
+#line 2447 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
(yyval.sr) = IMCC_INFO(interp)->keys[0];
@@ -5774,7 +5776,7 @@
case 330:
/* Line 1464 of yacc.c */
-#line 2453 "compilers/imcc/imcc.y"
+#line 2455 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(1) - (1)].sr);
}
@@ -5783,70 +5785,70 @@
case 331:
/* Line 1464 of yacc.c */
-#line 2459 "compilers/imcc/imcc.y"
+#line 2461 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); }
break;
case 332:
/* Line 1464 of yacc.c */
-#line 2460 "compilers/imcc/imcc.y"
+#line 2462 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); }
break;
case 333:
/* Line 1464 of yacc.c */
-#line 2461 "compilers/imcc/imcc.y"
+#line 2463 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
case 334:
/* Line 1464 of yacc.c */
-#line 2462 "compilers/imcc/imcc.y"
+#line 2464 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); }
break;
case 335:
/* Line 1464 of yacc.c */
-#line 2463 "compilers/imcc/imcc.y"
+#line 2465 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 336:
/* Line 1464 of yacc.c */
-#line 2467 "compilers/imcc/imcc.y"
+#line 2469 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 337:
/* Line 1464 of yacc.c */
-#line 2468 "compilers/imcc/imcc.y"
+#line 2470 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 338:
/* Line 1464 of yacc.c */
-#line 2469 "compilers/imcc/imcc.y"
+#line 2471 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 339:
/* Line 1464 of yacc.c */
-#line 2470 "compilers/imcc/imcc.y"
+#line 2472 "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 5839 "compilers/imcc/imcparser.c"
+#line 5841 "compilers/imcc/imcparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6058,7 +6060,7 @@
/* Line 1684 of yacc.c */
-#line 2476 "compilers/imcc/imcc.y"
+#line 2478 "compilers/imcc/imcc.y"
/* I need this prototype somewhere... */
Modified: trunk/t/compilers/imcc/syn/pcc.t
==============================================================================
--- trunk/t/compilers/imcc/syn/pcc.t Sun May 9 05:42:43 2010 (r46430)
+++ trunk/t/compilers/imcc/syn/pcc.t Sun May 9 06:10:47 2010 (r46431)
@@ -621,7 +621,7 @@
xyz:<\>
OUT
-pir_output_is( <<'CODE', <<'OUT', ':named should default to param name', todo=>'TT #1152');
+pir_output_is( <<'CODE', <<'OUT', ':named should default to param name');
.sub main
$I0 = 'incr'('value'=>3)
say $I0
Modified: trunk/t/compilers/imcc/syn/regressions.t
==============================================================================
--- trunk/t/compilers/imcc/syn/regressions.t Sun May 9 05:42:43 2010 (r46430)
+++ trunk/t/compilers/imcc/syn/regressions.t Sun May 9 06:10:47 2010 (r46431)
@@ -254,7 +254,7 @@
bar()
.end
CODE
-/:opt_flag parameter must be of type 'I', not '$invalid_type'/
+/:opt_flag parameter must be of type 'int', not '$invalid_type'/
OUT
}
More information about the parrot-commits
mailing list