aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2002-01-24 12:02:21 -0800
committerPer Bothner <bothner@gcc.gnu.org>2002-01-24 12:02:21 -0800
commit7ac20fe4e73b1beccfc11eb8275ab25306d5aeb5 (patch)
tree943fcca31544158694ae99a6a8333a741cc43731 /libjava
parent9bf25b09102dbb85b2d54b6ab1e8d8d7767fb540 (diff)
downloadgcc-7ac20fe4e73b1beccfc11eb8275ab25306d5aeb5.zip
gcc-7ac20fe4e73b1beccfc11eb8275ab25306d5aeb5.tar.gz
gcc-7ac20fe4e73b1beccfc11eb8275ab25306d5aeb5.tar.bz2
verify.cc (is_assignable_from_slow): If source is an interface, we must also check the superclass.
* verify.cc (is_assignable_from_slow): If source is an interface, we must also check the superclass. From-SVN: r49189
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/verify.cc4
2 files changed, 8 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 210c09a..cb48b1b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-24 Per Bothner <per@bothner.com>
+
+ * verify.cc (is_assignable_from_slow): If source is an interface,
+ we must also check the the superclass.
+
2002-01-24 Tom Tromey <tromey@redhat.com>
* gnu/awt/xlib/XToolkit.java (getPrintJob): New stub method.
diff --git a/libjava/verify.cc b/libjava/verify.cc
index 8627de5..3b033c7 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;