summaryrefslogtreecommitdiff
path: root/libjava/verify.cc
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-24 20:02:21 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-24 20:02:21 +0000
commit5ee367d9be2d58f575deaca9096a09387ba90b40 (patch)
tree943fcca31544158694ae99a6a8333a741cc43731 /libjava/verify.cc
parentecaf06e112e477d9035b8e8c773265ba5e2d97a1 (diff)
downloadgcc-5ee367d9be2d58f575deaca9096a09387ba90b40.tar.gz
* verify.cc (is_assignable_from_slow): If source is an interface,
we must also check the superclass. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49189 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/verify.cc')
-rw-r--r--libjava/verify.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libjava/verify.cc b/libjava/verify.cc
index 8627de571c3..3b033c748d9 100644
--- a/libjava/verify.cc
+++ b/libjava/verify.cc
@@ -261,7 +261,9 @@ private:
if (is_assignable_from_slow (target, source->interfaces[i]))
return true;
}
- return false;
+ source = source->getSuperclass ();
+ if (source == NULL)
+ return false;
}
else if (target == &java::lang::Object::class$)
return true;