re GNATS gcj/97 (Internal compiler error)
Thu Nov 11 01:57:14 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (lookup_method_invoke): Use lang_printable_name to reliably build the type name during error report. Fixes PR gcj/97. From-SVN: r30739
This commit is contained in:
parent
e20440c1dd
commit
b5b8a0e779
@ -31,6 +31,11 @@ Wed Nov 17 21:09:28 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
* class.c (layout_class): Always convert TYPE_SIZE_UNIT to
|
||||
int_type_node: that's what `_Jv_AllocObject' expects.
|
||||
|
||||
Thu Nov 11 01:57:14 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
|
||||
* parse.y (lookup_method_invoke): Use lang_printable_name to
|
||||
reliably build the type name during error report. Fixes PR gcj/97.
|
||||
|
||||
1999-11-09 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* jcf-path.c: Include <sys/stat.h>.
|
||||
|
337
gcc/java/parse.c
337
gcc/java/parse.c
@ -743,24 +743,24 @@ static const short yyrline[] = { 0,
|
||||
1608, 1612, 1615, 1617, 1619, 1623, 1626, 1628, 1630, 1634,
|
||||
1637, 1639, 1641, 1645, 1651, 1653, 1657, 1664, 1666, 1668,
|
||||
1670, 1674, 1686, 1689, 1691, 1696, 1700, 1702, 1709, 1717,
|
||||
1734, 1736, 1738, 1742, 1745, 1750, 1752, 1755, 1757, 1759,
|
||||
1761, 1762, 1763, 1764, 1768, 1770, 1772, 1777, 1779, 1781,
|
||||
1783, 1785, 1789, 1792, 1797, 1799, 1804, 1805, 1806, 1807,
|
||||
1808, 1810, 1812, 1814, 1816, 1818, 1822, 1824, 1827, 1833,
|
||||
1838, 1842, 1845, 1847, 1849, 1853, 1855, 1857, 1859, 1863,
|
||||
1866, 1870, 1876, 1878, 1886, 1913, 1915, 1919, 1924, 1931,
|
||||
1935, 1938, 1940, 1951, 1962, 1967, 1976, 1978, 1982, 1985,
|
||||
1987, 1992, 1997, 2002, 2009, 2011, 2012, 2013, 2016, 2021,
|
||||
2026, 2028, 2029, 2031, 2033, 2034, 2036, 2040, 2043, 2047,
|
||||
2050, 2054, 2056, 2058, 2060, 2061, 2063, 2067, 2076, 2078,
|
||||
2080, 2093, 2095, 2101, 2103, 2105, 2109, 2111, 2116, 2121,
|
||||
2126, 2128, 2130, 2134, 2136, 2141, 2146, 2148, 2152, 2154,
|
||||
2159, 2164, 2169, 2171, 2173, 2177, 2179, 2184, 2189, 2194,
|
||||
2199, 2201, 2203, 2205, 2207, 2209, 2213, 2215, 2220, 2225,
|
||||
2227, 2231, 2233, 2238, 2242, 2244, 2249, 2253, 2255, 2260,
|
||||
2264, 2266, 2271, 2275, 2277, 2282, 2286, 2288, 2293, 2299,
|
||||
2301, 2305, 2307, 2310, 2313, 2321, 2323, 2324, 2327, 2329,
|
||||
2332, 2336
|
||||
1734, 1736, 1741, 1745, 1748, 1753, 1755, 1758, 1760, 1762,
|
||||
1764, 1765, 1766, 1767, 1771, 1773, 1775, 1780, 1782, 1784,
|
||||
1786, 1788, 1792, 1795, 1800, 1802, 1807, 1808, 1809, 1810,
|
||||
1811, 1813, 1815, 1817, 1819, 1821, 1825, 1827, 1830, 1836,
|
||||
1841, 1845, 1848, 1850, 1852, 1856, 1858, 1860, 1862, 1866,
|
||||
1869, 1873, 1879, 1881, 1889, 1916, 1918, 1922, 1927, 1934,
|
||||
1938, 1941, 1943, 1954, 1965, 1970, 1979, 1981, 1985, 1988,
|
||||
1990, 1995, 2000, 2005, 2012, 2014, 2015, 2016, 2019, 2024,
|
||||
2029, 2031, 2032, 2034, 2036, 2037, 2039, 2043, 2046, 2050,
|
||||
2053, 2057, 2059, 2061, 2063, 2064, 2066, 2070, 2079, 2081,
|
||||
2083, 2096, 2098, 2104, 2106, 2108, 2112, 2114, 2119, 2124,
|
||||
2129, 2131, 2133, 2137, 2139, 2144, 2149, 2151, 2155, 2157,
|
||||
2162, 2167, 2172, 2174, 2176, 2180, 2182, 2187, 2192, 2197,
|
||||
2202, 2204, 2206, 2208, 2210, 2212, 2216, 2218, 2223, 2228,
|
||||
2230, 2234, 2236, 2241, 2245, 2247, 2252, 2256, 2258, 2263,
|
||||
2267, 2269, 2274, 2278, 2280, 2285, 2289, 2291, 2296, 2302,
|
||||
2304, 2308, 2310, 2313, 2316, 2324, 2326, 2327, 2330, 2332,
|
||||
2335, 2339
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -2256,7 +2256,7 @@ static const short yycheck[] = { 3,
|
||||
#define YYPURE 1
|
||||
|
||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||
#line 3 "/usr/share/misc/bison.simple"
|
||||
#line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
|
||||
|
||||
/* Skeleton output parser for bison,
|
||||
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
|
||||
@ -2273,7 +2273,7 @@ static const short yycheck[] = { 3,
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* As a special exception, when this file is copied by Bison into a
|
||||
Bison output file, you may use that output file without restriction.
|
||||
@ -2407,10 +2407,8 @@ int yydebug; /* nonzero means print parse trace */
|
||||
|
||||
/* Prevent warning if -Wstrict-prototypes. */
|
||||
#ifdef __GNUC__
|
||||
#ifndef YYPARSE_PARAM
|
||||
int yyparse (void);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
|
||||
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
|
||||
@ -2451,7 +2449,7 @@ __yy_memcpy (char *to, char *from, int count)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#line 196 "/usr/share/misc/bison.simple"
|
||||
#line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
|
||||
|
||||
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
|
||||
into yyparse. The argument should have type void *.
|
||||
@ -4058,175 +4056,178 @@ case 330:
|
||||
break;}
|
||||
case 331:
|
||||
#line 1735 "./parse.y"
|
||||
{yyerror ("'(' expected"); RECOVER;;
|
||||
{yyerror ("'(' expected"); RECOVER; yyval.node = NULL_TREE;;
|
||||
break;}
|
||||
case 332:
|
||||
#line 1737 "./parse.y"
|
||||
{yyerror ("Missing term or ')' expected"); DRECOVER (2);;
|
||||
{
|
||||
yyerror ("Missing term or ')' expected");
|
||||
RECOVER; yyval.node = NULL_TREE;
|
||||
;
|
||||
break;}
|
||||
case 333:
|
||||
#line 1739 "./parse.y"
|
||||
{yyerror ("')' expected"); DRECOVER (1);;
|
||||
#line 1742 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER; yyval.node = NULL_TREE;;
|
||||
break;}
|
||||
case 334:
|
||||
#line 1744 "./parse.y"
|
||||
#line 1747 "./parse.y"
|
||||
{ yyval.node = yyvsp[0].node; ;
|
||||
break;}
|
||||
case 335:
|
||||
#line 1746 "./parse.y"
|
||||
#line 1749 "./parse.y"
|
||||
{yyerror ("'{' expected"); RECOVER; ;
|
||||
break;}
|
||||
case 339:
|
||||
#line 1758 "./parse.y"
|
||||
#line 1761 "./parse.y"
|
||||
{ yyval.node = build_this (yyvsp[0].operator.location); ;
|
||||
break;}
|
||||
case 340:
|
||||
#line 1760 "./parse.y"
|
||||
#line 1763 "./parse.y"
|
||||
{yyval.node = yyvsp[-1].node;;
|
||||
break;}
|
||||
case 345:
|
||||
#line 1769 "./parse.y"
|
||||
#line 1772 "./parse.y"
|
||||
{ yyval.node = parse_jdk1_1_error ("named class literals"); ;
|
||||
break;}
|
||||
case 346:
|
||||
#line 1771 "./parse.y"
|
||||
#line 1774 "./parse.y"
|
||||
{ yyval.node = build_class_ref (yyvsp[-2].node); ;
|
||||
break;}
|
||||
case 347:
|
||||
#line 1773 "./parse.y"
|
||||
#line 1776 "./parse.y"
|
||||
{ yyval.node = build_class_ref (void_type_node); ;
|
||||
break;}
|
||||
case 348:
|
||||
#line 1778 "./parse.y"
|
||||
#line 1781 "./parse.y"
|
||||
{ yyval.node = parse_jdk1_1_error ("class literals"); ;
|
||||
break;}
|
||||
case 349:
|
||||
#line 1780 "./parse.y"
|
||||
#line 1783 "./parse.y"
|
||||
{yyerror ("')' expected"); RECOVER;;
|
||||
break;}
|
||||
case 350:
|
||||
#line 1782 "./parse.y"
|
||||
#line 1785 "./parse.y"
|
||||
{yyerror ("'class' or 'this' expected" ); RECOVER;;
|
||||
break;}
|
||||
case 351:
|
||||
#line 1784 "./parse.y"
|
||||
#line 1787 "./parse.y"
|
||||
{yyerror ("'class' expected" ); RECOVER;;
|
||||
break;}
|
||||
case 352:
|
||||
#line 1786 "./parse.y"
|
||||
#line 1789 "./parse.y"
|
||||
{yyerror ("'class' expected" ); RECOVER;;
|
||||
break;}
|
||||
case 353:
|
||||
#line 1791 "./parse.y"
|
||||
#line 1794 "./parse.y"
|
||||
{ yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
|
||||
break;}
|
||||
case 354:
|
||||
#line 1793 "./parse.y"
|
||||
#line 1796 "./parse.y"
|
||||
{ yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ;
|
||||
break;}
|
||||
case 355:
|
||||
#line 1798 "./parse.y"
|
||||
#line 1801 "./parse.y"
|
||||
{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;
|
||||
break;}
|
||||
case 356:
|
||||
#line 1800 "./parse.y"
|
||||
#line 1803 "./parse.y"
|
||||
{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;
|
||||
break;}
|
||||
case 361:
|
||||
#line 1809 "./parse.y"
|
||||
#line 1812 "./parse.y"
|
||||
{yyerror ("'(' expected"); DRECOVER(new_1);;
|
||||
break;}
|
||||
case 362:
|
||||
#line 1811 "./parse.y"
|
||||
#line 1814 "./parse.y"
|
||||
{yyerror ("'(' expected"); RECOVER;;
|
||||
break;}
|
||||
case 363:
|
||||
#line 1813 "./parse.y"
|
||||
#line 1816 "./parse.y"
|
||||
{yyerror ("')' or term expected"); RECOVER;;
|
||||
break;}
|
||||
case 364:
|
||||
#line 1815 "./parse.y"
|
||||
#line 1818 "./parse.y"
|
||||
{yyerror ("')' expected"); RECOVER;;
|
||||
break;}
|
||||
case 365:
|
||||
#line 1817 "./parse.y"
|
||||
#line 1820 "./parse.y"
|
||||
{YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;;
|
||||
break;}
|
||||
case 366:
|
||||
#line 1819 "./parse.y"
|
||||
#line 1822 "./parse.y"
|
||||
{yyerror ("'(' expected"); RECOVER;;
|
||||
break;}
|
||||
case 369:
|
||||
#line 1829 "./parse.y"
|
||||
#line 1832 "./parse.y"
|
||||
{
|
||||
yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE);
|
||||
ctxp->formal_parameter_number = 1;
|
||||
;
|
||||
break;}
|
||||
case 370:
|
||||
#line 1834 "./parse.y"
|
||||
#line 1837 "./parse.y"
|
||||
{
|
||||
ctxp->formal_parameter_number += 1;
|
||||
yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node);
|
||||
;
|
||||
break;}
|
||||
case 371:
|
||||
#line 1839 "./parse.y"
|
||||
#line 1842 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 372:
|
||||
#line 1844 "./parse.y"
|
||||
#line 1847 "./parse.y"
|
||||
{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
|
||||
break;}
|
||||
case 373:
|
||||
#line 1846 "./parse.y"
|
||||
#line 1849 "./parse.y"
|
||||
{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
|
||||
break;}
|
||||
case 374:
|
||||
#line 1848 "./parse.y"
|
||||
#line 1851 "./parse.y"
|
||||
{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
|
||||
break;}
|
||||
case 375:
|
||||
#line 1850 "./parse.y"
|
||||
#line 1853 "./parse.y"
|
||||
{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
|
||||
break;}
|
||||
case 376:
|
||||
#line 1854 "./parse.y"
|
||||
#line 1857 "./parse.y"
|
||||
{ yyval.node = parse_jdk1_1_error ("anonymous array"); ;
|
||||
break;}
|
||||
case 377:
|
||||
#line 1856 "./parse.y"
|
||||
#line 1859 "./parse.y"
|
||||
{ yyval.node = parse_jdk1_1_error ("anonymous array"); ;
|
||||
break;}
|
||||
case 378:
|
||||
#line 1858 "./parse.y"
|
||||
#line 1861 "./parse.y"
|
||||
{yyerror ("'[' expected"); DRECOVER ("]");;
|
||||
break;}
|
||||
case 379:
|
||||
#line 1860 "./parse.y"
|
||||
#line 1863 "./parse.y"
|
||||
{yyerror ("']' expected"); RECOVER;;
|
||||
break;}
|
||||
case 380:
|
||||
#line 1865 "./parse.y"
|
||||
#line 1868 "./parse.y"
|
||||
{ yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 381:
|
||||
#line 1867 "./parse.y"
|
||||
#line 1870 "./parse.y"
|
||||
{ yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ;
|
||||
break;}
|
||||
case 382:
|
||||
#line 1872 "./parse.y"
|
||||
#line 1875 "./parse.y"
|
||||
{
|
||||
EXPR_WFL_LINECOL (yyvsp[-1].node) = yyvsp[-2].operator.location;
|
||||
yyval.node = yyvsp[-1].node;
|
||||
;
|
||||
break;}
|
||||
case 383:
|
||||
#line 1877 "./parse.y"
|
||||
#line 1880 "./parse.y"
|
||||
{yyerror ("']' expected"); RECOVER;;
|
||||
break;}
|
||||
case 384:
|
||||
#line 1879 "./parse.y"
|
||||
#line 1882 "./parse.y"
|
||||
{
|
||||
yyerror ("Missing term");
|
||||
yyerror ("']' expected");
|
||||
@ -4234,7 +4235,7 @@ case 384:
|
||||
;
|
||||
break;}
|
||||
case 385:
|
||||
#line 1888 "./parse.y"
|
||||
#line 1891 "./parse.y"
|
||||
{
|
||||
int allocate = 0;
|
||||
/* If not initialized, allocate memory for the osb
|
||||
@ -4262,19 +4263,19 @@ case 385:
|
||||
;
|
||||
break;}
|
||||
case 386:
|
||||
#line 1914 "./parse.y"
|
||||
#line 1917 "./parse.y"
|
||||
{ CURRENT_OSB (ctxp)++; ;
|
||||
break;}
|
||||
case 387:
|
||||
#line 1916 "./parse.y"
|
||||
#line 1919 "./parse.y"
|
||||
{ yyerror ("']' expected"); RECOVER;;
|
||||
break;}
|
||||
case 388:
|
||||
#line 1921 "./parse.y"
|
||||
#line 1924 "./parse.y"
|
||||
{ yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;
|
||||
break;}
|
||||
case 389:
|
||||
#line 1925 "./parse.y"
|
||||
#line 1928 "./parse.y"
|
||||
{
|
||||
tree super_wfl =
|
||||
build_wfl_node (super_identifier_node);
|
||||
@ -4283,19 +4284,19 @@ case 389:
|
||||
;
|
||||
break;}
|
||||
case 390:
|
||||
#line 1932 "./parse.y"
|
||||
#line 1935 "./parse.y"
|
||||
{yyerror ("Field expected"); DRECOVER (super_field_acces);;
|
||||
break;}
|
||||
case 391:
|
||||
#line 1937 "./parse.y"
|
||||
#line 1940 "./parse.y"
|
||||
{ yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ;
|
||||
break;}
|
||||
case 392:
|
||||
#line 1939 "./parse.y"
|
||||
#line 1942 "./parse.y"
|
||||
{ yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
|
||||
break;}
|
||||
case 393:
|
||||
#line 1941 "./parse.y"
|
||||
#line 1944 "./parse.y"
|
||||
{
|
||||
if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR)
|
||||
yyval.node = build_this_super_qualified_invocation
|
||||
@ -4308,7 +4309,7 @@ case 393:
|
||||
;
|
||||
break;}
|
||||
case 394:
|
||||
#line 1952 "./parse.y"
|
||||
#line 1955 "./parse.y"
|
||||
{
|
||||
if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR)
|
||||
yyval.node = build_this_super_qualified_invocation
|
||||
@ -4321,121 +4322,121 @@ case 394:
|
||||
;
|
||||
break;}
|
||||
case 395:
|
||||
#line 1963 "./parse.y"
|
||||
#line 1966 "./parse.y"
|
||||
{
|
||||
yyval.node = build_this_super_qualified_invocation
|
||||
(0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location);
|
||||
;
|
||||
break;}
|
||||
case 396:
|
||||
#line 1968 "./parse.y"
|
||||
#line 1971 "./parse.y"
|
||||
{
|
||||
yyval.node = build_this_super_qualified_invocation
|
||||
(0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location);
|
||||
;
|
||||
break;}
|
||||
case 397:
|
||||
#line 1977 "./parse.y"
|
||||
#line 1980 "./parse.y"
|
||||
{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;
|
||||
break;}
|
||||
case 398:
|
||||
#line 1979 "./parse.y"
|
||||
#line 1982 "./parse.y"
|
||||
{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;
|
||||
break;}
|
||||
case 399:
|
||||
#line 1984 "./parse.y"
|
||||
#line 1987 "./parse.y"
|
||||
{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
|
||||
break;}
|
||||
case 400:
|
||||
#line 1986 "./parse.y"
|
||||
#line 1989 "./parse.y"
|
||||
{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
|
||||
break;}
|
||||
case 401:
|
||||
#line 1988 "./parse.y"
|
||||
#line 1991 "./parse.y"
|
||||
{
|
||||
yyerror ("Missing term and ']' expected");
|
||||
DRECOVER(array_access);
|
||||
;
|
||||
break;}
|
||||
case 402:
|
||||
#line 1993 "./parse.y"
|
||||
#line 1996 "./parse.y"
|
||||
{
|
||||
yyerror ("']' expected");
|
||||
DRECOVER(array_access);
|
||||
;
|
||||
break;}
|
||||
case 403:
|
||||
#line 1998 "./parse.y"
|
||||
#line 2001 "./parse.y"
|
||||
{
|
||||
yyerror ("Missing term and ']' expected");
|
||||
DRECOVER(array_access);
|
||||
;
|
||||
break;}
|
||||
case 404:
|
||||
#line 2003 "./parse.y"
|
||||
#line 2006 "./parse.y"
|
||||
{
|
||||
yyerror ("']' expected");
|
||||
DRECOVER(array_access);
|
||||
;
|
||||
break;}
|
||||
case 409:
|
||||
#line 2018 "./parse.y"
|
||||
#line 2021 "./parse.y"
|
||||
{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
|
||||
break;}
|
||||
case 410:
|
||||
#line 2023 "./parse.y"
|
||||
#line 2026 "./parse.y"
|
||||
{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
|
||||
break;}
|
||||
case 413:
|
||||
#line 2030 "./parse.y"
|
||||
#line 2033 "./parse.y"
|
||||
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 414:
|
||||
#line 2032 "./parse.y"
|
||||
#line 2035 "./parse.y"
|
||||
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 416:
|
||||
#line 2035 "./parse.y"
|
||||
#line 2038 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;
|
||||
break;}
|
||||
case 417:
|
||||
#line 2037 "./parse.y"
|
||||
#line 2040 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;
|
||||
break;}
|
||||
case 418:
|
||||
#line 2042 "./parse.y"
|
||||
#line 2045 "./parse.y"
|
||||
{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
|
||||
break;}
|
||||
case 419:
|
||||
#line 2044 "./parse.y"
|
||||
#line 2047 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;
|
||||
break;}
|
||||
case 420:
|
||||
#line 2049 "./parse.y"
|
||||
#line 2052 "./parse.y"
|
||||
{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
|
||||
break;}
|
||||
case 421:
|
||||
#line 2051 "./parse.y"
|
||||
#line 2054 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;
|
||||
break;}
|
||||
case 423:
|
||||
#line 2057 "./parse.y"
|
||||
#line 2060 "./parse.y"
|
||||
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 424:
|
||||
#line 2059 "./parse.y"
|
||||
#line 2062 "./parse.y"
|
||||
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 426:
|
||||
#line 2062 "./parse.y"
|
||||
#line 2065 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;
|
||||
break;}
|
||||
case 427:
|
||||
#line 2064 "./parse.y"
|
||||
#line 2067 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;
|
||||
break;}
|
||||
case 428:
|
||||
#line 2069 "./parse.y"
|
||||
#line 2072 "./parse.y"
|
||||
{
|
||||
tree type = yyvsp[-3].node;
|
||||
while (CURRENT_OSB (ctxp)--)
|
||||
@ -4445,15 +4446,15 @@ case 428:
|
||||
;
|
||||
break;}
|
||||
case 429:
|
||||
#line 2077 "./parse.y"
|
||||
#line 2080 "./parse.y"
|
||||
{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 430:
|
||||
#line 2079 "./parse.y"
|
||||
#line 2082 "./parse.y"
|
||||
{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 431:
|
||||
#line 2081 "./parse.y"
|
||||
#line 2084 "./parse.y"
|
||||
{
|
||||
const char *ptr;
|
||||
while (CURRENT_OSB (ctxp)--)
|
||||
@ -4468,11 +4469,11 @@ case 431:
|
||||
;
|
||||
break;}
|
||||
case 432:
|
||||
#line 2094 "./parse.y"
|
||||
#line 2097 "./parse.y"
|
||||
{yyerror ("']' expected, invalid type expression");;
|
||||
break;}
|
||||
case 433:
|
||||
#line 2096 "./parse.y"
|
||||
#line 2099 "./parse.y"
|
||||
{
|
||||
if (ctxp->prevent_ese != lineno)
|
||||
yyerror ("Invalid type expression"); RECOVER;
|
||||
@ -4480,243 +4481,243 @@ case 433:
|
||||
;
|
||||
break;}
|
||||
case 434:
|
||||
#line 2102 "./parse.y"
|
||||
#line 2105 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 435:
|
||||
#line 2104 "./parse.y"
|
||||
#line 2107 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 436:
|
||||
#line 2106 "./parse.y"
|
||||
#line 2109 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 438:
|
||||
#line 2112 "./parse.y"
|
||||
#line 2115 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token),
|
||||
yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 439:
|
||||
#line 2117 "./parse.y"
|
||||
#line 2120 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 440:
|
||||
#line 2122 "./parse.y"
|
||||
#line 2125 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 441:
|
||||
#line 2127 "./parse.y"
|
||||
#line 2130 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 442:
|
||||
#line 2129 "./parse.y"
|
||||
#line 2132 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 443:
|
||||
#line 2131 "./parse.y"
|
||||
#line 2134 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 445:
|
||||
#line 2137 "./parse.y"
|
||||
#line 2140 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 446:
|
||||
#line 2142 "./parse.y"
|
||||
#line 2145 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 447:
|
||||
#line 2147 "./parse.y"
|
||||
#line 2150 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 448:
|
||||
#line 2149 "./parse.y"
|
||||
#line 2152 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 450:
|
||||
#line 2155 "./parse.y"
|
||||
#line 2158 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 451:
|
||||
#line 2160 "./parse.y"
|
||||
#line 2163 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 452:
|
||||
#line 2165 "./parse.y"
|
||||
#line 2168 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 453:
|
||||
#line 2170 "./parse.y"
|
||||
#line 2173 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 454:
|
||||
#line 2172 "./parse.y"
|
||||
#line 2175 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 455:
|
||||
#line 2174 "./parse.y"
|
||||
#line 2177 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 457:
|
||||
#line 2180 "./parse.y"
|
||||
#line 2183 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 458:
|
||||
#line 2185 "./parse.y"
|
||||
#line 2188 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 459:
|
||||
#line 2190 "./parse.y"
|
||||
#line 2193 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 460:
|
||||
#line 2195 "./parse.y"
|
||||
#line 2198 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 461:
|
||||
#line 2200 "./parse.y"
|
||||
#line 2203 "./parse.y"
|
||||
{ yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 462:
|
||||
#line 2202 "./parse.y"
|
||||
#line 2205 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 463:
|
||||
#line 2204 "./parse.y"
|
||||
#line 2207 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 464:
|
||||
#line 2206 "./parse.y"
|
||||
#line 2209 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 465:
|
||||
#line 2208 "./parse.y"
|
||||
#line 2211 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 466:
|
||||
#line 2210 "./parse.y"
|
||||
#line 2213 "./parse.y"
|
||||
{yyerror ("Invalid reference type"); RECOVER;;
|
||||
break;}
|
||||
case 468:
|
||||
#line 2216 "./parse.y"
|
||||
#line 2219 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 469:
|
||||
#line 2221 "./parse.y"
|
||||
#line 2224 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 470:
|
||||
#line 2226 "./parse.y"
|
||||
#line 2229 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 471:
|
||||
#line 2228 "./parse.y"
|
||||
#line 2231 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 473:
|
||||
#line 2234 "./parse.y"
|
||||
#line 2237 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 474:
|
||||
#line 2239 "./parse.y"
|
||||
#line 2242 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 476:
|
||||
#line 2245 "./parse.y"
|
||||
#line 2248 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 477:
|
||||
#line 2250 "./parse.y"
|
||||
#line 2253 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 479:
|
||||
#line 2256 "./parse.y"
|
||||
#line 2259 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 480:
|
||||
#line 2261 "./parse.y"
|
||||
#line 2264 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 482:
|
||||
#line 2267 "./parse.y"
|
||||
#line 2270 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 483:
|
||||
#line 2272 "./parse.y"
|
||||
#line 2275 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 485:
|
||||
#line 2278 "./parse.y"
|
||||
#line 2281 "./parse.y"
|
||||
{
|
||||
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
|
||||
yyvsp[-2].node, yyvsp[0].node);
|
||||
;
|
||||
break;}
|
||||
case 486:
|
||||
#line 2283 "./parse.y"
|
||||
#line 2286 "./parse.y"
|
||||
{yyerror ("Missing term"); RECOVER;;
|
||||
break;}
|
||||
case 488:
|
||||
#line 2289 "./parse.y"
|
||||
#line 2292 "./parse.y"
|
||||
{
|
||||
yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);
|
||||
EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location;
|
||||
;
|
||||
break;}
|
||||
case 489:
|
||||
#line 2294 "./parse.y"
|
||||
#line 2297 "./parse.y"
|
||||
{
|
||||
YYERROR_NOW;
|
||||
yyerror ("Missing term");
|
||||
@ -4724,19 +4725,19 @@ case 489:
|
||||
;
|
||||
break;}
|
||||
case 490:
|
||||
#line 2300 "./parse.y"
|
||||
#line 2303 "./parse.y"
|
||||
{yyerror ("Missing term"); DRECOVER (2);;
|
||||
break;}
|
||||
case 491:
|
||||
#line 2302 "./parse.y"
|
||||
#line 2305 "./parse.y"
|
||||
{yyerror ("Missing term"); DRECOVER (3);;
|
||||
break;}
|
||||
case 494:
|
||||
#line 2312 "./parse.y"
|
||||
#line 2315 "./parse.y"
|
||||
{ yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
|
||||
break;}
|
||||
case 495:
|
||||
#line 2314 "./parse.y"
|
||||
#line 2317 "./parse.y"
|
||||
{
|
||||
if (ctxp->prevent_ese != lineno)
|
||||
yyerror ("Missing term");
|
||||
@ -4745,7 +4746,7 @@ case 495:
|
||||
break;}
|
||||
}
|
||||
/* the action file gets copied in in place of this dollarsign */
|
||||
#line 498 "/usr/share/misc/bison.simple"
|
||||
#line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
|
||||
|
||||
yyvsp -= yylen;
|
||||
yyssp -= yylen;
|
||||
@ -4941,7 +4942,7 @@ yyerrhandle:
|
||||
yystate = yyn;
|
||||
goto yynewstate;
|
||||
}
|
||||
#line 2340 "./parse.y"
|
||||
#line 2343 "./parse.y"
|
||||
|
||||
|
||||
|
||||
@ -9319,6 +9320,15 @@ resolve_qualified_expression_name (wfl, found_decl, where_found, type_found)
|
||||
type = QUAL_DECL_TYPE (decl);
|
||||
continue;
|
||||
|
||||
case PLUS_EXPR:
|
||||
if ((decl = java_complete_tree (qual_wfl)) == error_mark_node)
|
||||
return 1;
|
||||
if ((type = patch_string (decl)))
|
||||
decl = type;
|
||||
*where_found = QUAL_RESOLUTION (q) = decl;
|
||||
*type_found = type = TREE_TYPE (decl);
|
||||
break;
|
||||
|
||||
default:
|
||||
/* Fix for -Wall Just go to the next statement. Don't
|
||||
continue */
|
||||
@ -10154,6 +10164,7 @@ lookup_method_invoke (lc, cl, class, name, arg_list)
|
||||
tree atl = end_params_node; /* Arg Type List */
|
||||
tree method, signature, list, node;
|
||||
const char *candidates; /* Used for error report */
|
||||
char *dup;
|
||||
|
||||
/* Fix the arguments */
|
||||
for (node = arg_list; node; node = TREE_CHAIN (node))
|
||||
@ -10203,14 +10214,13 @@ lookup_method_invoke (lc, cl, class, name, arg_list)
|
||||
method = make_node (FUNCTION_TYPE);
|
||||
TYPE_ARG_TYPES (method) = atl;
|
||||
signature = build_java_argument_signature (method);
|
||||
parse_error_context (cl, "Can't find %s `%s(%s)' in class `%s'%s",
|
||||
dup = strdup (lang_printable_name (class, 0));
|
||||
parse_error_context (cl, "Can't find %s `%s(%s)' in type `%s'%s",
|
||||
(lc ? "constructor" : "method"),
|
||||
(lc ?
|
||||
IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (class))) :
|
||||
IDENTIFIER_POINTER (name)),
|
||||
IDENTIFIER_POINTER (signature),
|
||||
IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (class))),
|
||||
(lc ? dup : IDENTIFIER_POINTER (name)),
|
||||
IDENTIFIER_POINTER (signature), dup,
|
||||
(candidates ? candidates : ""));
|
||||
free (dup);
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
@ -10490,7 +10500,8 @@ qualify_ambiguous_name (id)
|
||||
TREE_CODE (TREE_OPERAND (qual_wfl, 0)) == EXPR_WITH_FILE_LOCATION)
|
||||
name = EXPR_WFL_NODE (TREE_OPERAND (qual_wfl, 0));
|
||||
|
||||
else if (code == STRING_CST || code == CONDITIONAL_EXPR)
|
||||
else if (code == STRING_CST || code == CONDITIONAL_EXPR
|
||||
|| code == PLUS_EXPR)
|
||||
{
|
||||
qual = TREE_CHAIN (qual);
|
||||
qual_wfl = QUAL_WFL (qual);
|
||||
|
@ -7561,6 +7561,7 @@ lookup_method_invoke (lc, cl, class, name, arg_list)
|
||||
tree atl = end_params_node; /* Arg Type List */
|
||||
tree method, signature, list, node;
|
||||
const char *candidates; /* Used for error report */
|
||||
char *dup;
|
||||
|
||||
/* Fix the arguments */
|
||||
for (node = arg_list; node; node = TREE_CHAIN (node))
|
||||
@ -7610,14 +7611,13 @@ lookup_method_invoke (lc, cl, class, name, arg_list)
|
||||
method = make_node (FUNCTION_TYPE);
|
||||
TYPE_ARG_TYPES (method) = atl;
|
||||
signature = build_java_argument_signature (method);
|
||||
parse_error_context (cl, "Can't find %s `%s(%s)' in class `%s'%s",
|
||||
dup = strdup (lang_printable_name (class, 0));
|
||||
parse_error_context (cl, "Can't find %s `%s(%s)' in type `%s'%s",
|
||||
(lc ? "constructor" : "method"),
|
||||
(lc ?
|
||||
IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (class))) :
|
||||
IDENTIFIER_POINTER (name)),
|
||||
IDENTIFIER_POINTER (signature),
|
||||
IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (class))),
|
||||
(lc ? dup : IDENTIFIER_POINTER (name)),
|
||||
IDENTIFIER_POINTER (signature), dup,
|
||||
(candidates ? candidates : ""));
|
||||
free (dup);
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user