http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58488
--- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- Note that this has nothing to do with the fact that the uninitialized var is a pointer: void test(char); int main(void) { char oops; test(oops); char *other = &oops; return !other; }