From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8858 invoked by alias); 14 Oct 2003 21:38:18 -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 8844 invoked from network); 14 Oct 2003 21:38:18 -0000 Received: from unknown (HELO plum.csi.cam.ac.uk) (131.111.8.3) by sources.redhat.com with SMTP; 14 Oct 2003 21:38:18 -0000 Received: from student.cusu.cam.ac.uk ([131.111.179.82] helo=kern.srcf.societies.cam.ac.uk) by plum.csi.cam.ac.uk with esmtp (Exim 4.20) id 1A9Wrx-0000sD-3U; Tue, 14 Oct 2003 22:38:17 +0100 Received: from jsm28 (helo=localhost) by kern.srcf.societies.cam.ac.uk with local-esmtp (Exim 3.35 #1 (Debian)) id 1A9Wrw-0005UN-00; Tue, 14 Oct 2003 22:38:16 +0100 Date: Tue, 14 Oct 2003 21:38:00 -0000 From: "Joseph S. Myers" X-X-Sender: jsm28@kern.srcf.societies.cam.ac.uk To: gdr at integrable-solutions dot net cc: gcc-bugs@gcc.gnu.org Subject: Re: [Bug c++/12615] [3.3 Regression] initializer syntax for PAD structs gives parse error In-Reply-To: <20031014195443.4776.qmail@sources.redhat.com> Message-ID: References: <20031014193706.12615.bruno@clisp.org> <20031014195443.4776.qmail@sources.redhat.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/ X-Cam-AntiVirus: No virus found X-Cam-SpamDetails: Not scanned X-SW-Source: 2003-10/txt/msg01023.txt.bz2 List-Id: On Tue, 14 Oct 2003, gdr at integrable-solutions dot net wrote: > object vorg = (object) { one_o: 0, allocstamp: 0 }; > > while valid C99, is invalid C++. There are two extensions to C++ in play here: * Compound literals (documented as supported as an extension in C++). * Designated initializers, documented as unimplemented in GNU C++. This example in fact uses the obsolete GNU syntax rather than the standard C99 one. I'd like to deprecate that obsolete syntax properly - the obstacle to doing so is deployed glibc headers that use the obsolete syntax in macros on the basis that (some version of) G++ does in fact support designated initializers, but only with the old and not the C99 syntax! -- Joseph S. Myers jsm@polyomino.org.uk