Egor Churaev | c1e4611 | 2017-05-25 06:55:02 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -verify %s |
Tanya Lattner | 8355938 | 2011-07-15 23:07:01 +0000 | [diff] [blame] | 2 | |
| 3 | typedef __attribute__(( ext_vector_type(4) )) float float4; |
| 4 | typedef __attribute__(( ext_vector_type(4) )) int int4; |
| 5 | typedef __attribute__(( ext_vector_type(8) )) int int8; |
| 6 | |
| 7 | void vector_literals_invalid() |
| 8 | { |
| 9 | int4 a = (int4)(1,2,3); // expected-error{{too few elements}} |
| 10 | int4 b = (int4)(1,2,3,4,5); // expected-error{{excess elements in vector}} |
Tobias Grosser | 0a3a22f | 2011-09-21 18:28:29 +0000 | [diff] [blame] | 11 | ((float4)(1.0f))++; // expected-error{{cannot increment value of type 'float4'}} |
Tanya Lattner | 8355938 | 2011-07-15 23:07:01 +0000 | [diff] [blame] | 12 | int8 d = (int8)(a,(float4)(1)); // expected-error{{initializing 'int' with an expression of incompatible type 'float4'}} |
Egor Churaev | c1e4611 | 2017-05-25 06:55:02 +0000 | [diff] [blame] | 13 | ((int4)(0)).x = 8; // expected-error{{expression is not assignable}} |
Tanya Lattner | 8355938 | 2011-07-15 23:07:01 +0000 | [diff] [blame] | 14 | } |