On Thu, May 28, 2020 at 2:24 PM <bugzilla-daemon@xxxxxxxxxxxxxxxxxxx> wrote: > > Well, that's really the point. > The problem Sparse also gives the warnings corresponding to clang's -Wnonnull > and my understanding is that these warnings are desired for the kernel even > when coming from using '{ 0 }'. In the kernel, the empty initializer is be the usual way to create a zero initializer. So yes, { 0 } may exist, but it generally should be used for initializing something that is known to be an integer. And if it's a pointer, it should warn, because '0' should never have been a valid pointer, traditional C or not. It's not like we use pedantic and portable standard C to begin with. So yeah, the sparse defaults may be a bit kernel-centric. Linus