On Fri, May 21, 2010 at 05:18:40PM +0200, Julia Lawall wrote: > On Fri, 21 May 2010, Arnaud Lacombe wrote: > > > Hi, > > > > On Fri, May 21, 2010 at 10:48 AM, Julia Lawall <[email protected]> wrote: > > > I don't think I am going to be very successful with fixing this. The > > > problem is that a function prototype initially looks like a K&R function > > > definition, eg > > > > > > int f(foo,bar,xyz) > > > > > > If it is a prototype, then foo, bar, and xyz are typedefs (presumably > > > defined in some header file we don't have access too). If it is a K&R > > > definition, then they are variables. > > > > > > Unfortunately, trying to make the parser aware of which it is seems to > > > introduce conflicts. > > > > > Shouldn't a function prototype be always terminated by a ';' which > > would allow the parser to differentiate between prototype, K&R > > function declaration and standard function. > > Yes, but the parser just isn't organized in that way. It has a rule for > the type-name-parameter list that is shared by prototypes, standard > functions, and K&R functions. The ; is dealt with somewhere else. > > > > Since K&R C is not very well supported anyway, due to the need for the > > > declarations not to appear in the leftmost column, and due to the general > > > complexity of the parser, I think the risk of breaking something is higher > > > than the benefit of fixing the problem. > > > > > he, I guess that's another argument is favor of getting rid of such > > declaration. > > Yes, I think that would be best...
It would be nice to have it documented that K&R C might cause problems. Regards, Wolfram -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ |
signature.asc
Description: Digital signature
_______________________________________________ Cocci mailing list [email protected] http://lists.diku.dk/mailman/listinfo/cocci (Web access from inside DIKUs LAN only)
