diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 1999-09-12 03:20:31 +0000 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 1999-09-11 20:20:31 -0700 |
commit | f4e16489df24f0aefb1e054e5eaa951fe5766048 (patch) | |
tree | de64c8d4fb6871b1fd5bf4b509e684866e602cae /gcc/java/parse.c | |
parent | 858e574fdc6981096c9f2f6ac315cbca0971c082 (diff) | |
download | gcc-f4e16489df24f0aefb1e054e5eaa951fe5766048.zip gcc-f4e16489df24f0aefb1e054e5eaa951fe5766048.tar.gz gcc-f4e16489df24f0aefb1e054e5eaa951fe5766048.tar.bz2 |
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
Diffstat (limited to 'gcc/java/parse.c')
-rw-r--r-- | gcc/java/parse.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/java/parse.c b/gcc/java/parse.c index 4f94462..ed1efec 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -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; |