llvm-project/clang/test/SemaOpenCL/vector_inc_dec_ops.cl

27 lines
741 B
Common Lisp

// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only
typedef __attribute__((ext_vector_type(2))) char char2;
typedef __attribute__((ext_vector_type(4))) unsigned int uint4;
typedef __attribute__((ext_vector_type(8))) long long8;
typedef __attribute__((ext_vector_type(4))) float float4;
void vectorIncrementDecrementOps(void)
{
char2 A = (char2)(1);
uint4 B = (uint4)(1);
long8 C = (long8)(1);
A++;
--A;
B--;
++B;
C++;
}
void invalidIncrementDecrementOps(void) {
((float4)(1.0f))++; // expected-error{{cannot increment value of type 'float4'}}
float4 i;
++i; // expected-error{{cannot increment value of type '__private float4'}}
i--; // expected-error{{cannot decrement value of type '__private float4'}}
}