On Sun, 12 Sep 2010, Jean Sacren wrote: > On Sat, Sep 11, 2010 at 01:40:37PM -0300, Henrique de Moraes Holschuh wrote: > > On Sat, 11 Sep 2010, Jean Sacren wrote: > > > warning: 'num_cpus' may be used uninitialized in this function > > > > > > Initialize 'num_cpus' variable to zero so that gcc doesn't complain. > > > > acpi_pad_pur() is referenced only once, so it should end up inlined, at > > which point gcc really has no excuse to not determine with perfect > > confidence whether num_cpus is being used unitialized or not. > > > If acpi_pad_pur() is called and returns with non-zero value, > acpi_pad_handle_notify() happily returns, but num_cpus is referenced by > address without being initialized, so gcc gives the warning. > > > > Looking at the code, it realy does look like a false positive. > > > Unfortunately it is _not_ a false positive. Here gcc does what it's > supposed to do. Therefore, the patch is correct. It will be a false positive if the variable is NOT used unitialized. Passing a reference does not access the object, and acpi_pad_pur() is not a black box to the optimizer (all static, all in the same file, and it is being inlined even...) I don't think num_cpus is being used unitialized, so, as far as I can tell, it is a false positive. gcc should not have issued that warning. I don't object to the patch, btw. -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html