https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112556
--- Comment #1 from Halalaluyafail3 <luigighiron at gmail dot com> --- This bug also seems to happen with boolean types: void*p=(_Bool)0; Furthermore, this bug only seems to happen when the type of the null pointer constant is an enumeration or boolean type: void*p1=+(_Bool)0,*p2=+(enum{E})E; No errors are generated for this code.