In various situations where the BC-compiled classes are linked and a
NoClassDefFoundError is thrown, this error condition should be deferred to the
time when the actual erroneous code location is executed.
The situation always involves that a class cannot be resolved (because the
bytecode is not available). That means:
- invoking a static method of a missing class
- accessing a static member of a missing class
- creating an array from a missing class
- creating a multi array from a missing class
- accessing a valid static member whose type is missing
- accessing a valid non-static field whose type is missing
- invoking a non-static method of a missing class (true?)
There may be more cases. I have to investigate that.
--
Summary: linking BC-compiled classes: NoClassDefFoundErrors
should be deferred
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: thebohemian at gmx dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24616