From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29946 invoked by alias); 11 Dec 2011 12:13:06 -0000 Received: (qmail 29934 invoked by uid 22791); 11 Dec 2011 12:13:03 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 11 Dec 2011 12:12:51 +0000 From: "marc.glisse at normalesup dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/51365] cannot use final empty class in std::tuple Date: Sun, 11 Dec 2011 12:55:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Keywords: rejects-valid X-Bugzilla-Severity: normal X-Bugzilla-Who: marc.glisse at normalesup dot org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: redi at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: CC 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: 2011-12/txt/msg01145.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51365 Marc Glisse changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marc.glisse at normalesup | |dot org --- Comment #9 from Marc Glisse 2011-12-11 12:12:29 UTC --- Hello, the recent discussion "Structure alignment changes when a constructor or destructor is added" on gcc-help made me wonder whether it would make sense to not only derive for empty classes, but actually derive by default and use members only when necessary (builtin types, final classes). The advantage would be that derivation allows for a slightly more compact representation in some cases with the g++ ABI. I really haven't thought much about the consequences. Sorry for hijacking this bug with this wild idea, but in case it makes sense it might change slightly the way you want to fix it.