diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 031fc6de53c..258644ee511 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2004-10-20 Andreas Schwab + + * java/lang/natClass.cc (_Jv_LayoutVTableMethods): Cast pointers + to uaddr, not int. + * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): + Likewise. + 2004-10-20 Michael Koch * javax/print/attribute/standard/ColorSupported.java, diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index f68f2a9a74d..920245cd586 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -1816,11 +1816,11 @@ _Jv_LayoutVTableMethods (jclass klass) // If superclass looks like a constant pool entry, // resolve it now. - if ((uaddr)superclass < (uaddr)klass->constants.size) + if ((uaddr) superclass < (uaddr) klass->constants.size) { if (klass->state < JV_STATE_LINKED) { - _Jv_Utf8Const *name = klass->constants.data[(int)superclass].utf8; + _Jv_Utf8Const *name = klass->constants.data[(uaddr) superclass].utf8; superclass = _Jv_FindClass (name, klass->loader); if (! superclass) { @@ -1828,7 +1828,7 @@ _Jv_LayoutVTableMethods (jclass klass) } } else - superclass = klass->constants.data[(int)superclass].clazz; + superclass = klass->constants.data[(uaddr) superclass].clazz; } if (superclass != NULL && superclass->vtable_method_count == -1) diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index c1ca9ba1270..e660eae39e6 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -131,12 +131,12 @@ _Jv_PrepareCompiledClass (jclass klass) // If superclass looks like a constant pool entry, // resolve it now. if ((uaddr) klass->superclass < pool->size) - klass->superclass = pool->data[(int) klass->superclass].clazz; + klass->superclass = pool->data[(uaddr) klass->superclass].clazz; // Likewise for interfaces. for (int i = 0; i < klass->interface_count; i++) if ((uaddr) klass->interfaces[i] < pool->size) - klass->interfaces[i] = pool->data[(int) klass->interfaces[i]].clazz; + klass->interfaces[i] = pool->data[(uaddr) klass->interfaces[i]].clazz; // Resolve the remaining constant pool entries. for (int index = 1; index < pool->size; ++index)