llvm-project/clang/test/SemaOpenCL/vector_inc_dec_ops.cl
Aaron Ballman 0e890904ea Use functions with prototypes when appropriate; NFC
A significant number of our tests in C accidentally use functions
without prototypes. This patch converts the function signatures to have
a prototype for the situations where the test is not specific to K&R C
declarations. e.g.,

  void func();

becomes

  void func(void);
2022-03-31 13:45:39 -04:00

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'}}
}