On Wed, Nov 4, 2009 at 2:08 PM, John McCall <[email protected]> wrote:
> Daniel Dunbar wrote:
>
> On Tue, Nov 3, 2009 at 7:36 PM, John McCall <[email protected]> wrote:
>
>
> +def err_cconv_knr : Error<
> +  "function with no prototype cannot use '%0' calling convention">;
>
>
> I'm not sure if we already have a canonical way of referring to this,
> but IIRC we already use "K&R" in other places, which may be more
> meaningful than "function with no prototype".
>
>
> I disagree.  I think very few people know what K&R syntax is, outside of a
> vague memory that they should (but usually don't) remember to write "(void)"
> instead of "()" when declaring a nullary function.  ANSI C programmers
> should at least be more familiar with the concept of a prototype.  The vast
> majority of people encountering this error are going to be people who've
> accidentally written their nullary function without void.

I'm arguing more for normalizing the diagnostics than one particular
spelling, I'm also not sure which one is best.

> ...not that there's really any point to declaring a nullary function
> fastcall, at least not in any of the conventions calling themselves
> 'fastcall' that I know about.

FWIW, this is also an argument that anyone who did this would not, in
fact, have a nullary function.

> That said, maybe we should say "K&R" and just provide a fixit to put 'void'
> in the argument list.

We don't want to fixit things unless we know the fixit is correct,
that wouldn't apply here.

 - Daniel

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to