[svn:parrot] r39835 - in trunk: compilers/imcc config/gen/makefiles
petdance at svn.parrot.org
petdance at svn.parrot.org
Tue Jun 30 03:42:11 UTC 2009
Author: petdance
Date: Tue Jun 30 03:42:09 2009
New Revision: 39835
URL: https://trac.parrot.org/parrot/changeset/39835
Log:
no longer tries to headerize on imcc.y directly. Add lots of splint macros to imcc.y
Modified:
trunk/compilers/imcc/imc.h
trunk/compilers/imcc/imcc.y
trunk/compilers/imcc/imcparser.c
trunk/compilers/imcc/imcparser.h
trunk/compilers/imcc/instructions.c
trunk/compilers/imcc/instructions.h
trunk/compilers/imcc/pbc.h
trunk/compilers/imcc/reg_alloc.c
trunk/config/gen/makefiles/root.in
Modified: trunk/compilers/imcc/imc.h
==============================================================================
--- trunk/compilers/imcc/imc.h Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/imc.h Tue Jun 30 03:42:09 2009 (r39835)
@@ -61,43 +61,6 @@
#define N_ELEMENTS(x) (sizeof (x)/sizeof ((x)[0]))
-/* HEADERIZER BEGIN: compilers/imcc/imcc.y */
-/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-
-PARROT_CANNOT_RETURN_NULL
-Instruction * IMCC_create_itcall_label(PARROT_INTERP)
- __attribute__nonnull__(1);
-
-void IMCC_itcall_sub(PARROT_INTERP, ARGIN(SymReg *sub))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PARROT_CANNOT_RETURN_NULL
-Instruction * INS_LABEL(PARROT_INTERP,
- ARGMOD_NULLOK(IMC_Unit *unit),
- ARGMOD(SymReg *r0),
- int emit)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*unit)
- FUNC_MODIFIES(*r0);
-
-#define ASSERT_ARGS_IMCC_create_itcall_label __attribute__unused__ int _ASSERT_ARGS_CHECK = \
- PARROT_ASSERT_ARG(interp)
-#define ASSERT_ARGS_IMCC_itcall_sub __attribute__unused__ int _ASSERT_ARGS_CHECK = \
- PARROT_ASSERT_ARG(interp) \
- || PARROT_ASSERT_ARG(sub)
-#define ASSERT_ARGS_INS_LABEL __attribute__unused__ int _ASSERT_ARGS_CHECK = \
- PARROT_ASSERT_ARG(interp) \
- || PARROT_ASSERT_ARG(r0)
-/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-/* HEADERIZER END: compilers/imcc/imcc.y */
-
-
-/*
- * imc.c
- */
-
/* HEADERIZER BEGIN: compilers/imcc/imc.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
@@ -148,6 +111,7 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*unit);
+PARROT_WARN_UNUSED_RESULT
unsigned int ig_test(int i, int j, int N, ARGIN(unsigned int *graph))
__attribute__nonnull__(4);
@@ -293,7 +257,9 @@
__attribute__nonnull__(3)
FUNC_MODIFIES(*error_message);
-int imcc_vfprintf(PARROT_INTERP,
+PARROT_IGNORABLE_RESULT
+int /*@alt void@*/
+imcc_vfprintf(PARROT_INTERP,
ARGMOD(PMC *io),
ARGIN(const char *format),
va_list ap)
Modified: trunk/compilers/imcc/imcc.y
==============================================================================
--- trunk/compilers/imcc/imcc.y Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/imcc.y Tue Jun 30 03:42:09 2009 (r39835)
@@ -132,6 +132,7 @@
FUNC_MODIFIES(*unit)
FUNC_MODIFIES(*r);
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction * iINDEXFETCH(PARROT_INTERP,
ARGMOD(IMC_Unit *unit),
@@ -145,6 +146,7 @@
__attribute__nonnull__(5)
FUNC_MODIFIES(*unit);
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction * iINDEXSET(PARROT_INTERP,
ARGMOD(IMC_Unit *unit),
@@ -158,6 +160,7 @@
__attribute__nonnull__(5)
FUNC_MODIFIES(*unit);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction * iLABEL(PARROT_INTERP,
ARGMOD_NULLOK(IMC_Unit *unit),
@@ -172,6 +175,7 @@
static const char * inv_op(ARGIN(const char *op))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction * iSUBROUTINE(PARROT_INTERP,
ARGMOD_NULLOK(IMC_Unit *unit),
@@ -223,11 +227,13 @@
FUNC_MODIFIES(*unit)
FUNC_MODIFIES(*left);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg * mk_sub_address_fromc(PARROT_INTERP, ARGIN(const char *name))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg * mk_sub_address_u(PARROT_INTERP, ARGIN(const char *name))
__attribute__nonnull__(1)
@@ -385,7 +391,7 @@
for (p = opname, q = fmt; *q && *q != ' ';)
*p++ = *q++;
- *p = 0;
+ *p = '\0';
if (!*q)
fmt = NULL;
else
@@ -585,6 +591,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
Instruction *
INS_LABEL(PARROT_INTERP, ARGMOD_NULLOK(IMC_Unit *unit), ARGMOD(SymReg *r0), int emit)
@@ -609,6 +616,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction *
iLABEL(PARROT_INTERP, ARGMOD_NULLOK(IMC_Unit *unit), ARGMOD(SymReg *r0))
@@ -630,7 +638,7 @@
*/
-
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction *
iSUBROUTINE(PARROT_INTERP, ARGMOD_NULLOK(IMC_Unit *unit), ARGMOD(SymReg *r))
@@ -659,6 +667,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction *
iINDEXFETCH(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(SymReg *r0), ARGIN(SymReg *r1),
@@ -680,6 +689,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction *
iINDEXSET(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(SymReg *r0), ARGIN(SymReg *r1),
@@ -723,6 +733,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
Instruction *
IMCC_create_itcall_label(PARROT_INTERP)
@@ -752,6 +763,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg *
mk_sub_address_fromc(PARROT_INTERP, ARGIN(const char *name))
@@ -776,6 +788,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg *
mk_sub_address_u(PARROT_INTERP, ARGIN(const char *name))
@@ -1771,7 +1784,7 @@
}
| STRINGC ADV_ARROW var
{
- SymReg *name = mk_const(interp, $1, 'S');
+ SymReg * const name = mk_const(interp, $1, 'S');
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, name, $3);
}
| var_returns COMMA arg
@@ -1832,7 +1845,7 @@
label:
LABEL
{
- Instruction *i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, $1));
+ Instruction * const i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, $1));
mem_sys_free($1);
$$ = i;
}
@@ -1855,14 +1868,14 @@
id_list :
id_list_id
{
- IdList* l = $1;
+ IdList* const l = $1;
l->next = NULL;
$$ = l;
}
| id_list COMMA id_list_id
{
- IdList* l = $3;
+ IdList* const l = $3;
l->next = $1;
$$ = l;
}
@@ -1905,13 +1918,13 @@
}
| LEXICAL STRINGC COMMA target
{
- SymReg *n = mk_const(interp, $2, 'S');
+ SymReg * const n = mk_const(interp, $2, 'S');
set_lexical(interp, $4, n); $$ = 0;
mem_sys_free($2);
}
| LEXICAL USTRINGC COMMA target
{
- SymReg *n = mk_const(interp, $2, 'U');
+ SymReg * const n = mk_const(interp, $2, 'U');
set_lexical(interp, $4, n); $$ = 0;
mem_sys_free($2);
}
Modified: trunk/compilers/imcc/imcparser.c
==============================================================================
--- trunk/compilers/imcc/imcparser.c Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/imcparser.c Tue Jun 30 03:42:09 2009 (r39835)
@@ -456,6 +456,7 @@
FUNC_MODIFIES(*unit)
FUNC_MODIFIES(*r);
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction * iINDEXFETCH(PARROT_INTERP,
ARGMOD(IMC_Unit *unit),
@@ -469,6 +470,7 @@
__attribute__nonnull__(5)
FUNC_MODIFIES(*unit);
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction * iINDEXSET(PARROT_INTERP,
ARGMOD(IMC_Unit *unit),
@@ -482,6 +484,7 @@
__attribute__nonnull__(5)
FUNC_MODIFIES(*unit);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction * iLABEL(PARROT_INTERP,
ARGMOD_NULLOK(IMC_Unit *unit),
@@ -496,6 +499,7 @@
static const char * inv_op(ARGIN(const char *op))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction * iSUBROUTINE(PARROT_INTERP,
ARGMOD_NULLOK(IMC_Unit *unit),
@@ -547,11 +551,13 @@
FUNC_MODIFIES(*unit)
FUNC_MODIFIES(*left);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg * mk_sub_address_fromc(PARROT_INTERP, ARGIN(const char *name))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg * mk_sub_address_u(PARROT_INTERP, ARGIN(const char *name))
__attribute__nonnull__(1)
@@ -709,7 +715,7 @@
for (p = opname, q = fmt; *q && *q != ' ';)
*p++ = *q++;
- *p = 0;
+ *p = '\0';
if (!*q)
fmt = NULL;
else
@@ -909,6 +915,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
Instruction *
INS_LABEL(PARROT_INTERP, ARGMOD_NULLOK(IMC_Unit *unit), ARGMOD(SymReg *r0), int emit)
@@ -933,6 +940,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction *
iLABEL(PARROT_INTERP, ARGMOD_NULLOK(IMC_Unit *unit), ARGMOD(SymReg *r0))
@@ -954,7 +962,7 @@
*/
-
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static Instruction *
iSUBROUTINE(PARROT_INTERP, ARGMOD_NULLOK(IMC_Unit *unit), ARGMOD(SymReg *r))
@@ -983,6 +991,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction *
iINDEXFETCH(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(SymReg *r0), ARGIN(SymReg *r1),
@@ -1004,6 +1013,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static Instruction *
iINDEXSET(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(SymReg *r0), ARGIN(SymReg *r1),
@@ -1047,6 +1057,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
Instruction *
IMCC_create_itcall_label(PARROT_INTERP)
@@ -1076,6 +1087,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg *
mk_sub_address_fromc(PARROT_INTERP, ARGIN(const char *name))
@@ -1100,6 +1112,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static SymReg *
mk_sub_address_u(PARROT_INTERP, ARGIN(const char *name))
@@ -1376,7 +1389,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 1035 "compilers/imcc/imcc.y"
+#line 1048 "compilers/imcc/imcc.y"
{
IdList * idlist;
int t;
@@ -1384,8 +1397,8 @@
SymReg * sr;
Instruction *i;
}
-/* Line 187 of yacc.c. */
-#line 1378 "compilers/imcc/imcparser.c"
+/* Line 193 of yacc.c. */
+#line 1391 "compilers/imcc/imcparser.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -1398,7 +1411,7 @@
/* Line 216 of yacc.c. */
-#line 1391 "compilers/imcc/imcparser.c"
+#line 1404 "compilers/imcc/imcparser.c"
#ifdef short
# undef short
@@ -1819,40 +1832,40 @@
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1130, 1130, 1134, 1135, 1139, 1140, 1141, 1147, 1153,
- 1154, 1155, 1156, 1160, 1161, 1170, 1176, 1184, 1196, 1209,
- 1209, 1218, 1218, 1225, 1225, 1234, 1235, 1239, 1240, 1244,
- 1245, 1246, 1247, 1248, 1249, 1250, 1253, 1253, 1262, 1261,
- 1274, 1278, 1287, 1291, 1295, 1295, 1307, 1309, 1313, 1328,
- 1336, 1341, 1345, 1349, 1340, 1361, 1362, 1363, 1376, 1376,
- 1380, 1394, 1398, 1404, 1413, 1419, 1428, 1434, 1443, 1449,
- 1458, 1466, 1471, 1482, 1485, 1490, 1498, 1499, 1500, 1501,
- 1502, 1513, 1524, 1527, 1529, 1534, 1533, 1566, 1567, 1571,
- 1572, 1576, 1577, 1581, 1582, 1586, 1587, 1588, 1589, 1590,
- 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1603,
- 1608, 1612, 1617, 1621, 1625, 1630, 1639, 1640, 1644, 1649,
- 1650, 1658, 1659, 1659, 1674, 1675, 1679, 1680, 1681, 1682,
- 1683, 1684, 1685, 1690, 1690, 1693, 1701, 1701, 1707, 1708,
- 1713, 1721, 1722, 1727, 1735, 1739, 1744, 1743, 1756, 1757,
- 1761, 1762, 1772, 1777, 1787, 1796, 1797, 1809, 1813, 1815,
- 1816, 1817, 1818, 1819, 1823, 1824, 1828, 1829, 1833, 1844,
- 1845, 1856, 1863, 1872, 1882, 1883, 1888, 1889, 1890, 1890,
- 1906, 1912, 1918, 1918, 1925, 1926, 1926, 1932, 1938, 1942,
- 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1964, 1965, 1966,
- 1970, 1983, 1985, 1987, 1989, 1991, 1996, 1999, 2006, 2005,
- 2014, 2015, 2016, 2017, 2025, 2026, 2027, 2031, 2032, 2033,
- 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043,
- 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053,
- 2059, 2058, 2070, 2077, 2078, 2079, 2080, 2081, 2082, 2083,
- 2084, 2085, 2086, 2087, 2088, 2089, 2094, 2105, 2106, 2107,
- 2108, 2114, 2128, 2134, 2140, 2146, 2145, 2154, 2155, 2165,
- 2175, 2182, 2187, 2197, 2201, 2202, 2206, 2207, 2210, 2211,
- 2215, 2219, 2229, 2235, 2245, 2250, 2254, 2255, 2259, 2263,
- 2267, 2274, 2278, 2282, 2289, 2290, 2294, 2295, 2296, 2297,
- 2298, 2299, 2303, 2304, 2308, 2309, 2313, 2314, 2318, 2319,
- 2326, 2333, 2334, 2335, 2339, 2340, 2344, 2345, 2349, 2350,
- 2354, 2355, 2359, 2359, 2372, 2372, 2385, 2386, 2394, 2403,
- 2404, 2405, 2406, 2407, 2411, 2412, 2413, 2414
+ 0, 1143, 1143, 1147, 1148, 1152, 1153, 1154, 1160, 1166,
+ 1167, 1168, 1169, 1173, 1174, 1183, 1189, 1197, 1209, 1222,
+ 1222, 1231, 1231, 1238, 1238, 1247, 1248, 1252, 1253, 1257,
+ 1258, 1259, 1260, 1261, 1262, 1263, 1266, 1266, 1275, 1274,
+ 1287, 1291, 1300, 1304, 1308, 1308, 1320, 1322, 1326, 1341,
+ 1349, 1354, 1358, 1362, 1353, 1374, 1375, 1376, 1389, 1389,
+ 1393, 1407, 1411, 1417, 1426, 1432, 1441, 1447, 1456, 1462,
+ 1471, 1479, 1484, 1495, 1498, 1503, 1511, 1512, 1513, 1514,
+ 1515, 1526, 1537, 1540, 1542, 1547, 1546, 1579, 1580, 1584,
+ 1585, 1589, 1590, 1594, 1595, 1599, 1600, 1601, 1602, 1603,
+ 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1616,
+ 1621, 1625, 1630, 1634, 1638, 1643, 1652, 1653, 1657, 1662,
+ 1663, 1671, 1672, 1672, 1687, 1688, 1692, 1693, 1694, 1695,
+ 1696, 1697, 1698, 1703, 1703, 1706, 1714, 1714, 1720, 1721,
+ 1726, 1734, 1735, 1740, 1748, 1752, 1757, 1756, 1769, 1770,
+ 1774, 1775, 1785, 1790, 1800, 1809, 1810, 1822, 1826, 1828,
+ 1829, 1830, 1831, 1832, 1836, 1837, 1841, 1842, 1846, 1857,
+ 1858, 1869, 1876, 1885, 1895, 1896, 1901, 1902, 1903, 1903,
+ 1919, 1925, 1931, 1931, 1938, 1939, 1939, 1945, 1951, 1955,
+ 1967, 1968, 1969, 1970, 1971, 1972, 1976, 1977, 1978, 1979,
+ 1983, 1996, 1998, 2000, 2002, 2004, 2009, 2012, 2019, 2018,
+ 2027, 2028, 2029, 2030, 2038, 2039, 2040, 2044, 2045, 2046,
+ 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056,
+ 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066,
+ 2072, 2071, 2083, 2090, 2091, 2092, 2093, 2094, 2095, 2096,
+ 2097, 2098, 2099, 2100, 2101, 2102, 2107, 2118, 2119, 2120,
+ 2121, 2127, 2141, 2147, 2153, 2159, 2158, 2167, 2168, 2178,
+ 2188, 2195, 2200, 2210, 2214, 2215, 2219, 2220, 2223, 2224,
+ 2228, 2232, 2242, 2248, 2258, 2263, 2267, 2268, 2272, 2276,
+ 2280, 2287, 2291, 2295, 2302, 2303, 2307, 2308, 2309, 2310,
+ 2311, 2312, 2316, 2317, 2321, 2322, 2326, 2327, 2331, 2332,
+ 2339, 2346, 2347, 2348, 2352, 2353, 2357, 2358, 2362, 2363,
+ 2367, 2368, 2372, 2372, 2385, 2385, 2398, 2399, 2407, 2416,
+ 2417, 2418, 2419, 2420, 2424, 2425, 2426, 2427
};
#endif
@@ -3206,22 +3219,22 @@
switch (yyn)
{
case 2:
-#line 1130 "compilers/imcc/imcc.y"
+#line 1143 "compilers/imcc/imcc.y"
{ if (yynerrs) YYABORT; (yyval.i) = 0; }
break;
case 5:
-#line 1139 "compilers/imcc/imcc.y"
+#line 1152 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 6:
-#line 1140 "compilers/imcc/imcc.y"
+#line 1153 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 7:
-#line 1142 "compilers/imcc/imcc.y"
+#line 1155 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3230,7 +3243,7 @@
break;
case 8:
-#line 1148 "compilers/imcc/imcc.y"
+#line 1161 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3239,32 +3252,32 @@
break;
case 9:
-#line 1153 "compilers/imcc/imcc.y"
+#line 1166 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 10:
-#line 1154 "compilers/imcc/imcc.y"
+#line 1167 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 11:
-#line 1155 "compilers/imcc/imcc.y"
+#line 1168 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 12:
-#line 1156 "compilers/imcc/imcc.y"
+#line 1169 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 13:
-#line 1160 "compilers/imcc/imcc.y"
+#line 1173 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 14:
-#line 1162 "compilers/imcc/imcc.y"
+#line 1175 "compilers/imcc/imcc.y"
{
(yyval.i) = 0;
do_loadlib(interp, (yyvsp[(2) - (3)].s));
@@ -3273,7 +3286,7 @@
break;
case 15:
-#line 1171 "compilers/imcc/imcc.y"
+#line 1184 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->line = atoi((yyvsp[(2) - (5)].s));
/* set_filename() frees the STRINGC */
@@ -3282,7 +3295,7 @@
break;
case 16:
-#line 1177 "compilers/imcc/imcc.y"
+#line 1190 "compilers/imcc/imcc.y"
{
/* set_filename() frees the STRINGC */
set_filename(interp, (yyvsp[(2) - (3)].s));
@@ -3290,7 +3303,7 @@
break;
case 17:
-#line 1185 "compilers/imcc/imcc.y"
+#line 1198 "compilers/imcc/imcc.y"
{
/* We'll want to store an entry while emitting instructions, so just
* store annotation like it's an instruction. */
@@ -3301,7 +3314,7 @@
break;
case 18:
-#line 1197 "compilers/imcc/imcc.y"
+#line 1210 "compilers/imcc/imcc.y"
{
STRING * const hll_name = Parrot_str_unescape(interp, (yyvsp[(2) - (2)].s) + 1, '"', NULL);
CONTEXT(interp)->current_HLL =
@@ -3314,12 +3327,12 @@
break;
case 19:
-#line 1209 "compilers/imcc/imcc.y"
+#line 1222 "compilers/imcc/imcc.y"
{ pesky_global__is_def = 1; }
break;
case 20:
-#line 1210 "compilers/imcc/imcc.y"
+#line 1223 "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));
@@ -3328,12 +3341,12 @@
break;
case 21:
-#line 1218 "compilers/imcc/imcc.y"
+#line 1231 "compilers/imcc/imcc.y"
{ pesky_global__is_def=1; }
break;
case 22:
-#line 1219 "compilers/imcc/imcc.y"
+#line 1232 "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));
@@ -3342,12 +3355,12 @@
break;
case 23:
-#line 1225 "compilers/imcc/imcc.y"
+#line 1238 "compilers/imcc/imcc.y"
{ pesky_global__is_def=1; }
break;
case 24:
-#line 1226 "compilers/imcc/imcc.y"
+#line 1239 "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));
@@ -3357,37 +3370,37 @@
break;
case 29:
-#line 1244 "compilers/imcc/imcc.y"
+#line 1257 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 30:
-#line 1245 "compilers/imcc/imcc.y"
+#line 1258 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 31:
-#line 1246 "compilers/imcc/imcc.y"
+#line 1259 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 32:
-#line 1247 "compilers/imcc/imcc.y"
+#line 1260 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 33:
-#line 1248 "compilers/imcc/imcc.y"
+#line 1261 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 36:
-#line 1253 "compilers/imcc/imcc.y"
+#line 1266 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 37:
-#line 1255 "compilers/imcc/imcc.y"
+#line 1268 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp, IMCC_INFO(interp)->cur_unit,
(yyvsp[(2) - (3)].s), 0, IMCC_INFO(interp)->regs,
@@ -3397,7 +3410,7 @@
break;
case 38:
-#line 1262 "compilers/imcc/imcc.y"
+#line 1275 "compilers/imcc/imcc.y"
{
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM);
@@ -3405,7 +3418,7 @@
break;
case 39:
-#line 1267 "compilers/imcc/imcc.y"
+#line 1280 "compilers/imcc/imcc.y"
{
(yyval.i) = iSUBROUTINE(interp,
IMCC_INFO(interp)->cur_unit,
@@ -3416,14 +3429,14 @@
break;
case 40:
-#line 1275 "compilers/imcc/imcc.y"
+#line 1288 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr));
}
break;
case 41:
-#line 1279 "compilers/imcc/imcc.y"
+#line 1292 "compilers/imcc/imcc.y"
{
SymReg *r = mk_pasm_reg(interp, (yyvsp[(4) - (4)].s));
SymReg *n = mk_const(interp, (yyvsp[(2) - (4)].s), 'S');
@@ -3435,17 +3448,17 @@
break;
case 42:
-#line 1287 "compilers/imcc/imcc.y"
+#line 1300 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 44:
-#line 1295 "compilers/imcc/imcc.y"
+#line 1308 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); }
break;
case 45:
-#line 1298 "compilers/imcc/imcc.y"
+#line 1311 "compilers/imcc/imcc.y"
{
/* if (optimizer_level & OPT_PASM)
imc_compile_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3456,7 +3469,7 @@
break;
case 48:
-#line 1314 "compilers/imcc/imcc.y"
+#line 1327 "compilers/imcc/imcc.y"
{
int re_open = 0;
(yyval.i) = 0;
@@ -3471,7 +3484,7 @@
break;
case 49:
-#line 1329 "compilers/imcc/imcc.y"
+#line 1342 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->in_slice)
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
@@ -3482,26 +3495,26 @@
break;
case 50:
-#line 1336 "compilers/imcc/imcc.y"
+#line 1349 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 51:
-#line 1341 "compilers/imcc/imcc.y"
+#line 1354 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
}
break;
case 52:
-#line 1345 "compilers/imcc/imcc.y"
+#line 1358 "compilers/imcc/imcc.y"
{
iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr));
}
break;
case 53:
-#line 1349 "compilers/imcc/imcc.y"
+#line 1362 "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) {
@@ -3512,22 +3525,22 @@
break;
case 54:
-#line 1357 "compilers/imcc/imcc.y"
+#line 1370 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 55:
-#line 1361 "compilers/imcc/imcc.y"
+#line 1374 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 56:
-#line 1362 "compilers/imcc/imcc.y"
+#line 1375 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 57:
-#line 1364 "compilers/imcc/imcc.y"
+#line 1377 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_param(IMCC_INFO(interp)->cur_call,
@@ -3540,17 +3553,17 @@
break;
case 58:
-#line 1376 "compilers/imcc/imcc.y"
+#line 1389 "compilers/imcc/imcc.y"
{ pesky_global__is_def=1; }
break;
case 59:
-#line 1376 "compilers/imcc/imcc.y"
+#line 1389 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(3) - (3)].sr); pesky_global__is_def=0; }
break;
case 60:
-#line 1381 "compilers/imcc/imcc.y"
+#line 1394 "compilers/imcc/imcc.y"
{
if ((yyvsp[(3) - (3)].t) & VT_UNIQUE_REG)
(yyval.sr) = mk_ident_ur(interp, (yyvsp[(2) - (3)].s), (yyvsp[(1) - (3)].t));
@@ -3562,12 +3575,12 @@
break;
case 61:
-#line 1394 "compilers/imcc/imcc.y"
+#line 1407 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 62:
-#line 1399 "compilers/imcc/imcc.y"
+#line 1412 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->outer = mk_sub_address_fromc(interp, (yyvsp[(3) - (4)].s));
@@ -3576,7 +3589,7 @@
break;
case 63:
-#line 1405 "compilers/imcc/imcc.y"
+#line 1418 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->outer = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
@@ -3585,7 +3598,7 @@
break;
case 64:
-#line 1414 "compilers/imcc/imcc.y"
+#line 1427 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = NULL;
@@ -3594,7 +3607,7 @@
break;
case 65:
-#line 1420 "compilers/imcc/imcc.y"
+#line 1433 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = (yyvsp[(3) - (4)].s);
@@ -3603,7 +3616,7 @@
break;
case 66:
-#line 1429 "compilers/imcc/imcc.y"
+#line 1442 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = NULL;
@@ -3612,7 +3625,7 @@
break;
case 67:
-#line 1435 "compilers/imcc/imcc.y"
+#line 1448 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = (yyvsp[(3) - (4)].s);
@@ -3621,7 +3634,7 @@
break;
case 68:
-#line 1444 "compilers/imcc/imcc.y"
+#line 1457 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
@@ -3630,7 +3643,7 @@
break;
case 69:
-#line 1450 "compilers/imcc/imcc.y"
+#line 1463 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->ns_entry_name = (yyvsp[(3) - (4)].s);
@@ -3639,7 +3652,7 @@
break;
case 70:
-#line 1459 "compilers/imcc/imcc.y"
+#line 1472 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->instance_of = (yyvsp[(3) - (4)].s);
@@ -3647,7 +3660,7 @@
break;
case 71:
-#line 1467 "compilers/imcc/imcc.y"
+#line 1480 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->subid = NULL;
@@ -3655,7 +3668,7 @@
break;
case 72:
-#line 1472 "compilers/imcc/imcc.y"
+#line 1485 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->subid = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
@@ -3665,14 +3678,14 @@
break;
case 73:
-#line 1482 "compilers/imcc/imcc.y"
+#line 1495 "compilers/imcc/imcc.y"
{
add_pcc_multi(IMCC_INFO(interp)->cur_call, NULL);
}
break;
case 74:
-#line 1486 "compilers/imcc/imcc.y"
+#line 1499 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
@@ -3680,7 +3693,7 @@
break;
case 75:
-#line 1491 "compilers/imcc/imcc.y"
+#line 1504 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
@@ -3688,27 +3701,27 @@
break;
case 76:
-#line 1498 "compilers/imcc/imcc.y"
+#line 1511 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "INTVAL", 'S'); }
break;
case 77:
-#line 1499 "compilers/imcc/imcc.y"
+#line 1512 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); }
break;
case 78:
-#line 1500 "compilers/imcc/imcc.y"
+#line 1513 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "PMC", 'S'); }
break;
case 79:
-#line 1501 "compilers/imcc/imcc.y"
+#line 1514 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "STRING", 'S'); }
break;
case 80:
-#line 1503 "compilers/imcc/imcc.y"
+#line 1516 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_") != 0)
@@ -3722,7 +3735,7 @@
break;
case 81:
-#line 1514 "compilers/imcc/imcc.y"
+#line 1527 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_") != 0)
@@ -3736,12 +3749,12 @@
break;
case 82:
-#line 1524 "compilers/imcc/imcc.y"
+#line 1537 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 85:
-#line 1534 "compilers/imcc/imcc.y"
+#line 1547 "compilers/imcc/imcc.y"
{
char name[128];
SymReg *r, *r1;
@@ -3768,82 +3781,82 @@
break;
case 86:
-#line 1562 "compilers/imcc/imcc.y"
+#line 1575 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 87:
-#line 1566 "compilers/imcc/imcc.y"
+#line 1579 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; }
break;
case 88:
-#line 1567 "compilers/imcc/imcc.y"
+#line 1580 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; }
break;
case 89:
-#line 1571 "compilers/imcc/imcc.y"
+#line 1584 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 90:
-#line 1572 "compilers/imcc/imcc.y"
+#line 1585 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); }
break;
case 91:
-#line 1576 "compilers/imcc/imcc.y"
+#line 1589 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 93:
-#line 1581 "compilers/imcc/imcc.y"
+#line 1594 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (1)].t); }
break;
case 94:
-#line 1582 "compilers/imcc/imcc.y"
+#line 1595 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 95:
-#line 1586 "compilers/imcc/imcc.y"
+#line 1599 "compilers/imcc/imcc.y"
{ (yyval.t) = P_LOAD; }
break;
case 96:
-#line 1587 "compilers/imcc/imcc.y"
+#line 1600 "compilers/imcc/imcc.y"
{ (yyval.t) = P_INIT; }
break;
case 97:
-#line 1588 "compilers/imcc/imcc.y"
+#line 1601 "compilers/imcc/imcc.y"
{ (yyval.t) = P_MAIN; }
break;
case 98:
-#line 1589 "compilers/imcc/imcc.y"
+#line 1602 "compilers/imcc/imcc.y"
{ (yyval.t) = P_IMMEDIATE; }
break;
case 99:
-#line 1590 "compilers/imcc/imcc.y"
+#line 1603 "compilers/imcc/imcc.y"
{ (yyval.t) = P_POSTCOMP; }
break;
case 100:
-#line 1591 "compilers/imcc/imcc.y"
+#line 1604 "compilers/imcc/imcc.y"
{ (yyval.t) = P_ANON; }
break;
case 101:
-#line 1592 "compilers/imcc/imcc.y"
+#line 1605 "compilers/imcc/imcc.y"
{ (yyval.t) = P_NEED_LEX; }
break;
case 109:
-#line 1604 "compilers/imcc/imcc.y"
+#line 1617 "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));
@@ -3851,14 +3864,14 @@
break;
case 110:
-#line 1609 "compilers/imcc/imcc.y"
+#line 1622 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
}
break;
case 111:
-#line 1613 "compilers/imcc/imcc.y"
+#line 1626 "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;
@@ -3866,21 +3879,21 @@
break;
case 112:
-#line 1618 "compilers/imcc/imcc.y"
+#line 1631 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
}
break;
case 113:
-#line 1622 "compilers/imcc/imcc.y"
+#line 1635 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S'));
}
break;
case 114:
-#line 1626 "compilers/imcc/imcc.y"
+#line 1639 "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));
@@ -3888,7 +3901,7 @@
break;
case 115:
-#line 1631 "compilers/imcc/imcc.y"
+#line 1644 "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));
@@ -3896,27 +3909,27 @@
break;
case 116:
-#line 1639 "compilers/imcc/imcc.y"
+#line 1652 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 117:
-#line 1640 "compilers/imcc/imcc.y"
+#line 1653 "compilers/imcc/imcc.y"
{ add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
break;
case 118:
-#line 1644 "compilers/imcc/imcc.y"
+#line 1657 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (2)].sr); }
break;
case 119:
-#line 1649 "compilers/imcc/imcc.y"
+#line 1662 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 120:
-#line 1651 "compilers/imcc/imcc.y"
+#line 1664 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -3924,17 +3937,17 @@
break;
case 121:
-#line 1658 "compilers/imcc/imcc.y"
+#line 1671 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 122:
-#line 1659 "compilers/imcc/imcc.y"
+#line 1672 "compilers/imcc/imcc.y"
{ pesky_global__is_def=1; }
break;
case 123:
-#line 1660 "compilers/imcc/imcc.y"
+#line 1673 "compilers/imcc/imcc.y"
{
IdList * const l = (yyvsp[(4) - (4)].idlist);
SymReg *ignored;
@@ -3949,62 +3962,62 @@
break;
case 124:
-#line 1674 "compilers/imcc/imcc.y"
+#line 1687 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 125:
-#line 1675 "compilers/imcc/imcc.y"
+#line 1688 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 126:
-#line 1679 "compilers/imcc/imcc.y"
+#line 1692 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 127:
-#line 1680 "compilers/imcc/imcc.y"
+#line 1693 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPTIONAL; }
break;
case 128:
-#line 1681 "compilers/imcc/imcc.y"
+#line 1694 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPT_FLAG; }
break;
case 129:
-#line 1682 "compilers/imcc/imcc.y"
+#line 1695 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 130:
-#line 1683 "compilers/imcc/imcc.y"
+#line 1696 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 131:
-#line 1684 "compilers/imcc/imcc.y"
+#line 1697 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 132:
-#line 1685 "compilers/imcc/imcc.y"
+#line 1698 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_UNIQUE_REG; }
break;
case 133:
-#line 1690 "compilers/imcc/imcc.y"
+#line 1703 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 0); }
break;
case 134:
-#line 1692 "compilers/imcc/imcc.y"
+#line 1705 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 135:
-#line 1694 "compilers/imcc/imcc.y"
+#line 1707 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
(yyval.i) = 0;
@@ -4012,22 +4025,22 @@
break;
case 136:
-#line 1701 "compilers/imcc/imcc.y"
+#line 1714 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 1); }
break;
case 137:
-#line 1703 "compilers/imcc/imcc.y"
+#line 1716 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 138:
-#line 1707 "compilers/imcc/imcc.y"
+#line 1720 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 139:
-#line 1709 "compilers/imcc/imcc.y"
+#line 1722 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
@@ -4035,7 +4048,7 @@
break;
case 140:
-#line 1714 "compilers/imcc/imcc.y"
+#line 1727 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
@@ -4043,12 +4056,12 @@
break;
case 141:
-#line 1721 "compilers/imcc/imcc.y"
+#line 1734 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 142:
-#line 1723 "compilers/imcc/imcc.y"
+#line 1736 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
@@ -4056,7 +4069,7 @@
break;
case 143:
-#line 1728 "compilers/imcc/imcc.y"
+#line 1741 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
@@ -4064,17 +4077,17 @@
break;
case 144:
-#line 1735 "compilers/imcc/imcc.y"
+#line 1748 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 145:
-#line 1739 "compilers/imcc/imcc.y"
+#line 1752 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 146:
-#line 1744 "compilers/imcc/imcc.y"
+#line 1757 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->asm_state == AsmDefault)
begin_return_or_yield(interp, (yyvsp[(1) - (2)].t));
@@ -4082,7 +4095,7 @@
break;
case 147:
-#line 1749 "compilers/imcc/imcc.y"
+#line 1762 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
(yyval.t) = 0;
@@ -4090,22 +4103,22 @@
break;
case 148:
-#line 1756 "compilers/imcc/imcc.y"
+#line 1769 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 149:
-#line 1757 "compilers/imcc/imcc.y"
+#line 1770 "compilers/imcc/imcc.y"
{ (yyval.t) = 1; }
break;
case 150:
-#line 1761 "compilers/imcc/imcc.y"
+#line 1774 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 151:
-#line 1763 "compilers/imcc/imcc.y"
+#line 1776 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
@@ -4118,15 +4131,15 @@
break;
case 152:
-#line 1773 "compilers/imcc/imcc.y"
+#line 1786 "compilers/imcc/imcc.y"
{
- SymReg *name = mk_const(interp, (yyvsp[(1) - (3)].s), 'S');
+ 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));
}
break;
case 153:
-#line 1778 "compilers/imcc/imcc.y"
+#line 1791 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
@@ -4139,7 +4152,7 @@
break;
case 154:
-#line 1788 "compilers/imcc/imcc.y"
+#line 1801 "compilers/imcc/imcc.y"
{
SymReg *name = mk_const(interp, (yyvsp[(3) - (5)].s), 'S');
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, name, (yyvsp[(5) - (5)].sr));
@@ -4147,61 +4160,61 @@
break;
case 157:
-#line 1809 "compilers/imcc/imcc.y"
+#line 1822 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 158:
-#line 1814 "compilers/imcc/imcc.y"
+#line 1827 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (2)].i); }
break;
case 159:
-#line 1815 "compilers/imcc/imcc.y"
+#line 1828 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 160:
-#line 1816 "compilers/imcc/imcc.y"
+#line 1829 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 161:
-#line 1817 "compilers/imcc/imcc.y"
+#line 1830 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 162:
-#line 1818 "compilers/imcc/imcc.y"
+#line 1831 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 163:
-#line 1819 "compilers/imcc/imcc.y"
+#line 1832 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 164:
-#line 1823 "compilers/imcc/imcc.y"
+#line 1836 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 168:
-#line 1834 "compilers/imcc/imcc.y"
+#line 1847 "compilers/imcc/imcc.y"
{
- Instruction *i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, (yyvsp[(1) - (1)].s)));
+ 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));
(yyval.i) = i;
}
break;
case 169:
-#line 1844 "compilers/imcc/imcc.y"
+#line 1857 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (3)].i); }
break;
case 170:
-#line 1846 "compilers/imcc/imcc.y"
+#line 1859 "compilers/imcc/imcc.y"
{
if (yynerrs >= PARROT_MAX_RECOVER_ERRORS) {
IMCC_warning(interp, "Too many errors. Correct some first.\n");
@@ -4212,25 +4225,25 @@
break;
case 171:
-#line 1857 "compilers/imcc/imcc.y"
+#line 1870 "compilers/imcc/imcc.y"
{
- IdList* l = (yyvsp[(1) - (1)].idlist);
+ IdList* const l = (yyvsp[(1) - (1)].idlist);
l->next = NULL;
(yyval.idlist) = l;
}
break;
case 172:
-#line 1864 "compilers/imcc/imcc.y"
+#line 1877 "compilers/imcc/imcc.y"
{
- IdList* l = (yyvsp[(3) - (3)].idlist);
+ IdList* const l = (yyvsp[(3) - (3)].idlist);
l->next = (yyvsp[(1) - (3)].idlist);
(yyval.idlist) = l;
}
break;
case 173:
-#line 1873 "compilers/imcc/imcc.y"
+#line 1886 "compilers/imcc/imcc.y"
{
IdList* const l = mem_allocate_n_zeroed_typed(1, IdList);
l->id = (yyvsp[(1) - (2)].s);
@@ -4240,22 +4253,22 @@
break;
case 174:
-#line 1882 "compilers/imcc/imcc.y"
+#line 1895 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 175:
-#line 1883 "compilers/imcc/imcc.y"
+#line 1896 "compilers/imcc/imcc.y"
{ (yyval.t) = 1; }
break;
case 178:
-#line 1890 "compilers/imcc/imcc.y"
+#line 1903 "compilers/imcc/imcc.y"
{ pesky_global__is_def=1; }
break;
case 179:
-#line 1891 "compilers/imcc/imcc.y"
+#line 1904 "compilers/imcc/imcc.y"
{
IdList *l = (yyvsp[(4) - (4)].idlist);
while (l) {
@@ -4274,30 +4287,30 @@
break;
case 180:
-#line 1907 "compilers/imcc/imcc.y"
+#line 1920 "compilers/imcc/imcc.y"
{
- SymReg *n = mk_const(interp, (yyvsp[(2) - (4)].s), 'S');
+ SymReg * const n = mk_const(interp, (yyvsp[(2) - (4)].s), 'S');
set_lexical(interp, (yyvsp[(4) - (4)].sr), n); (yyval.i) = 0;
mem_sys_free((yyvsp[(2) - (4)].s));
}
break;
case 181:
-#line 1913 "compilers/imcc/imcc.y"
+#line 1926 "compilers/imcc/imcc.y"
{
- SymReg *n = mk_const(interp, (yyvsp[(2) - (4)].s), 'U');
+ SymReg * const n = mk_const(interp, (yyvsp[(2) - (4)].s), 'U');
set_lexical(interp, (yyvsp[(4) - (4)].sr), n); (yyval.i) = 0;
mem_sys_free((yyvsp[(2) - (4)].s));
}
break;
case 182:
-#line 1918 "compilers/imcc/imcc.y"
+#line 1931 "compilers/imcc/imcc.y"
{ pesky_global__is_def=1; }
break;
case 183:
-#line 1919 "compilers/imcc/imcc.y"
+#line 1932 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0);
pesky_global__is_def=0;
@@ -4306,12 +4319,12 @@
break;
case 185:
-#line 1926 "compilers/imcc/imcc.y"
+#line 1939 "compilers/imcc/imcc.y"
{ pesky_global__is_def=1; }
break;
case 186:
-#line 1927 "compilers/imcc/imcc.y"
+#line 1940 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
pesky_global__is_def=0;
@@ -4320,7 +4333,7 @@
break;
case 187:
-#line 1933 "compilers/imcc/imcc.y"
+#line 1946 "compilers/imcc/imcc.y"
{
(yyval.i) = NULL;
IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isTAIL_CALL;
@@ -4329,14 +4342,14 @@
break;
case 188:
-#line 1939 "compilers/imcc/imcc.y"
+#line 1952 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr));
}
break;
case 189:
-#line 1943 "compilers/imcc/imcc.y"
+#line 1956 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp,
IMCC_INFO(interp)->cur_unit,
@@ -4351,47 +4364,47 @@
break;
case 190:
-#line 1954 "compilers/imcc/imcc.y"
+#line 1967 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); }
break;
case 191:
-#line 1955 "compilers/imcc/imcc.y"
+#line 1968 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 192:
-#line 1956 "compilers/imcc/imcc.y"
+#line 1969 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 195:
-#line 1959 "compilers/imcc/imcc.y"
+#line 1972 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 196:
-#line 1963 "compilers/imcc/imcc.y"
+#line 1976 "compilers/imcc/imcc.y"
{ (yyval.t) = 'I'; }
break;
case 197:
-#line 1964 "compilers/imcc/imcc.y"
+#line 1977 "compilers/imcc/imcc.y"
{ (yyval.t) = 'N'; }
break;
case 198:
-#line 1965 "compilers/imcc/imcc.y"
+#line 1978 "compilers/imcc/imcc.y"
{ (yyval.t) = 'S'; }
break;
case 199:
-#line 1966 "compilers/imcc/imcc.y"
+#line 1979 "compilers/imcc/imcc.y"
{ (yyval.t) = 'P'; }
break;
case 200:
-#line 1971 "compilers/imcc/imcc.y"
+#line 1984 "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 */
@@ -4404,37 +4417,37 @@
break;
case 201:
-#line 1984 "compilers/imcc/imcc.y"
+#line 1997 "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 1986 "compilers/imcc/imcc.y"
+#line 1999 "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 1988 "compilers/imcc/imcc.y"
+#line 2001 "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 1990 "compilers/imcc/imcc.y"
+#line 2003 "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 1992 "compilers/imcc/imcc.y"
+#line 2005 "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 1997 "compilers/imcc/imcc.y"
+#line 2010 "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 207:
-#line 2000 "compilers/imcc/imcc.y"
+#line 2013 "compilers/imcc/imcc.y"
{
add_pcc_result((yyvsp[(3) - (3)].i)->symregs[0], (yyvsp[(1) - (3)].sr));
IMCC_INFO(interp)->cur_call = NULL;
@@ -4443,14 +4456,14 @@
break;
case 208:
-#line 2006 "compilers/imcc/imcc.y"
+#line 2019 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
}
break;
case 209:
-#line 2010 "compilers/imcc/imcc.y"
+#line 2023 "compilers/imcc/imcc.y"
{
IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
IMCC_INFO(interp)->cur_call = NULL;
@@ -4458,144 +4471,144 @@
break;
case 213:
-#line 2018 "compilers/imcc/imcc.y"
+#line 2031 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(1) - (3)].sr));
}
break;
case 214:
-#line 2025 "compilers/imcc/imcc.y"
+#line 2038 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"not"; }
break;
case 215:
-#line 2026 "compilers/imcc/imcc.y"
+#line 2039 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bnot"; }
break;
case 216:
-#line 2027 "compilers/imcc/imcc.y"
+#line 2040 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"neg"; }
break;
case 217:
-#line 2031 "compilers/imcc/imcc.y"
+#line 2044 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 218:
-#line 2032 "compilers/imcc/imcc.y"
+#line 2045 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 219:
-#line 2033 "compilers/imcc/imcc.y"
+#line 2046 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 220:
-#line 2034 "compilers/imcc/imcc.y"
+#line 2047 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 221:
-#line 2035 "compilers/imcc/imcc.y"
+#line 2048 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 222:
-#line 2036 "compilers/imcc/imcc.y"
+#line 2049 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 223:
-#line 2037 "compilers/imcc/imcc.y"
+#line 2050 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"pow"; }
break;
case 224:
-#line 2038 "compilers/imcc/imcc.y"
+#line 2051 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 225:
-#line 2039 "compilers/imcc/imcc.y"
+#line 2052 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"iseq"; }
break;
case 226:
-#line 2040 "compilers/imcc/imcc.y"
+#line 2053 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isne"; }
break;
case 227:
-#line 2041 "compilers/imcc/imcc.y"
+#line 2054 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isgt"; }
break;
case 228:
-#line 2042 "compilers/imcc/imcc.y"
+#line 2055 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isge"; }
break;
case 229:
-#line 2043 "compilers/imcc/imcc.y"
+#line 2056 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"islt"; }
break;
case 230:
-#line 2044 "compilers/imcc/imcc.y"
+#line 2057 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isle"; }
break;
case 231:
-#line 2045 "compilers/imcc/imcc.y"
+#line 2058 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 232:
-#line 2046 "compilers/imcc/imcc.y"
+#line 2059 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 233:
-#line 2047 "compilers/imcc/imcc.y"
+#line 2060 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 234:
-#line 2048 "compilers/imcc/imcc.y"
+#line 2061 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"and"; }
break;
case 235:
-#line 2049 "compilers/imcc/imcc.y"
+#line 2062 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"or"; }
break;
case 236:
-#line 2050 "compilers/imcc/imcc.y"
+#line 2063 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"xor"; }
break;
case 237:
-#line 2051 "compilers/imcc/imcc.y"
+#line 2064 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 238:
-#line 2052 "compilers/imcc/imcc.y"
+#line 2065 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 239:
-#line 2053 "compilers/imcc/imcc.y"
+#line 2066 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 240:
-#line 2059 "compilers/imcc/imcc.y"
+#line 2072 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
(yyval.i)->type &= ~ITCALL;
@@ -4604,84 +4617,84 @@
break;
case 241:
-#line 2064 "compilers/imcc/imcc.y"
+#line 2077 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 242:
-#line 2071 "compilers/imcc/imcc.y"
+#line 2084 "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 243:
-#line 2077 "compilers/imcc/imcc.y"
+#line 2090 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 244:
-#line 2078 "compilers/imcc/imcc.y"
+#line 2091 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 245:
-#line 2079 "compilers/imcc/imcc.y"
+#line 2092 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 246:
-#line 2080 "compilers/imcc/imcc.y"
+#line 2093 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 247:
-#line 2081 "compilers/imcc/imcc.y"
+#line 2094 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 248:
-#line 2082 "compilers/imcc/imcc.y"
+#line 2095 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 249:
-#line 2083 "compilers/imcc/imcc.y"
+#line 2096 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 250:
-#line 2084 "compilers/imcc/imcc.y"
+#line 2097 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 251:
-#line 2085 "compilers/imcc/imcc.y"
+#line 2098 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 252:
-#line 2086 "compilers/imcc/imcc.y"
+#line 2099 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 253:
-#line 2087 "compilers/imcc/imcc.y"
+#line 2100 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 254:
-#line 2088 "compilers/imcc/imcc.y"
+#line 2101 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 255:
-#line 2089 "compilers/imcc/imcc.y"
+#line 2102 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 256:
-#line 2095 "compilers/imcc/imcc.y"
+#line 2108 "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,
@@ -4692,22 +4705,22 @@
break;
case 257:
-#line 2105 "compilers/imcc/imcc.y"
+#line 2118 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 258:
-#line 2106 "compilers/imcc/imcc.y"
+#line 2119 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 259:
-#line 2107 "compilers/imcc/imcc.y"
+#line 2120 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 260:
-#line 2109 "compilers/imcc/imcc.y"
+#line 2122 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(1) - (1)].sr);
if ((yyvsp[(1) - (1)].sr)->set != 'P')
@@ -4716,7 +4729,7 @@
break;
case 261:
-#line 2115 "compilers/imcc/imcc.y"
+#line 2128 "compilers/imcc/imcc.y"
{
/* disallow bareword method names; SREG name constants are fine */
const char * const name = (yyvsp[(3) - (3)].sr)->name;
@@ -4733,7 +4746,7 @@
break;
case 262:
-#line 2129 "compilers/imcc/imcc.y"
+#line 2142 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
(yyval.sr) = mk_const(interp, (yyvsp[(3) - (3)].s), 'U');
@@ -4742,7 +4755,7 @@
break;
case 263:
-#line 2135 "compilers/imcc/imcc.y"
+#line 2148 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
(yyval.sr) = mk_const(interp, (yyvsp[(3) - (3)].s), 'S');
@@ -4751,12 +4764,12 @@
break;
case 264:
-#line 2140 "compilers/imcc/imcc.y"
+#line 2153 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); }
break;
case 265:
-#line 2146 "compilers/imcc/imcc.y"
+#line 2159 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
IMCC_itcall_sub(interp, (yyvsp[(1) - (1)].sr));
@@ -4764,17 +4777,17 @@
break;
case 266:
-#line 2150 "compilers/imcc/imcc.y"
+#line 2163 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (5)].i); }
break;
case 267:
-#line 2154 "compilers/imcc/imcc.y"
+#line 2167 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 268:
-#line 2156 "compilers/imcc/imcc.y"
+#line 2169 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4787,7 +4800,7 @@
break;
case 269:
-#line 2166 "compilers/imcc/imcc.y"
+#line 2179 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4800,7 +4813,7 @@
break;
case 270:
-#line 2176 "compilers/imcc/imcc.y"
+#line 2189 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg(IMCC_INFO(interp)->cur_call,
@@ -4810,7 +4823,7 @@
break;
case 271:
-#line 2183 "compilers/imcc/imcc.y"
+#line 2196 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg_var(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr));
@@ -4818,7 +4831,7 @@
break;
case 272:
-#line 2188 "compilers/imcc/imcc.y"
+#line 2201 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
add_pcc_named_arg(IMCC_INFO(interp)->cur_call,
@@ -4828,47 +4841,47 @@
break;
case 273:
-#line 2197 "compilers/imcc/imcc.y"
+#line 2210 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 274:
-#line 2201 "compilers/imcc/imcc.y"
+#line 2214 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 275:
-#line 2202 "compilers/imcc/imcc.y"
+#line 2215 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 276:
-#line 2206 "compilers/imcc/imcc.y"
+#line 2219 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 277:
-#line 2207 "compilers/imcc/imcc.y"
+#line 2220 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 278:
-#line 2210 "compilers/imcc/imcc.y"
+#line 2223 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 279:
-#line 2211 "compilers/imcc/imcc.y"
+#line 2224 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 280:
-#line 2215 "compilers/imcc/imcc.y"
+#line 2228 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 281:
-#line 2220 "compilers/imcc/imcc.y"
+#line 2233 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4881,7 +4894,7 @@
break;
case 282:
-#line 2230 "compilers/imcc/imcc.y"
+#line 2243 "compilers/imcc/imcc.y"
{
add_pcc_named_result(IMCC_INFO(interp)->cur_call,
mk_const(interp, (yyvsp[(3) - (5)].s), 'S'), (yyvsp[(5) - (5)].sr));
@@ -4890,7 +4903,7 @@
break;
case 283:
-#line 2236 "compilers/imcc/imcc.y"
+#line 2249 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4903,7 +4916,7 @@
break;
case 284:
-#line 2246 "compilers/imcc/imcc.y"
+#line 2259 "compilers/imcc/imcc.y"
{
add_pcc_named_result(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(1) - (3)].s), 'S'), (yyvsp[(3) - (3)].sr));
mem_sys_free((yyvsp[(1) - (3)].s));
@@ -4911,124 +4924,124 @@
break;
case 285:
-#line 2250 "compilers/imcc/imcc.y"
+#line 2263 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 286:
-#line 2254 "compilers/imcc/imcc.y"
+#line 2267 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 287:
-#line 2255 "compilers/imcc/imcc.y"
+#line 2268 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 288:
-#line 2260 "compilers/imcc/imcc.y"
+#line 2273 "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));
}
break;
case 289:
-#line 2264 "compilers/imcc/imcc.y"
+#line 2277 "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));
}
break;
case 290:
-#line 2268 "compilers/imcc/imcc.y"
+#line 2281 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
}
break;
case 291:
-#line 2275 "compilers/imcc/imcc.y"
+#line 2288 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
}
break;
case 292:
-#line 2279 "compilers/imcc/imcc.y"
+#line 2292 "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));
}
break;
case 293:
-#line 2283 "compilers/imcc/imcc.y"
+#line 2296 "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));
}
break;
case 294:
-#line 2289 "compilers/imcc/imcc.y"
+#line 2302 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 295:
-#line 2290 "compilers/imcc/imcc.y"
+#line 2303 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 296:
-#line 2294 "compilers/imcc/imcc.y"
+#line 2307 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"eq"; }
break;
case 297:
-#line 2295 "compilers/imcc/imcc.y"
+#line 2308 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ne"; }
break;
case 298:
-#line 2296 "compilers/imcc/imcc.y"
+#line 2309 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"gt"; }
break;
case 299:
-#line 2297 "compilers/imcc/imcc.y"
+#line 2310 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ge"; }
break;
case 300:
-#line 2298 "compilers/imcc/imcc.y"
+#line 2311 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lt"; }
break;
case 301:
-#line 2299 "compilers/imcc/imcc.y"
+#line 2312 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"le"; }
break;
case 304:
-#line 2308 "compilers/imcc/imcc.y"
+#line 2321 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 305:
-#line 2309 "compilers/imcc/imcc.y"
+#line 2322 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (1)].sr); }
break;
case 306:
-#line 2313 "compilers/imcc/imcc.y"
+#line 2326 "compilers/imcc/imcc.y"
{ (yyval.sr) = IMCC_INFO(interp)->regs[0]; }
break;
case 308:
-#line 2318 "compilers/imcc/imcc.y"
+#line 2331 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); }
break;
case 309:
-#line 2320 "compilers/imcc/imcc.y"
+#line 2333 "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);
@@ -5038,7 +5051,7 @@
break;
case 310:
-#line 2327 "compilers/imcc/imcc.y"
+#line 2340 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(2) - (3)].sr);
(yyval.sr) = (yyvsp[(2) - (3)].sr);
@@ -5046,37 +5059,37 @@
break;
case 312:
-#line 2334 "compilers/imcc/imcc.y"
+#line 2347 "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 2335 "compilers/imcc/imcc.y"
+#line 2348 "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 2339 "compilers/imcc/imcc.y"
+#line 2352 "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 2340 "compilers/imcc/imcc.y"
+#line 2353 "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 2344 "compilers/imcc/imcc.y"
+#line 2357 "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 2345 "compilers/imcc/imcc.y"
+#line 2358 "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 2359 "compilers/imcc/imcc.y"
+#line 2372 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
IMCC_INFO(interp)->in_slice = 0;
@@ -5084,7 +5097,7 @@
break;
case 323:
-#line 2364 "compilers/imcc/imcc.y"
+#line 2377 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
@@ -5093,7 +5106,7 @@
break;
case 324:
-#line 2372 "compilers/imcc/imcc.y"
+#line 2385 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
IMCC_INFO(interp)->in_slice = 0;
@@ -5101,7 +5114,7 @@
break;
case 325:
-#line 2377 "compilers/imcc/imcc.y"
+#line 2390 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
@@ -5110,12 +5123,12 @@
break;
case 326:
-#line 2385 "compilers/imcc/imcc.y"
+#line 2398 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); }
break;
case 327:
-#line 2387 "compilers/imcc/imcc.y"
+#line 2400 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
(yyval.sr) = IMCC_INFO(interp)->keys[0];
@@ -5123,7 +5136,7 @@
break;
case 328:
-#line 2395 "compilers/imcc/imcc.y"
+#line 2408 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->in_slice)
(yyvsp[(1) - (1)].sr)->type |= VT_START_SLICE | VT_END_SLICE;
@@ -5132,53 +5145,53 @@
break;
case 329:
-#line 2403 "compilers/imcc/imcc.y"
+#line 2416 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); }
break;
case 330:
-#line 2404 "compilers/imcc/imcc.y"
+#line 2417 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); }
break;
case 331:
-#line 2405 "compilers/imcc/imcc.y"
+#line 2418 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
case 332:
-#line 2406 "compilers/imcc/imcc.y"
+#line 2419 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); }
break;
case 333:
-#line 2407 "compilers/imcc/imcc.y"
+#line 2420 "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 2411 "compilers/imcc/imcc.y"
+#line 2424 "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 2412 "compilers/imcc/imcc.y"
+#line 2425 "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 2413 "compilers/imcc/imcc.y"
+#line 2426 "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 2414 "compilers/imcc/imcc.y"
+#line 2427 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
/* Line 1267 of yacc.c. */
-#line 5171 "compilers/imcc/imcparser.c"
+#line 5184 "compilers/imcc/imcparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5392,7 +5405,7 @@
}
-#line 2420 "compilers/imcc/imcc.y"
+#line 2433 "compilers/imcc/imcc.y"
/* I need this prototype somewhere... */
Modified: trunk/compilers/imcc/imcparser.h
==============================================================================
--- trunk/compilers/imcc/imcparser.h Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/imcparser.h Tue Jun 30 03:42:09 2009 (r39835)
@@ -295,7 +295,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 1035 "compilers/imcc/imcc.y"
+#line 1048 "compilers/imcc/imcc.y"
{
IdList * idlist;
int t;
@@ -303,7 +303,7 @@
SymReg * sr;
Instruction *i;
}
-/* Line 1489 of yacc.c. */
+/* Line 1529 of yacc.c. */
#line 297 "compilers/imcc/imcparser.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
Modified: trunk/compilers/imcc/instructions.c
==============================================================================
--- trunk/compilers/imcc/instructions.c Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/instructions.c Tue Jun 30 03:42:09 2009 (r39835)
@@ -665,6 +665,7 @@
*/
#define REGB_SIZE 256
+PARROT_IGNORABLE_RESULT
int
ins_print(PARROT_INTERP, ARGIN(PMC *io), ARGIN(const Instruction *ins))
{
Modified: trunk/compilers/imcc/instructions.h
==============================================================================
--- trunk/compilers/imcc/instructions.h Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/instructions.h Tue Jun 30 03:42:09 2009 (r39835)
@@ -160,7 +160,11 @@
void imcc_init_tables(PARROT_INTERP)
__attribute__nonnull__(1);
-int ins_print(PARROT_INTERP, ARGIN(PMC *io), ARGIN(const Instruction *ins))
+PARROT_IGNORABLE_RESULT
+int /*@alt void@*/
+ins_print(PARROT_INTERP,
+ ARGIN(PMC *io),
+ ARGIN(const Instruction *ins))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3);
Modified: trunk/compilers/imcc/pbc.h
==============================================================================
--- trunk/compilers/imcc/pbc.h Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/pbc.h Tue Jun 30 03:42:09 2009 (r39835)
@@ -31,6 +31,7 @@
int e_pbc_open(PARROT_INTERP, SHIM(void *param))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
INTVAL IMCC_int_from_reg(PARROT_INTERP, ARGIN(const SymReg *r))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
Modified: trunk/compilers/imcc/reg_alloc.c
==============================================================================
--- trunk/compilers/imcc/reg_alloc.c Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/compilers/imcc/reg_alloc.c Tue Jun 30 03:42:09 2009 (r39835)
@@ -72,6 +72,7 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*r);
+PARROT_WARN_UNUSED_RESULT
static unsigned int first_avail(
ARGIN(const IMC_Unit *unit),
int reg_set,
@@ -268,6 +269,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
unsigned int
ig_test(int i, int j, int N, ARGIN(unsigned int *graph))
{
@@ -1119,6 +1121,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static unsigned int
first_avail(ARGIN(const IMC_Unit *unit), int reg_set, ARGOUT_NULLOK(Set **avail))
{
Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in Tue Jun 30 03:40:29 2009 (r39834)
+++ trunk/config/gen/makefiles/root.in Tue Jun 30 03:42:09 2009 (r39835)
@@ -2306,7 +2306,7 @@
$(PIRC_O_FILES)
headerizer : $(SRC_DIR)/core_pmcs.c
- $(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl $(HEADERIZER_O_FILES) $(IMCC_DIR)/imcc.y
+ $(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl $(HEADERIZER_O_FILES)
apilist: $(SRC_DIR)/core_pmcs.c
$(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl --macro=PARROT_EXPORT $(HEADERIZER_O_FILES)
More information about the parrot-commits
mailing list