Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT cygwin DOT com Delivered-To: mailing list cygwin-developers AT cygwin DOT com Date: Fri, 29 Nov 2002 00:17:06 -0500 From: Christopher Faylor To: cygwin-developers AT cygwin DOT com Subject: Re: Is it a valid C++ structure initialization? Message-ID: <20021129051706.GA24834@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com References: <027401c294dd$65d31210$0201a8c0 AT sos> <20021127235758 DOT GA21457 AT redhat DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20021127235758.GA21457@redhat.com> User-Agent: Mutt/1.5.1i On Wed, Nov 27, 2002 at 06:57:59PM -0500, Christopher Faylor wrote: >On Mon, Nov 25, 2002 at 06:50:10PM -0500, Sergey Okhapkin wrote: >>Here is a test program (wich seems to me incorrect): >> >>struct asd { >> int a; >> char b; >>}; >> >>void f(int i, char c) >>{ >> struct asd qwe = { >> a: i, >> b: c >> }; >> >>} >> >>The program compiles fine with gcc-3.2. Gcc 3.3 current snapshot reports: >>test.cc: In function `void f(int, char)': >>test.cc:11: error: too many initializers for `asd' > >Yes, they are incorrect. They are using gcc extensions which are no longer >supported in g++ apparently. Even the C99 labelled initializers are not >supported. > >So, we have to fix these. Actually, on closer inspection, I'm not so sure. I made a simple change to gcc which seems to allow these and since the error is so strange I'm wondering if this is really allowd. I also found some warnings in g++ which seem to indicated that labeled initializers are allowed. I think I'll inquire of the gcc mailing list. cgf