It's a very annoying warning, and it's about a sparse limitation rather than a real feature, so don't do it by default. Sure, our lack of transparent union support will then make us warn about the magic calling convention hacks (eg you'll see warnings like connect.c:240:39: warning: incorrect type in argument 2 (invalid types) connect.c:240:39: expected union __CONST_SOCKADDR_ARG [usertype] __addr connect.c:240:39: got struct sockaddr *ai_addr but it still doesn't mean that we have to be so noisy about just seeing those transparent unions. One annoying warning is not an argument for doing _another_ annoying warning too (and the calling convention warnings at least only happen if you actually use them, unlike the transparent union warning that happens every time we see one, used or not). Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> --- lib.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib.c b/lib.c index 2b8d21e..42affcd 100644 --- a/lib.c +++ b/lib.c @@ -206,7 +206,7 @@ int Wparen_string = 0; int Wptr_subtraction_blows = 0; int Wreturn_void = 0; int Wshadow = 0; -int Wtransparent_union = 1; +int Wtransparent_union = 0; int Wtypesign = 0; int Wundef = 0; int Wuninitialized = 1; -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html