From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23650 invoked by alias); 11 Jan 2004 15:05:46 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 23616 invoked from network); 11 Jan 2004 15:05:45 -0000 Received: from unknown (HELO uniton.integrable-solutions.net) (62.212.99.186) by sources.redhat.com with SMTP; 11 Jan 2004 15:05:45 -0000 Received: from uniton.integrable-solutions.net (localhost [127.0.0.1]) by uniton.integrable-solutions.net (8.12.3/8.12.3/SuSE Linux 0.6) with ESMTP id i0BExA9b017399; Sun, 11 Jan 2004 15:59:10 +0100 Received: (from gdr@localhost) by uniton.integrable-solutions.net (8.12.3/8.12.3/Submit) id i0BEx9JB017366; Sun, 11 Jan 2004 15:59:09 +0100 X-Authentication-Warning: uniton.integrable-solutions.net: gdr set sender to gdr@integrable-solutions.net using -f To: Mark Kettenis Cc: drow@mvista.com, jh@suse.cz, aj@suse.de, mark@codesourcery.com, gdb-patches@sources.redhat.com, gcc@gcc.gnu.org Subject: Re: [PATCH] Classify non-POD struct types more or less correctly on AMD64 References: <200401101800.i0AI0Zm6026623@elgar.kettenis.dyndns.org> <20040110183622.GA8108@nevyn.them.org> <200401101858.i0AIwdhk032901@elgar.kettenis.dyndns.org> <20040111041009.GA15714@nevyn.them.org> <200401111237.i0BCbVPL010349@elgar.kettenis.dyndns.org> From: Gabriel Dos Reis In-Reply-To: <200401111237.i0BCbVPL010349@elgar.kettenis.dyndns.org> Organization: Integrable Solutions Date: Sun, 11 Jan 2004 15:05:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2004-01/txt/msg00277.txt.bz2 Mark Kettenis writes: | The 1996 ANSI C++ draft has the following statement about non-POD-ness: using an old oudated document may lead to confusion (luckily, that is not the case here). | "A POD-struct is an aggregate class that has no non-static data members ^^^^^^^^^^^^^^^ | of type pointer to member, non-POD-struct, non-POD- union (or array of | such types) or reference, and has no user-defined copy assignment | operator and no user-defined destructor. Similarly, a POD-union is an | aggregate union that has no non-static data members of type pointer to | member, non-POD-struct, non-POD-union (or array of such types) or | reference, and has no user-defined copy assignment operator and no | user-defined destructor. A POD class is a class that is either a | POD-struct or a POD-union." | | So it doesn't say anything about baseclasses. Sure it does. A POD-struct ought to be an aggregate class, and an aggregate class does not have base classes. -- Gaby