Joe Nelson <j...@begriffs.com> writes: > One might argue that INIT_ALL_ELEMS_FALSE as a synonym for > INIT_ALL_ELEMS_ZERO is good for readability in the same way that "false" > is for 0. However I want to avoid creating the impression that there is, > or can be, a collection of INIT_ALL_ELEMS_xxx macros invoking different > initializer behavior.
I concur with Joe here. The reason why some of the existing memset's use "false" is for symmetry with other places where we use "memset(p, true, n)" to set an array of bools to all-true. That coding is unfortunately a bit dubious --- it would sort-of fail if bool weren't of width 1, in that the bools would still test as true but they wouldn't contain the standard bit pattern for true. I don't want to change those places, but we shouldn't make the mechanism proposed by this patch look like it can do anything but initialize to zeroes. regards, tom lane