Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: new fails on gcc 3.4, i686-unknown-openbsd3.1

From: Alexandre Oliva <aoliva(at)redhat.com>
Date: Sat Dec 28 2002 - 12:42:51 EST

On Dec 28, 2002, Andrew Pinski <pinskia@physics.uc.edu> wrote:

> #define __END_DECLS };

> Note the semicolon after }, that is what is causing it.

Looks like a job for fixheaders... They headers are obviously in error.

That said, it would be nice if the new parser would accept such gratuitous constructs, even if they're not legal C++. Even though, grammatically, they seem to be acceptable:

declaration -> block-declaration -> simple-declaration -> decl-specifier-seqopt init-declarator-listopt;

[dcl.dcl]/3 rules out the empty init-declarator-listopt. Nevertheless, I think it's a mistake to outright reject programs that contain such gratuitous semicolons. Given the number of occurrences of such constructs in testcases and GCC's libraries, it's obvious that a lot of code out there will be gratuitously (?) broken by this change.

Do you need help?X

Mark, would it be too hard to accept such empty declarations, for the sake of backward-compatibility, perhaps emitting a warning for this deprecated extension, and make it an error only in a future release? Or perhaps we might even want to accept it indefinitely as a GNU extension. Any reason not to? (Not that the extension would solve OpenBSD's problem, given that the C++ testsuite runs with -ansi)

-- 
Alexandre Oliva   Enjoy Guarana', see 
http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer
Received on Sun Dec 29 22:36:47 2002

This archive was generated by hypermail 2.1.8 : Wed Aug 23 2006 - 13:48:28 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library