https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88698
--- Comment #7 from Devin Hussey <husseydevin at gmail dot com> --- I mean, sure, but how about this? What about meeting in the middle? -fno-lax-vector-conversions generates errors like it does now. -flax-vector-conversions shuts GCC up. No flag causes warnings on -Wpedantic or -Wvector-conversion. If we really want to enforce the standard, we should also add a pedantic warning for when we use overloads on intrinsic types without -std=gnu*. -Wgnu-vector-extensions or something: warning: { arithmetic operators | logical operators | array subscripts | initializer lists } on vector types are a GNU extension I feel that the weird promotion rules Clang uses should be an error, and assignment to different types should warn without a cast.