From: tromey Date: Fri, 5 May 2006 15:05:20 +0000 (+0000) Subject: PR libgcj/27294: X-Git-Tag: upstream/4.9.2~54689 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=514075bc9ecfcf166b3aff5648ddaed449a2ab8a;p=platform%2Fupstream%2Flinaro-gcc.git PR libgcj/27294: * java/lang/natVMClassLoader.cc (defineClass): Throw VirtualMachineError if no interpreter configured. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113554 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 19c06e1..d0992f6 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2006-05-05 Tom Tromey + + PR libgcj/27294: + * java/lang/natVMClassLoader.cc (defineClass): Throw + VirtualMachineError if no interpreter configured. + 2006-05-03 Andrew Haley PR libgcj/27352 diff --git a/libjava/java/lang/natVMClassLoader.cc b/libjava/java/lang/natVMClassLoader.cc index bffbfc0..95c1f15 100644 --- a/libjava/java/lang/natVMClassLoader.cc +++ b/libjava/java/lang/natVMClassLoader.cc @@ -1,6 +1,6 @@ // natVMClassLoader.cc - VMClassLoader native methods -/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation +/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation This file is part of libgcj. @@ -34,6 +34,7 @@ details. */ #include #include #include +#include java::lang::Class * java::lang::VMClassLoader::defineClass (java::lang::ClassLoader *loader, @@ -94,6 +95,20 @@ java::lang::VMClassLoader::defineClass (java::lang::ClassLoader *loader, } #endif // INTERPRETER + if (! klass) + { + StringBuffer *sb = new StringBuffer(); + if (name) + { + sb->append(JvNewStringLatin1("found class file for class ")); + sb->append(name); + } + else + sb->append(JvNewStringLatin1("found unnamed class file")); + sb->append(JvNewStringLatin1(", but no interpreter configured in this libgcj")); + throw new VirtualMachineError(sb->toString()); + } + return klass; }