From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15618 invoked by alias); 30 Jun 2005 04:35:54 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 15603 invoked by uid 22791); 30 Jun 2005 04:35:51 -0000 Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Thu, 30 Jun 2005 04:35:51 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.11) with ESMTP id j5U4Zk37025079; Thu, 30 Jun 2005 00:35:46 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id j5U4Zju03257; Thu, 30 Jun 2005 00:35:45 -0400 Received: from ballpeen.sfbay.redhat.com (ballpeen.sfbay.redhat.com [172.16.24.33]) by potter.sfbay.redhat.com (8.12.8/8.12.8) with ESMTP id j5U4ZiWM004276; Thu, 30 Jun 2005 00:35:44 -0400 Received: from ballpeen.sfbay.redhat.com (ballpeen.sfbay.redhat.com [127.0.0.1]) by ballpeen.sfbay.redhat.com (8.13.4/8.13.1) with ESMTP id j5U4Zh2q024402; Wed, 29 Jun 2005 21:35:43 -0700 Received: (from rth@localhost) by ballpeen.sfbay.redhat.com (8.13.4/8.13.4/Submit) id j5U4ZgOI024401; Wed, 29 Jun 2005 21:35:42 -0700 Date: Thu, 30 Jun 2005 04:35:00 -0000 From: Richard Henderson To: Daniel Berlin Cc: Gcc Mailing List Subject: [C++] Re: PARM_DECL of DECL_SIZE 0, but TYPE_SIZE of 96 bits Message-ID: <20050630043542.GA24390@redhat.com> Mail-Followup-To: Richard Henderson , Daniel Berlin , Gcc Mailing List References: <1120085832.7612.81.camel@linux-009002219098> <20050629235504.GA23780@redhat.com> <1120094227.8950.12.camel@linux-009002219098> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1120094227.8950.12.camel@linux-009002219098> User-Agent: Mutt/1.4.2.1i X-SW-Source: 2005-06/txt/msg01295.txt.bz2 On Wed, Jun 29, 2005 at 09:17:07PM -0400, Daniel Berlin wrote: > 1. In require_complete_types_for_parms, in the C++ FE, reset DECL_SIZE > to NULL before we call layout_decl on the parm and let layout_decl > figure out what to do. This is what relayout_decl does. > 2. Add code in layout_decl to copy TYPE_SIZE/TYPE_SIZE_UNIT if the > DECL_SIZE is integer_cst (0) Bad. > 3. Not call layout_decl on the template types until they are completed. Certainly an option; not doing extra work is good. 4. Make sure that template types are incomplete. That is, with TYPE_SIZE/TYPE_SIZE_UNIT unset. A C++ front end maintainer should help choose. r~