From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32543 invoked by alias); 20 Nov 2012 17:44:38 -0000 Received: (qmail 30519 invoked by uid 48); 20 Nov 2012 17:43:39 -0000 From: "howarth at nitro dot med.uc.edu" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/55387] [4.8 Regression] Build problem: malloc error in genautomata Date: Tue, 20 Nov 2012 17:44:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Keywords: X-Bugzilla-Severity: blocker X-Bugzilla-Who: howarth at nitro dot med.uc.edu X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: dnovillo at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg01946.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55387 --- Comment #4 from Jack Howarth 2012-11-20 17:43:37 UTC --- This problem no longer exists at r193669 on x86_64-apple-darwin12 with Xcode 4.5.2 so it appears that... r193667 | dnovillo | 2012-11-20 11:26:09 -0500 (Tue, 20 Nov 2012) | 26 lines Convert vec<> into a POD. This fixes PR 55398 by making vec<> a true POD. I thought we could get away with having private fields, but we can't. We fail to pass vec<> instances through varargs. The patch makes every field public and mangles the field names in the hope that no future patch will try to make use of them directly. It's horrible, but I could not think of anything better. Tested with clang++ as the host compiler. 2012-11-20 Diego Novillo PR middle-end/55398 * vec.h (class vec_prefix): Make every field public. Rename field alloc_ to alloc_PRIVATE_. Rename field num_ to num_PRIVATE_. Update all users. (class vec): Make every field public. Rename field pfx_ to pfx_PRIVATE_. Rename field data_ to data_PRIVATE_. Update all users. (class vec): Make every field public. Rename field vec_ to vec_PRIVATE_. Update all users. likely fixed this issue.