Several of Andres' buildfarm animals have recently started to whine
that "performing pointer subtraction with a null pointer has undefined
behavior" for assorted places in freepage.c.
From a mathematical standpoint, this astonishes me: "x - 0 = x" is a
tautology. So I'm a bit inclined to say "you're full of it" and disable
-Wnull-pointer-subtraction. On the other hand, all of the occurrences
are in calls of relptr_store with a constant-NULL third argument.
So we could silence them without too much pain by adjusting that macro
to special-case NULL. Or maybe we should change these call sites to do
something different, because this is surely abusing the intent of
relptr_store.
Thoughts?
regards, tom lane