https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64867
--- Comment #28 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Trass3r from comment #27) > This should really be enabled by -Wall or -Wextra as it generates code that > may easily crash or corrupt something. But GCC supports this fully. That is why it is/was part of -Wconditionally-supported . The code if used correctly does not cause crashes or corrupts anything. In fact GCC documents this behavior: https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Conditionally-supported-behavior.html#Conditionally-supported-behavior :) > Clang even turns it into an error by default and inserts a trap to abort at > runtime: https://godbolt.org/z/8DAUAr But clang does not support this. Both compilers are correct; in that this feature is considered as conditionally supported with implementation defined behavior. So both compilers are prefectly ok in having their own choices.