This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/23143] New: [4.1 Regression] parameter forward declarations broken
- From: "jsm28 at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jul 2005 23:25:29 -0000
- Subject: [Bug c/23143] New: [4.1 Regression] parameter forward declarations broken
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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