Messages in this thread | | | Date | Tue, 15 Sep 2015 16:52:20 -0700 | Subject | Re: [RFC][PATCH 5/5] abs(): Provide build error on passing 64bit value to abs() | From | Linus Torvalds <> |
| |
On Mon, Sep 14, 2015 at 10:22 PM, Ingo Molnar <mingo@kernel.org> wrote: > > I think this should be a compiletime_warning() - that will be visible enough.
So the problem with this is that by now most kernel developers are on 64-bit.
And that "sizeof(typeof(x)) > sizeof(long))" would effectively never trigger on 64-bit architectures, so almost no core developers would see it. Yes, it would be caught by buildbots etc, but that's really not very convenient. The new errors would be noticed too late, because the actual *developers* wouldn't see them.
(Not to mention that the "typeof()" in that expression is redundant ;)
So I think the "auto-expand to 's64' using __builtin_choose_expr()" is the preferable model, and get rid of abs64() entirely. It has very few uses.
Linus
| |