I attached test file. In the test we have diagnostic message with the following text: “scalar operand type has greater rank than the type of the vector element. (‘float2’ (vector of 2 ‘float’ values) and ‘double’)”.
If we run this test on the ToT then we get another diagnostic with the following message: “cannot convert between vector values of different size (‘float2’ (vector of 2 ‘float’ values) and ‘double’)”.
I think that the diagnostic on the ToT is wrong because in the code we don’t have two vectors, we have one vector and one scalar. In the OpenCL V2.0 6.2.6.p2 is written that “An error shall occur if any scalar operand has greater rank than the type of the vector element.”.
I have a patch where this diagnostic was implemented.
Should I commit this patch to ToT or it doesn’t matter which diagnostic we will get in this case?
arithmetic-conversions.cl (967 Bytes)