re GNATS gcj/18 (Internal error: segfault on invalid cast)

Sat Sep 11 16:46:44 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (find_applicable_accessible_methods_list): Search
        abstract classes as interfaces.

(Fix to Java PR #18:
 http://sourceware.cygnus.com/ml/java-prs/1999-q3/msg00015.html)

From-SVN: r29352
This commit is contained in:
Alexandre Petit-Bianco 1999-09-12 03:20:31 +00:00 committed by Alexandre Petit-Bianco
parent 858e574fdc
commit f4e16489df
3 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,8 @@
Sat Sep 11 16:46:44 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Search
abstract classes as interfaces.
Thu Sep 9 17:33:28 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (finish_class): We're now outside a valid method

View File

@ -2388,8 +2388,10 @@ 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)
@ -10184,7 +10186,8 @@ find_applicable_accessible_methods_list (lc, class, name, arglist)
tree list = NULL_TREE, all_list = NULL_TREE;
/* Search interfaces */
if (CLASS_INTERFACE (TYPE_NAME (class)))
if (CLASS_INTERFACE (TYPE_NAME (class))
|| CLASS_ABSTRACT (TYPE_NAME (class)))
{
static tree searched_interfaces = NULL_TREE;
static int search_not_done = 0;

View File

@ -7599,7 +7599,8 @@ find_applicable_accessible_methods_list (lc, class, name, arglist)
tree list = NULL_TREE, all_list = NULL_TREE;
/* Search interfaces */
if (CLASS_INTERFACE (TYPE_NAME (class)))
if (CLASS_INTERFACE (TYPE_NAME (class))
|| CLASS_ABSTRACT (TYPE_NAME (class)))
{
static tree searched_interfaces = NULL_TREE;
static int search_not_done = 0;