http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53330
--- Comment #1 from Adam Borowski <kilobyte at angband dot pl> 2012-05-12 11:01:23 UTC --- Correction: after testing with valgrind, the return value is indeed uninitialized; the pointer in contructor-but-no-fields case happens to be non-zero but is junk and will cause a crash when you try to free it.