aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.c
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1999-09-12 03:20:31 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>1999-09-11 20:20:31 -0700
commitf4e16489df24f0aefb1e054e5eaa951fe5766048 (patch)
treede64c8d4fb6871b1fd5bf4b509e684866e602cae /gcc/java/parse.c
parent858e574fdc6981096c9f2f6ac315cbca0971c082 (diff)
downloadgcc-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.c5
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;