On Fri, Mar 9, 2018 at 8:16 AM, Himanshu Jha <himanshujha199640@xxxxxxxxx> wrote: > Hello everyone, > > > I just compiled the kernel by passing "-Wformat-signedness" flag > > https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html > > -Wformat-signedness: > If -Wformat is specified, also warn if the format string requires an > unsigned argument and the argument is signed and vice versa. > > Now, the C standard says: > > "If a conversion specification is invalid, the behavior is undefined. > If any argument is > not the correct type for the corresponding conversion specification, the > behavior is *undefined*." > > For eg: > > drivers/iio/trigger/stm32-timer-trigger.c:228:24: warning: format ‘%d’ > expects argument of type ‘int’, but argument 3 has type ‘unsigned int’ > [-Wformat=] > return sprintf(buf, "%d\n", (unsigned int)freq); > ~^ ~~~~~~~~~~~~~~~~~~ > %d > > What is the rationale for not including/using this flag in the > HOSTCFLAGS in the Makefile ? In the past, it was posited the toolchain should be smart enough to know when the programmer intended/needed a signed value versus an unsigned one. Also see http://linux.derkeiler.com/Mailing-Lists/Kernel/2006-11/msg08325.html. Jeff -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html