https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109557
--- Comment #4 from Siddhesh Poyarekar <siddhesh at gcc dot gnu.org> --- (In reply to Martin Uecker from comment #3) > I general the pointer could point to the first object of an array that has > more elements, or to an object of a different type. How so? p in comment 0 is just a NULL-initialized pointer. It gets assigned to a malloc'd storage in store() (which the code in main() cannot see) but until then, it's a NULL pointer.