Commit 2f3d695a authored by Russ Cox's avatar Russ Cox

gc: fix bug introduced earlier

Apparently l and $1 were the same register on Linux.
On the other systems, the compiler caught it.

R=ken2
CC=golang-dev
https://golang.org/cl/5654061
parent 337547d1
...@@ -1422,6 +1422,7 @@ structdcl: ...@@ -1422,6 +1422,7 @@ structdcl:
NodeList *l; NodeList *l;
Node *n; Node *n;
l = $1;
if(l != nil && l->next == nil && l->n == nil) { if(l != nil && l->next == nil && l->n == nil) {
// ? symbol, during import // ? symbol, during import
n = $2; n = $2;
......
...@@ -691,19 +691,19 @@ static const yytype_uint16 yyrline[] = ...@@ -691,19 +691,19 @@ static const yytype_uint16 yyrline[] =
1148, 1154, 1161, 1167, 1174, 1180, 1191, 1202, 1231, 1270, 1148, 1154, 1161, 1167, 1174, 1180, 1191, 1202, 1231, 1270,
1293, 1310, 1319, 1322, 1330, 1334, 1338, 1345, 1351, 1356, 1293, 1310, 1319, 1322, 1330, 1334, 1338, 1345, 1351, 1356,
1368, 1371, 1379, 1380, 1386, 1387, 1393, 1397, 1403, 1404, 1368, 1371, 1379, 1380, 1386, 1387, 1393, 1397, 1403, 1404,
1410, 1414, 1420, 1442, 1447, 1453, 1459, 1466, 1475, 1484, 1410, 1414, 1420, 1443, 1448, 1454, 1460, 1467, 1476, 1485,
1499, 1505, 1510, 1514, 1521, 1534, 1535, 1541, 1547, 1550, 1500, 1506, 1511, 1515, 1522, 1535, 1536, 1542, 1548, 1551,
1554, 1560, 1563, 1572, 1575, 1576, 1580, 1581, 1587, 1588, 1555, 1561, 1564, 1573, 1576, 1577, 1581, 1582, 1588, 1589,
1589, 1590, 1591, 1593, 1592, 1607, 1612, 1616, 1620, 1624, 1590, 1591, 1592, 1594, 1593, 1608, 1613, 1617, 1621, 1625,
1628, 1633, 1652, 1658, 1666, 1670, 1676, 1680, 1686, 1690, 1629, 1634, 1653, 1659, 1667, 1671, 1677, 1681, 1687, 1691,
1696, 1700, 1709, 1713, 1717, 1721, 1727, 1730, 1738, 1739, 1697, 1701, 1710, 1714, 1718, 1722, 1728, 1731, 1739, 1740,
1741, 1742, 1745, 1748, 1751, 1754, 1757, 1760, 1763, 1766, 1742, 1743, 1746, 1749, 1752, 1755, 1758, 1761, 1764, 1767,
1769, 1772, 1775, 1778, 1781, 1784, 1790, 1794, 1798, 1802, 1770, 1773, 1776, 1779, 1782, 1785, 1791, 1795, 1799, 1803,
1806, 1810, 1828, 1835, 1846, 1847, 1848, 1851, 1852, 1855, 1807, 1811, 1829, 1836, 1847, 1848, 1849, 1852, 1853, 1856,
1859, 1869, 1873, 1877, 1881, 1885, 1889, 1893, 1899, 1905, 1860, 1870, 1874, 1878, 1882, 1886, 1890, 1894, 1900, 1906,
1913, 1921, 1927, 1934, 1950, 1968, 1972, 1978, 1981, 1984, 1914, 1922, 1928, 1935, 1951, 1969, 1973, 1979, 1982, 1985,
1988, 1998, 2002, 2017, 2025, 2026, 2036, 2037, 2040, 2044, 1989, 1999, 2003, 2018, 2026, 2027, 2037, 2038, 2041, 2045,
2050, 2054, 2060, 2064 2051, 2055, 2061, 2065
}; };
#endif #endif
...@@ -4270,6 +4270,7 @@ yyreduce: ...@@ -4270,6 +4270,7 @@ yyreduce:
NodeList *l; NodeList *l;
Node *n; Node *n;
l = (yyvsp[(1) - (3)].list);
if(l != nil && l->next == nil && l->n == nil) { if(l != nil && l->next == nil && l->n == nil) {
// ? symbol, during import // ? symbol, during import
n = (yyvsp[(2) - (3)].node); n = (yyvsp[(2) - (3)].node);
...@@ -4292,7 +4293,7 @@ yyreduce: ...@@ -4292,7 +4293,7 @@ yyreduce:
case 223: case 223:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1443 "go.y" #line 1444 "go.y"
{ {
(yyvsp[(1) - (2)].node)->val = (yyvsp[(2) - (2)].val); (yyvsp[(1) - (2)].node)->val = (yyvsp[(2) - (2)].val);
(yyval.list) = list1((yyvsp[(1) - (2)].node)); (yyval.list) = list1((yyvsp[(1) - (2)].node));
...@@ -4302,7 +4303,7 @@ yyreduce: ...@@ -4302,7 +4303,7 @@ yyreduce:
case 224: case 224:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1448 "go.y" #line 1449 "go.y"
{ {
(yyvsp[(2) - (4)].node)->val = (yyvsp[(4) - (4)].val); (yyvsp[(2) - (4)].node)->val = (yyvsp[(4) - (4)].val);
(yyval.list) = list1((yyvsp[(2) - (4)].node)); (yyval.list) = list1((yyvsp[(2) - (4)].node));
...@@ -4313,7 +4314,7 @@ yyreduce: ...@@ -4313,7 +4314,7 @@ yyreduce:
case 225: case 225:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1454 "go.y" #line 1455 "go.y"
{ {
(yyvsp[(2) - (3)].node)->right = nod(OIND, (yyvsp[(2) - (3)].node)->right, N); (yyvsp[(2) - (3)].node)->right = nod(OIND, (yyvsp[(2) - (3)].node)->right, N);
(yyvsp[(2) - (3)].node)->val = (yyvsp[(3) - (3)].val); (yyvsp[(2) - (3)].node)->val = (yyvsp[(3) - (3)].val);
...@@ -4324,7 +4325,7 @@ yyreduce: ...@@ -4324,7 +4325,7 @@ yyreduce:
case 226: case 226:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1460 "go.y" #line 1461 "go.y"
{ {
(yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N); (yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N);
(yyvsp[(3) - (5)].node)->val = (yyvsp[(5) - (5)].val); (yyvsp[(3) - (5)].node)->val = (yyvsp[(5) - (5)].val);
...@@ -4336,7 +4337,7 @@ yyreduce: ...@@ -4336,7 +4337,7 @@ yyreduce:
case 227: case 227:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1467 "go.y" #line 1468 "go.y"
{ {
(yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N); (yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N);
(yyvsp[(3) - (5)].node)->val = (yyvsp[(5) - (5)].val); (yyvsp[(3) - (5)].node)->val = (yyvsp[(5) - (5)].val);
...@@ -4348,7 +4349,7 @@ yyreduce: ...@@ -4348,7 +4349,7 @@ yyreduce:
case 228: case 228:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1476 "go.y" #line 1477 "go.y"
{ {
Node *n; Node *n;
...@@ -4362,7 +4363,7 @@ yyreduce: ...@@ -4362,7 +4363,7 @@ yyreduce:
case 229: case 229:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1485 "go.y" #line 1486 "go.y"
{ {
Pkg *pkg; Pkg *pkg;
...@@ -4380,7 +4381,7 @@ yyreduce: ...@@ -4380,7 +4381,7 @@ yyreduce:
case 230: case 230:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1500 "go.y" #line 1501 "go.y"
{ {
(yyval.node) = embedded((yyvsp[(1) - (1)].sym)); (yyval.node) = embedded((yyvsp[(1) - (1)].sym));
} }
...@@ -4389,7 +4390,7 @@ yyreduce: ...@@ -4389,7 +4390,7 @@ yyreduce:
case 231: case 231:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1506 "go.y" #line 1507 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); (yyval.node) = nod(ODCLFIELD, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
ifacedcl((yyval.node)); ifacedcl((yyval.node));
...@@ -4399,7 +4400,7 @@ yyreduce: ...@@ -4399,7 +4400,7 @@ yyreduce:
case 232: case 232:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1511 "go.y" #line 1512 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(1) - (1)].sym))); (yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(1) - (1)].sym)));
} }
...@@ -4408,7 +4409,7 @@ yyreduce: ...@@ -4408,7 +4409,7 @@ yyreduce:
case 233: case 233:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1515 "go.y" #line 1516 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(2) - (3)].sym))); (yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(2) - (3)].sym)));
yyerror("cannot parenthesize embedded type"); yyerror("cannot parenthesize embedded type");
...@@ -4418,7 +4419,7 @@ yyreduce: ...@@ -4418,7 +4419,7 @@ yyreduce:
case 234: case 234:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1522 "go.y" #line 1523 "go.y"
{ {
// without func keyword // without func keyword
(yyvsp[(2) - (4)].list) = checkarglist((yyvsp[(2) - (4)].list), 1); (yyvsp[(2) - (4)].list) = checkarglist((yyvsp[(2) - (4)].list), 1);
...@@ -4431,7 +4432,7 @@ yyreduce: ...@@ -4431,7 +4432,7 @@ yyreduce:
case 236: case 236:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1536 "go.y" #line 1537 "go.y"
{ {
(yyval.node) = nod(ONONAME, N, N); (yyval.node) = nod(ONONAME, N, N);
(yyval.node)->sym = (yyvsp[(1) - (2)].sym); (yyval.node)->sym = (yyvsp[(1) - (2)].sym);
...@@ -4442,7 +4443,7 @@ yyreduce: ...@@ -4442,7 +4443,7 @@ yyreduce:
case 237: case 237:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1542 "go.y" #line 1543 "go.y"
{ {
(yyval.node) = nod(ONONAME, N, N); (yyval.node) = nod(ONONAME, N, N);
(yyval.node)->sym = (yyvsp[(1) - (2)].sym); (yyval.node)->sym = (yyvsp[(1) - (2)].sym);
...@@ -4453,7 +4454,7 @@ yyreduce: ...@@ -4453,7 +4454,7 @@ yyreduce:
case 239: case 239:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1551 "go.y" #line 1552 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -4462,7 +4463,7 @@ yyreduce: ...@@ -4462,7 +4463,7 @@ yyreduce:
case 240: case 240:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1555 "go.y" #line 1556 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -4471,7 +4472,7 @@ yyreduce: ...@@ -4471,7 +4472,7 @@ yyreduce:
case 241: case 241:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1560 "go.y" #line 1561 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
} }
...@@ -4480,7 +4481,7 @@ yyreduce: ...@@ -4480,7 +4481,7 @@ yyreduce:
case 242: case 242:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1564 "go.y" #line 1565 "go.y"
{ {
(yyval.list) = (yyvsp[(1) - (2)].list); (yyval.list) = (yyvsp[(1) - (2)].list);
} }
...@@ -4489,7 +4490,7 @@ yyreduce: ...@@ -4489,7 +4490,7 @@ yyreduce:
case 243: case 243:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1572 "go.y" #line 1573 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
} }
...@@ -4498,7 +4499,7 @@ yyreduce: ...@@ -4498,7 +4499,7 @@ yyreduce:
case 245: case 245:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1577 "go.y" #line 1578 "go.y"
{ {
(yyval.node) = liststmt((yyvsp[(1) - (1)].list)); (yyval.node) = liststmt((yyvsp[(1) - (1)].list));
} }
...@@ -4507,7 +4508,7 @@ yyreduce: ...@@ -4507,7 +4508,7 @@ yyreduce:
case 247: case 247:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1582 "go.y" #line 1583 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
} }
...@@ -4516,7 +4517,7 @@ yyreduce: ...@@ -4516,7 +4517,7 @@ yyreduce:
case 253: case 253:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1593 "go.y" #line 1594 "go.y"
{ {
(yyvsp[(1) - (2)].node) = nod(OLABEL, (yyvsp[(1) - (2)].node), N); (yyvsp[(1) - (2)].node) = nod(OLABEL, (yyvsp[(1) - (2)].node), N);
(yyvsp[(1) - (2)].node)->sym = dclstack; // context, for goto restrictions (yyvsp[(1) - (2)].node)->sym = dclstack; // context, for goto restrictions
...@@ -4526,7 +4527,7 @@ yyreduce: ...@@ -4526,7 +4527,7 @@ yyreduce:
case 254: case 254:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1598 "go.y" #line 1599 "go.y"
{ {
NodeList *l; NodeList *l;
...@@ -4541,7 +4542,7 @@ yyreduce: ...@@ -4541,7 +4542,7 @@ yyreduce:
case 255: case 255:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1608 "go.y" #line 1609 "go.y"
{ {
// will be converted to OFALL // will be converted to OFALL
(yyval.node) = nod(OXFALL, N, N); (yyval.node) = nod(OXFALL, N, N);
...@@ -4551,7 +4552,7 @@ yyreduce: ...@@ -4551,7 +4552,7 @@ yyreduce:
case 256: case 256:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1613 "go.y" #line 1614 "go.y"
{ {
(yyval.node) = nod(OBREAK, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OBREAK, (yyvsp[(2) - (2)].node), N);
} }
...@@ -4560,7 +4561,7 @@ yyreduce: ...@@ -4560,7 +4561,7 @@ yyreduce:
case 257: case 257:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1617 "go.y" #line 1618 "go.y"
{ {
(yyval.node) = nod(OCONTINUE, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OCONTINUE, (yyvsp[(2) - (2)].node), N);
} }
...@@ -4569,7 +4570,7 @@ yyreduce: ...@@ -4569,7 +4570,7 @@ yyreduce:
case 258: case 258:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1621 "go.y" #line 1622 "go.y"
{ {
(yyval.node) = nod(OPROC, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OPROC, (yyvsp[(2) - (2)].node), N);
} }
...@@ -4578,7 +4579,7 @@ yyreduce: ...@@ -4578,7 +4579,7 @@ yyreduce:
case 259: case 259:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1625 "go.y" #line 1626 "go.y"
{ {
(yyval.node) = nod(ODEFER, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(ODEFER, (yyvsp[(2) - (2)].node), N);
} }
...@@ -4587,7 +4588,7 @@ yyreduce: ...@@ -4587,7 +4588,7 @@ yyreduce:
case 260: case 260:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1629 "go.y" #line 1630 "go.y"
{ {
(yyval.node) = nod(OGOTO, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OGOTO, (yyvsp[(2) - (2)].node), N);
(yyval.node)->sym = dclstack; // context, for goto restrictions (yyval.node)->sym = dclstack; // context, for goto restrictions
...@@ -4597,7 +4598,7 @@ yyreduce: ...@@ -4597,7 +4598,7 @@ yyreduce:
case 261: case 261:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1634 "go.y" #line 1635 "go.y"
{ {
(yyval.node) = nod(ORETURN, N, N); (yyval.node) = nod(ORETURN, N, N);
(yyval.node)->list = (yyvsp[(2) - (2)].list); (yyval.node)->list = (yyvsp[(2) - (2)].list);
...@@ -4619,7 +4620,7 @@ yyreduce: ...@@ -4619,7 +4620,7 @@ yyreduce:
case 262: case 262:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1653 "go.y" #line 1654 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
if((yyvsp[(1) - (1)].node) != N) if((yyvsp[(1) - (1)].node) != N)
...@@ -4630,7 +4631,7 @@ yyreduce: ...@@ -4630,7 +4631,7 @@ yyreduce:
case 263: case 263:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1659 "go.y" #line 1660 "go.y"
{ {
(yyval.list) = (yyvsp[(1) - (3)].list); (yyval.list) = (yyvsp[(1) - (3)].list);
if((yyvsp[(3) - (3)].node) != N) if((yyvsp[(3) - (3)].node) != N)
...@@ -4641,7 +4642,7 @@ yyreduce: ...@@ -4641,7 +4642,7 @@ yyreduce:
case 264: case 264:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1667 "go.y" #line 1668 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -4650,7 +4651,7 @@ yyreduce: ...@@ -4650,7 +4651,7 @@ yyreduce:
case 265: case 265:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1671 "go.y" #line 1672 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -4659,7 +4660,7 @@ yyreduce: ...@@ -4659,7 +4660,7 @@ yyreduce:
case 266: case 266:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1677 "go.y" #line 1678 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -4668,7 +4669,7 @@ yyreduce: ...@@ -4668,7 +4669,7 @@ yyreduce:
case 267: case 267:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1681 "go.y" #line 1682 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -4677,7 +4678,7 @@ yyreduce: ...@@ -4677,7 +4678,7 @@ yyreduce:
case 268: case 268:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1687 "go.y" #line 1688 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -4686,7 +4687,7 @@ yyreduce: ...@@ -4686,7 +4687,7 @@ yyreduce:
case 269: case 269:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1691 "go.y" #line 1692 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -4695,7 +4696,7 @@ yyreduce: ...@@ -4695,7 +4696,7 @@ yyreduce:
case 270: case 270:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1697 "go.y" #line 1698 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -4704,7 +4705,7 @@ yyreduce: ...@@ -4704,7 +4705,7 @@ yyreduce:
case 271: case 271:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1701 "go.y" #line 1702 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -4713,7 +4714,7 @@ yyreduce: ...@@ -4713,7 +4714,7 @@ yyreduce:
case 272: case 272:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1710 "go.y" #line 1711 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -4722,7 +4723,7 @@ yyreduce: ...@@ -4722,7 +4723,7 @@ yyreduce:
case 273: case 273:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1714 "go.y" #line 1715 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -4731,7 +4732,7 @@ yyreduce: ...@@ -4731,7 +4732,7 @@ yyreduce:
case 274: case 274:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1718 "go.y" #line 1719 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -4740,7 +4741,7 @@ yyreduce: ...@@ -4740,7 +4741,7 @@ yyreduce:
case 275: case 275:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1722 "go.y" #line 1723 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -4749,7 +4750,7 @@ yyreduce: ...@@ -4749,7 +4750,7 @@ yyreduce:
case 276: case 276:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1727 "go.y" #line 1728 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
} }
...@@ -4758,7 +4759,7 @@ yyreduce: ...@@ -4758,7 +4759,7 @@ yyreduce:
case 277: case 277:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1731 "go.y" #line 1732 "go.y"
{ {
(yyval.list) = (yyvsp[(1) - (2)].list); (yyval.list) = (yyvsp[(1) - (2)].list);
} }
...@@ -4767,7 +4768,7 @@ yyreduce: ...@@ -4767,7 +4768,7 @@ yyreduce:
case 282: case 282:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1745 "go.y" #line 1746 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
} }
...@@ -4776,7 +4777,7 @@ yyreduce: ...@@ -4776,7 +4777,7 @@ yyreduce:
case 284: case 284:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1751 "go.y" #line 1752 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
} }
...@@ -4785,7 +4786,7 @@ yyreduce: ...@@ -4785,7 +4786,7 @@ yyreduce:
case 286: case 286:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1757 "go.y" #line 1758 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
} }
...@@ -4794,7 +4795,7 @@ yyreduce: ...@@ -4794,7 +4795,7 @@ yyreduce:
case 288: case 288:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1763 "go.y" #line 1764 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
} }
...@@ -4803,7 +4804,7 @@ yyreduce: ...@@ -4803,7 +4804,7 @@ yyreduce:
case 290: case 290:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1769 "go.y" #line 1770 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
} }
...@@ -4812,7 +4813,7 @@ yyreduce: ...@@ -4812,7 +4813,7 @@ yyreduce:
case 292: case 292:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1775 "go.y" #line 1776 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
} }
...@@ -4821,7 +4822,7 @@ yyreduce: ...@@ -4821,7 +4822,7 @@ yyreduce:
case 294: case 294:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1781 "go.y" #line 1782 "go.y"
{ {
(yyval.val).ctype = CTxxx; (yyval.val).ctype = CTxxx;
} }
...@@ -4830,7 +4831,7 @@ yyreduce: ...@@ -4830,7 +4831,7 @@ yyreduce:
case 296: case 296:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1791 "go.y" #line 1792 "go.y"
{ {
importimport((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].val).u.sval); importimport((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].val).u.sval);
} }
...@@ -4839,7 +4840,7 @@ yyreduce: ...@@ -4839,7 +4840,7 @@ yyreduce:
case 297: case 297:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1795 "go.y" #line 1796 "go.y"
{ {
importvar((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].type)); importvar((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].type));
} }
...@@ -4848,7 +4849,7 @@ yyreduce: ...@@ -4848,7 +4849,7 @@ yyreduce:
case 298: case 298:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1799 "go.y" #line 1800 "go.y"
{ {
importconst((yyvsp[(2) - (5)].sym), types[TIDEAL], (yyvsp[(4) - (5)].node)); importconst((yyvsp[(2) - (5)].sym), types[TIDEAL], (yyvsp[(4) - (5)].node));
} }
...@@ -4857,7 +4858,7 @@ yyreduce: ...@@ -4857,7 +4858,7 @@ yyreduce:
case 299: case 299:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1803 "go.y" #line 1804 "go.y"
{ {
importconst((yyvsp[(2) - (6)].sym), (yyvsp[(3) - (6)].type), (yyvsp[(5) - (6)].node)); importconst((yyvsp[(2) - (6)].sym), (yyvsp[(3) - (6)].type), (yyvsp[(5) - (6)].node));
} }
...@@ -4866,7 +4867,7 @@ yyreduce: ...@@ -4866,7 +4867,7 @@ yyreduce:
case 300: case 300:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1807 "go.y" #line 1808 "go.y"
{ {
importtype((yyvsp[(2) - (4)].type), (yyvsp[(3) - (4)].type)); importtype((yyvsp[(2) - (4)].type), (yyvsp[(3) - (4)].type));
} }
...@@ -4875,7 +4876,7 @@ yyreduce: ...@@ -4875,7 +4876,7 @@ yyreduce:
case 301: case 301:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1811 "go.y" #line 1812 "go.y"
{ {
if((yyvsp[(2) - (4)].node) == N) if((yyvsp[(2) - (4)].node) == N)
break; break;
...@@ -4896,7 +4897,7 @@ yyreduce: ...@@ -4896,7 +4897,7 @@ yyreduce:
case 302: case 302:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1829 "go.y" #line 1830 "go.y"
{ {
(yyval.sym) = (yyvsp[(1) - (1)].sym); (yyval.sym) = (yyvsp[(1) - (1)].sym);
structpkg = (yyval.sym)->pkg; structpkg = (yyval.sym)->pkg;
...@@ -4906,7 +4907,7 @@ yyreduce: ...@@ -4906,7 +4907,7 @@ yyreduce:
case 303: case 303:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1836 "go.y" #line 1837 "go.y"
{ {
(yyval.type) = pkgtype((yyvsp[(1) - (1)].sym)); (yyval.type) = pkgtype((yyvsp[(1) - (1)].sym));
importsym((yyvsp[(1) - (1)].sym), OTYPE); importsym((yyvsp[(1) - (1)].sym), OTYPE);
...@@ -4916,7 +4917,7 @@ yyreduce: ...@@ -4916,7 +4917,7 @@ yyreduce:
case 309: case 309:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1856 "go.y" #line 1857 "go.y"
{ {
(yyval.type) = pkgtype((yyvsp[(1) - (1)].sym)); (yyval.type) = pkgtype((yyvsp[(1) - (1)].sym));
} }
...@@ -4925,7 +4926,7 @@ yyreduce: ...@@ -4925,7 +4926,7 @@ yyreduce:
case 310: case 310:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1860 "go.y" #line 1861 "go.y"
{ {
// predefined name like uint8 // predefined name like uint8
(yyvsp[(1) - (1)].sym) = pkglookup((yyvsp[(1) - (1)].sym)->name, builtinpkg); (yyvsp[(1) - (1)].sym) = pkglookup((yyvsp[(1) - (1)].sym)->name, builtinpkg);
...@@ -4940,7 +4941,7 @@ yyreduce: ...@@ -4940,7 +4941,7 @@ yyreduce:
case 311: case 311:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1870 "go.y" #line 1871 "go.y"
{ {
(yyval.type) = aindex(N, (yyvsp[(3) - (3)].type)); (yyval.type) = aindex(N, (yyvsp[(3) - (3)].type));
} }
...@@ -4949,7 +4950,7 @@ yyreduce: ...@@ -4949,7 +4950,7 @@ yyreduce:
case 312: case 312:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1874 "go.y" #line 1875 "go.y"
{ {
(yyval.type) = aindex(nodlit((yyvsp[(2) - (4)].val)), (yyvsp[(4) - (4)].type)); (yyval.type) = aindex(nodlit((yyvsp[(2) - (4)].val)), (yyvsp[(4) - (4)].type));
} }
...@@ -4958,7 +4959,7 @@ yyreduce: ...@@ -4958,7 +4959,7 @@ yyreduce:
case 313: case 313:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1878 "go.y" #line 1879 "go.y"
{ {
(yyval.type) = maptype((yyvsp[(3) - (5)].type), (yyvsp[(5) - (5)].type)); (yyval.type) = maptype((yyvsp[(3) - (5)].type), (yyvsp[(5) - (5)].type));
} }
...@@ -4967,7 +4968,7 @@ yyreduce: ...@@ -4967,7 +4968,7 @@ yyreduce:
case 314: case 314:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1882 "go.y" #line 1883 "go.y"
{ {
(yyval.type) = tostruct((yyvsp[(3) - (4)].list)); (yyval.type) = tostruct((yyvsp[(3) - (4)].list));
} }
...@@ -4976,7 +4977,7 @@ yyreduce: ...@@ -4976,7 +4977,7 @@ yyreduce:
case 315: case 315:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1886 "go.y" #line 1887 "go.y"
{ {
(yyval.type) = tointerface((yyvsp[(3) - (4)].list)); (yyval.type) = tointerface((yyvsp[(3) - (4)].list));
} }
...@@ -4985,7 +4986,7 @@ yyreduce: ...@@ -4985,7 +4986,7 @@ yyreduce:
case 316: case 316:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1890 "go.y" #line 1891 "go.y"
{ {
(yyval.type) = ptrto((yyvsp[(2) - (2)].type)); (yyval.type) = ptrto((yyvsp[(2) - (2)].type));
} }
...@@ -4994,7 +4995,7 @@ yyreduce: ...@@ -4994,7 +4995,7 @@ yyreduce:
case 317: case 317:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1894 "go.y" #line 1895 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
(yyval.type)->type = (yyvsp[(2) - (2)].type); (yyval.type)->type = (yyvsp[(2) - (2)].type);
...@@ -5005,7 +5006,7 @@ yyreduce: ...@@ -5005,7 +5006,7 @@ yyreduce:
case 318: case 318:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1900 "go.y" #line 1901 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
(yyval.type)->type = (yyvsp[(3) - (4)].type); (yyval.type)->type = (yyvsp[(3) - (4)].type);
...@@ -5016,7 +5017,7 @@ yyreduce: ...@@ -5016,7 +5017,7 @@ yyreduce:
case 319: case 319:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1906 "go.y" #line 1907 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
(yyval.type)->type = (yyvsp[(3) - (3)].type); (yyval.type)->type = (yyvsp[(3) - (3)].type);
...@@ -5027,7 +5028,7 @@ yyreduce: ...@@ -5027,7 +5028,7 @@ yyreduce:
case 320: case 320:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1914 "go.y" #line 1915 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
(yyval.type)->type = (yyvsp[(3) - (3)].type); (yyval.type)->type = (yyvsp[(3) - (3)].type);
...@@ -5038,7 +5039,7 @@ yyreduce: ...@@ -5038,7 +5039,7 @@ yyreduce:
case 321: case 321:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1922 "go.y" #line 1923 "go.y"
{ {
(yyval.type) = functype(nil, (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list)); (yyval.type) = functype(nil, (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list));
} }
...@@ -5047,7 +5048,7 @@ yyreduce: ...@@ -5047,7 +5048,7 @@ yyreduce:
case 322: case 322:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1928 "go.y" #line 1929 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(2) - (3)].type))); (yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(2) - (3)].type)));
if((yyvsp[(1) - (3)].sym)) if((yyvsp[(1) - (3)].sym))
...@@ -5059,7 +5060,7 @@ yyreduce: ...@@ -5059,7 +5060,7 @@ yyreduce:
case 323: case 323:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1935 "go.y" #line 1936 "go.y"
{ {
Type *t; Type *t;
...@@ -5078,7 +5079,7 @@ yyreduce: ...@@ -5078,7 +5079,7 @@ yyreduce:
case 324: case 324:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1951 "go.y" #line 1952 "go.y"
{ {
Sym *s; Sym *s;
...@@ -5099,7 +5100,7 @@ yyreduce: ...@@ -5099,7 +5100,7 @@ yyreduce:
case 325: case 325:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1969 "go.y" #line 1970 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, newname((yyvsp[(1) - (5)].sym)), typenod(functype(fakethis(), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list)))); (yyval.node) = nod(ODCLFIELD, newname((yyvsp[(1) - (5)].sym)), typenod(functype(fakethis(), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list))));
} }
...@@ -5108,7 +5109,7 @@ yyreduce: ...@@ -5108,7 +5109,7 @@ yyreduce:
case 326: case 326:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1973 "go.y" #line 1974 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type))); (yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type)));
} }
...@@ -5117,7 +5118,7 @@ yyreduce: ...@@ -5117,7 +5118,7 @@ yyreduce:
case 327: case 327:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1978 "go.y" #line 1979 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
} }
...@@ -5126,7 +5127,7 @@ yyreduce: ...@@ -5126,7 +5127,7 @@ yyreduce:
case 329: case 329:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1985 "go.y" #line 1986 "go.y"
{ {
(yyval.list) = (yyvsp[(2) - (3)].list); (yyval.list) = (yyvsp[(2) - (3)].list);
} }
...@@ -5135,7 +5136,7 @@ yyreduce: ...@@ -5135,7 +5136,7 @@ yyreduce:
case 330: case 330:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1989 "go.y" #line 1990 "go.y"
{ {
(yyval.list) = list1(nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type)))); (yyval.list) = list1(nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type))));
} }
...@@ -5144,7 +5145,7 @@ yyreduce: ...@@ -5144,7 +5145,7 @@ yyreduce:
case 331: case 331:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 1999 "go.y" #line 2000 "go.y"
{ {
(yyval.node) = nodlit((yyvsp[(1) - (1)].val)); (yyval.node) = nodlit((yyvsp[(1) - (1)].val));
} }
...@@ -5153,7 +5154,7 @@ yyreduce: ...@@ -5153,7 +5154,7 @@ yyreduce:
case 332: case 332:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2003 "go.y" #line 2004 "go.y"
{ {
(yyval.node) = nodlit((yyvsp[(2) - (2)].val)); (yyval.node) = nodlit((yyvsp[(2) - (2)].val));
switch((yyval.node)->val.ctype){ switch((yyval.node)->val.ctype){
...@@ -5173,7 +5174,7 @@ yyreduce: ...@@ -5173,7 +5174,7 @@ yyreduce:
case 333: case 333:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2018 "go.y" #line 2019 "go.y"
{ {
(yyval.node) = oldname(pkglookup((yyvsp[(1) - (1)].sym)->name, builtinpkg)); (yyval.node) = oldname(pkglookup((yyvsp[(1) - (1)].sym)->name, builtinpkg));
if((yyval.node)->op != OLITERAL) if((yyval.node)->op != OLITERAL)
...@@ -5184,7 +5185,7 @@ yyreduce: ...@@ -5184,7 +5185,7 @@ yyreduce:
case 335: case 335:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2027 "go.y" #line 2028 "go.y"
{ {
if((yyvsp[(2) - (5)].node)->val.ctype == CTRUNE && (yyvsp[(4) - (5)].node)->val.ctype == CTINT) { if((yyvsp[(2) - (5)].node)->val.ctype == CTRUNE && (yyvsp[(4) - (5)].node)->val.ctype == CTINT) {
(yyval.node) = (yyvsp[(2) - (5)].node); (yyval.node) = (yyvsp[(2) - (5)].node);
...@@ -5198,7 +5199,7 @@ yyreduce: ...@@ -5198,7 +5199,7 @@ yyreduce:
case 338: case 338:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2041 "go.y" #line 2042 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -5207,7 +5208,7 @@ yyreduce: ...@@ -5207,7 +5208,7 @@ yyreduce:
case 339: case 339:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2045 "go.y" #line 2046 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -5216,7 +5217,7 @@ yyreduce: ...@@ -5216,7 +5217,7 @@ yyreduce:
case 340: case 340:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2051 "go.y" #line 2052 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -5225,7 +5226,7 @@ yyreduce: ...@@ -5225,7 +5226,7 @@ yyreduce:
case 341: case 341:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2055 "go.y" #line 2056 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -5234,7 +5235,7 @@ yyreduce: ...@@ -5234,7 +5235,7 @@ yyreduce:
case 342: case 342:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2061 "go.y" #line 2062 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
...@@ -5243,7 +5244,7 @@ yyreduce: ...@@ -5243,7 +5244,7 @@ yyreduce:
case 343: case 343:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2065 "go.y" #line 2066 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
...@@ -5252,7 +5253,7 @@ yyreduce: ...@@ -5252,7 +5253,7 @@ yyreduce:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 5257 "y.tab.c" #line 5258 "y.tab.c"
default: break; default: break;
} }
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
...@@ -5464,7 +5465,7 @@ yyreturn: ...@@ -5464,7 +5465,7 @@ yyreturn:
/* Line 1675 of yacc.c */ /* Line 1675 of yacc.c */
#line 2069 "go.y" #line 2070 "go.y"
static void static void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment