From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14220 invoked by alias); 25 Nov 2005 23:00:23 -0000 Received: (qmail 14202 invoked by uid 48); 25 Nov 2005 23:00:23 -0000 Date: Fri, 25 Nov 2005 23:00:00 -0000 Subject: [Bug java/25040] New: gcjh generated .h files missing methods inherited from interfaces X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "michele at focuseek dot com" Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org X-SW-Source: 2005-q4/txt/msg00411.txt.bz2 List-Id: 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