https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117197
--- Comment #4 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- On the whole I'd expect vector initializers to work like structure ones: that a vector can be initialized either with another vector of the same type, or with brace-enclosed scalars, and that inside a braced structure / array initializer, the braces around the initializer for a vector member might be omitted, with, in that case, the element or subelement to be initialized to be determined by the type of the initializer. So the example in comment#3 ought to be valid on that basis, but not the ".a = 2" one because of the invalid conversion from int to vector type (of course it should not ICE).
