[PATCH] D16533: Bug 20796 - GCC's -Wstrict-prototypes warning not implemented in Clang

Joerg Sonnenberger via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 25 08:35:05 PST 2016


Thanks for working on this!

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.

> +// 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.

Joerg


More information about the cfe-commits mailing list