Re: [PATCH] Fix pointer cast for 32 bits arch

From: Geert Uytterhoeven
Date: Mon Apr 13 2015 - 07:21:48 EST


Hi Peter,

On Mon, Apr 13, 2015 at 1:14 PM, Peter Senna Tschudin
<peter.senna@xxxxxxxxx> wrote:
>> Perhaps checkpatch should complain about casts outside header files?
> Cocinelle found 664 double casts:
> http://pastebin.com/2bi9Dg7k
>
> and 9 triple casts:
> http://pastebin.com/RkJhPTTV

I think double casts are only needed when casting between integers
and pointers of different sizes:
1. One cast to make the sizes match,
2. One cast to convert between pointer and integer.

I think triple casts can always be simplified.
Or am I missing some use cases?

> Those are 'not' patches, just the output of Coccinelle for analysis.
> The .cocci for triple cast:
> @@
> expression e1, e2;
> type t1, t2, t3;
> @@
> e1 =
> - (t1)(t2)(t3)
> e2
>
> So if there are cast patterns known to be wrong, it is easy to find
> and probably fix them with Coccinelle.

It depends on the original type and on the destination type.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/