From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19857 invoked by alias); 1 Sep 2005 19:18:52 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 19696 invoked by uid 48); 1 Sep 2005 19:18:45 -0000 Date: Thu, 01 Sep 2005 19:18:00 -0000 Message-ID: <20050901191845.19695.qmail@sourceware.org> From: "wmahan at gmail dot com" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050829094413.23620.wmahan@gmail.com> References: <20050829094413.23620.wmahan@gmail.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug java/23620] [4.0/4.1 Regression] Segfault compiling inner interfaces X-Bugzilla-Reason: CC X-SW-Source: 2005-09/txt/msg00135.txt.bz2 List-Id: ------- Additional Comments From wmahan at gmail dot com 2005-09-01 19:18 ------- I think I found the root of the problem. In 3.4.x, make_class() in java/class.c looks like this: type = make_node (RECORD_TYPE); TYPE_BINFO (type) = make_tree_vec (BINFO_ELTS); MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC (type); but in 4.0.1 it becomes this: type = make_node (RECORD_TYPE); MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC (type); The crash was caused by TYPE_BINFO not being set for a certain type. I added the line TYPE_BINFO (type) = make_tree_binfo (0); to make_class(). This seems consistent with the changes made in 4.0, and it fixes the problem for me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23620