Thanks for the fast review.
> On Mon, Jan 25, 2016 at 03:18:31PM +0000, Paul Titei via cfe-commits wrote:
> > +// function definition with 0 params(for both cases), valid according
> > +to 6.7.5.3/14 void foo1() {}
> I still want to get a warning for this. At best it is inconsistent.
I agree this is inconsistent with GCC behavior of this warning which warns even
for
void main(){}.
But from what I understand the standard makes a distinction between unspecified
parameters in declaration VS definitions (C99 6.7.5.3/14):
"An empty list in a function declarator that is part of a definition of that
function specifies that the function has no parameters."
As opposed with:
"The empty list in a function declarator that is not part of a definition of
that function specifies that no information about the number or types of the
parameters is supplied."
> > +// Function declaration with no types void foo10(); //
> > +expected-warning{{this function declaration is not a prototype}}
> > + // CHECK: fix-it:"{{.*}}":{70:12-70:12}:"void"
> > +// K&R function definition with incomplete param list declared void
> > +foo10(p, p2) void *p; {} // expected-warning{{old-style function
> > +definition is not preceded by a prototype}}
> > +
> > +// Prototype declaration
> > +void foo11(int p, int p2);
> > +// K&R function definition with previous prototype declared is not
> > diagnosed.
> > +void foo11(p, p2) int p; int p2; {}
> Same here. I'm perfectly happy if that is a separate option though.
It would make sense to not diagnose this last case since there is there is a
previous prototype.
Also GCC does not diagnose this:
"An old-style function definition is permitted without a warning if preceded by
a declaration that specifies the argument types."
Paul Titei
National Instruments Romania S.R.L.
------------------------------------------------------
B-dul 21 Decembrie 1989, nr. 77, A2
Cluj-Napoca 400604, Romania
C.I.F.: RO17961616 | O.R.C.: J12/3337/2005
Telefon: +40 264 406428 | Fax: +40 264 406429
E-mail: [email protected]
Web: romania.ni.com
Vanzari si suport tehnic:
Telefon gratuit : 0800 070071
E-mail vanzari: [email protected]
E-mail suport tehnic: [email protected]
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits