llvm-project/clang/test/SemaOpenCL/vector_inc_dec_ops.cl
Sven van Haastregt 7c77b536ef [OpenCL] Improve OpenCL operator tests
Extend testing of increment/decrement operators and make sure these
operators are tested in only one dedicated test file.

Rename logical-ops.cl to operators.cl, as it was already containing
more than just logical operators.

Add testing for the remainder operator on floating point types.
2021-01-13 14:50:49 +00:00

27 lines
733 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()
{
char2 A = (char2)(1);
uint4 B = (uint4)(1);
long8 C = (long8)(1);
A++;
--A;
B--;
++B;
C++;
}
void invalidIncrementDecrementOps() {
((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'}}
}