[Bug java/12734] New: gcj verifier doesn't merge interface types correctly
tromey at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Oct 22 20:40:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12734
Summary: gcj verifier doesn't merge interface types correctly
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tromey at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
The gcj verifier currently incorrectly handles interface
type merges. It always yields Object.
In my particular case, when compiling an eclipse .jar,
I get this error:
org/eclipse/pde/internal/ui/preferences/ExternalPluginsBlock.java: In method
`org.eclipse.pde.internal.ui.preferences.ExternalPluginsBlock.computeDelta()':
org/eclipse/pde/internal/ui/preferences/ExternalPluginsBlock.java:174: error:
verification error at PC=103
org/eclipse/pde/internal/ui/preferences/ExternalPluginsBlock.java:174: error:
invalid argument type
org/eclipse/pde/internal/ui/preferences/ExternalPluginsBlock.java:174: error:
expected type 'org.eclipse.pde.core.IModel[]' but stack contains
'java.lang.Object[]'
In this case, we've merged two different array types to
Object[], which isn't compatible with the actual type of the
method's argument. However, both these array types are
actually convertible to IModel[].
More information about the Gcc-bugs
mailing list