In the attached example the interface I declares I.blah(). The abstract class A then implements I but doesn't define the method nor re-declares it as abstract.
Given these definitions both javac and gcj accept calling blah() using an A reference. Obviously you need to derive a non-abstract class C from A and create an object of this second class in order to get such a reference. Instead gcjh doesn't put a declaration for A::blah() in the A.h file it generates so there is no way to invoke A.blah() from C++. If blah() is re-declared s abstract in A then gcjh outputs the declaration for A::blah(). -- Summary: gcjh generated .h files missing methods inherited from interfaces Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: michele at focuseek dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25040