brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 3d3e684 Raw
37 lines · c
1// RUN: %clang_cc1 -verify -ffixed-point %s2 3void func(void) {4  _Bool b;5  char c;6  int i;7  float f;8  double d;9  double _Complex dc;10  int _Complex ic;11  struct S {12    int i;13  } s;14  enum E {15    A16  } e;17  int *ptr;18  typedef int int_t;19  int_t i2;20 21  _Accum accum;22  _Fract fract = accum; // ok23  _Accum *accum_ptr;24 25  accum = dc;      // expected-error{{conversion between fixed point and '_Complex double' is not yet supported}}26  accum = ic;      // expected-error{{conversion between fixed point and '_Complex int' is not yet supported}}27  accum = s;       // expected-error{{assigning to '_Accum' from incompatible type 'struct S'}}28  accum = ptr;     // expected-error{{assigning to '_Accum' from incompatible type 'int *'}}29  accum_ptr = ptr; // expected-error{{incompatible pointer types assigning to '_Accum *' from 'int *'}}30 31  dc = accum;      // expected-error{{conversion between fixed point and '_Complex double' is not yet supported}}32  ic = accum;      // expected-error{{conversion between fixed point and '_Complex int' is not yet supported}}33  s = accum;       // expected-error{{assigning to 'struct S' from incompatible type '_Accum'}}34  ptr = accum;     // expected-error{{assigning to 'int *' from incompatible type '_Accum'}}35  ptr = accum_ptr; // expected-error{{incompatible pointer types assigning to 'int *' from '_Accum *'}}36}37