From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29693 invoked by alias); 29 Jul 2005 23:25:32 -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 29664 invoked by uid 48); 29 Jul 2005 23:25:29 -0000 Date: Fri, 29 Jul 2005 23:30:00 -0000 From: "jsm28 at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org Message-ID: <20050729232527.23143.jsm28@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c/23143] New: [4.1 Regression] parameter forward declarations broken X-Bugzilla-Reason: CC X-SW-Source: 2005-07/txt/msg03941.txt.bz2 List-Id: The new C parser lost a call to mark_forward_parm_decls, thereby completely breaking the GNU extension of forward parameter declarations. I'm testing a patch. Testcases: int f1(int a; int a); should be accepted (rather than complaining about a duplicate parameter name), int h1(int a; int b); should be rejected. Observations: 1. This is the first new C parser bug affecting valid code found since the parser went in in February. 2. It suggests that no-one is using this extension. 3. I'm surprised that mark_forward_parm_decls didn't get removed as an unused function after the call was lost. 4. The patch I'm testing restores things to the same functionality as in 4.0. There are various cases of invalid code involving this extension which 3.4 diagnoses and 4.0 doesn't; I'll file a separate bug for those. -- Summary: [4.1 Regression] parameter forward declarations broken Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: jsm28 at gcc dot gnu dot org ReportedBy: jsm28 at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23143