The commit http://gcc.gnu.org/viewcvs?view=revision&revision=122551
changed gcc's behaviour in ----------------------------- int bar(); int a = ((void *) bar) != 0; -------------------------------- We used to accept it, but now we produce test.c:2: error: initializer element is not constant The new behaviour is actually the correct one, but it points out that the change had unintentional effects. Richard asked me to create his bug for him to investigate. -- Summary: missed optimization Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: rguenther at suse dot de ReportedBy: espindola at gcc dot gnu dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44024