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: office.c...@ni.com
Web: romania.ni.com

Vanzari si suport tehnic:
Telefon gratuit : 0800 070071
E-mail vanzari: ni.roma...@ni.com
E-mail suport tehnic: techsupp...@ni.com
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to