| 1 | // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fno-lax-vector-conversions -verify %s |
| 2 | typedef unsigned int __attribute__((vector_size (16))) vUInt32; |
| 3 | typedef int __attribute__((vector_size (16))) vSInt32; |
| 4 | |
| 5 | vSInt32 foo (vUInt32 a) { |
| 6 | vSInt32 b = { 0, 0, 0, 0 }; |
| 7 | b += a; // expected-error{{cannot convert between vector type 'vUInt32' (vector of 4 'unsigned int' values) and vector type 'vSInt32' (vector of 4 'int' values) as implicit conversion would cause truncation}} |
| 8 | return b; |
| 9 | } |
| 10 | |