================ @@ -110,6 +110,10 @@ void Operands() { (void)(four_shorts ? four_shorts : uss); // expected-error {{cannot convert between scalar type 'unsigned short' and vector type 'FourShorts'}} (void)(four_ints ? four_floats : us); // expected-error {{cannot convert between scalar type 'unsigned int' and vector type 'FourFloats'}} (void)(four_ints ? four_floats : sint); // expected-error {{cannot convert between scalar type 'int' and vector type 'FourFloats'}} + (void)(four_ints ? &four_floats : &sint); // expected-error {{vector operands to the vector conditional must be the same type ('FourFloats *' and 'int *')}} ---------------- AaronBallman wrote:
The rules seem to be different between C and C++ in GCC, and I can't quite suss out what Clang's rules actually are. https://godbolt.org/z/q3Wea5sYd CC @fhahn @simoll https://github.com/llvm/llvm-project/pull/102004 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits