Nicolas Pitre wrote: > On Thu, 9 Oct 2008, Brandon Casey wrote: > >> "Possible" benefits: >> >> 1) more concise, so it improves readability in most cases >> 2) gives compiler more flexibility when optimizing > > Beware beware. At some point this wasn't a gain at all with some gcc > versions as it was stupid enough to construct a temporary object on the > stack corresponding to "{ 0, }" and afterward do the assignment by > *copying* this object to a different stack slot corresponding to the > actual variable instead of constructing the initial value in place. > > Also note that, on the other hand, gcc is smart enough to optimize a > memset() using a constant size and value already by doing appropriate > code replacement inline. I've also seen cases where gcc did the > opposite and replaced an explicit assignment like your patch does with > an actual call to memset() when optimizing for size. I'd call that flexibility. > So when claiming flexibility for the compiler to better optimize things, > please make sure this is really what is happening through assembly dump > inspection. I didn't claim the compiler _would_ do a better job at optimizing if memset wasn't used (though my expectation is that it would do no worse, and I don't have assembly dumps to back that up). I suggested it could give the compiler more flexibility. In some strange way you seem to agree with me and have given 3 examples of ways that compilers may optimize static initialization. :) Anyway, this is a nothing patch. There is no functional change. If readability is not improved, it is not worth applying. Of course, I don't plan on scanning through and converting all of the existing assignments which use { 0, } to use memset. I find a single step declaration/initialization simpler. Not sure why that seems to be the case in the git source for simple variables but not structures. -brandon -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html