Merged with mainline at revision 128810.
[official-gcc.git] / gcc / testsuite / gcc.dg / fixed-point / bit-complement.c
blob76c20d0d43f6280af653899234afc0732359a0d0
1 /* { dg-do compile } */
2 /* { dg-options "-std=gnu99" } */
4 /* C99 6.5.3 Unary ~. */
6 void test ()
8 short _Fract sf;
9 _Fract f;
10 long _Fract lf;
11 long long _Fract llf;
12 unsigned short _Fract usf;
13 unsigned _Fract uf;
14 unsigned long _Fract ulf;
15 unsigned long long _Fract ullf;
16 _Sat short _Fract Ssf;
17 _Sat _Fract Sf;
18 _Sat long _Fract Slf;
19 _Sat long long _Fract Sllf;
20 _Sat unsigned short _Fract Susf;
21 _Sat unsigned _Fract Suf;
22 _Sat unsigned long _Fract Sulf;
23 _Sat unsigned long long _Fract Sullf;
24 short _Accum sa;
25 _Accum a;
26 long _Accum la;
27 long long _Accum lla;
28 unsigned short _Accum usa;
29 unsigned _Accum ua;
30 unsigned long _Accum ula;
31 unsigned long long _Accum ulla;
32 _Sat short _Accum Ssa;
33 _Sat _Accum Sa;
34 _Sat long _Accum Sla;
35 _Sat long long _Accum Slla;
36 _Sat unsigned short _Accum Susa;
37 _Sat unsigned _Accum Sua;
38 _Sat unsigned long _Accum Sula;
39 _Sat unsigned long long _Accum Sulla;
41 /* C99 Section 6.5.3.3 ~ shall have integer types. */
43 ~sf; /* { dg-error "wrong type argument to bit-complement" } */
44 ~f; /* { dg-error "wrong type argument to bit-complement" } */
45 ~lf; /* { dg-error "wrong type argument to bit-complement" } */
46 ~llf; /* { dg-error "wrong type argument to bit-complement" } */
47 ~usf; /* { dg-error "wrong type argument to bit-complement" } */
48 ~uf; /* { dg-error "wrong type argument to bit-complement" } */
49 ~ulf; /* { dg-error "wrong type argument to bit-complement" } */
50 ~ullf; /* { dg-error "wrong type argument to bit-complement" } */
51 ~Ssf; /* { dg-error "wrong type argument to bit-complement" } */
52 ~Sf; /* { dg-error "wrong type argument to bit-complement" } */
53 ~Slf; /* { dg-error "wrong type argument to bit-complement" } */
54 ~Sllf; /* { dg-error "wrong type argument to bit-complement" } */
55 ~Susf; /* { dg-error "wrong type argument to bit-complement" } */
56 ~Suf; /* { dg-error "wrong type argument to bit-complement" } */
57 ~Sulf; /* { dg-error "wrong type argument to bit-complement" } */
58 ~Sullf; /* { dg-error "wrong type argument to bit-complement" } */
59 ~sa; /* { dg-error "wrong type argument to bit-complement" } */
60 ~a; /* { dg-error "wrong type argument to bit-complement" } */
61 ~la; /* { dg-error "wrong type argument to bit-complement" } */
62 ~lla; /* { dg-error "wrong type argument to bit-complement" } */
63 ~usa; /* { dg-error "wrong type argument to bit-complement" } */
64 ~ua; /* { dg-error "wrong type argument to bit-complement" } */
65 ~ula; /* { dg-error "wrong type argument to bit-complement" } */
66 ~ulla; /* { dg-error "wrong type argument to bit-complement" } */
67 ~Ssa; /* { dg-error "wrong type argument to bit-complement" } */
68 ~Sa; /* { dg-error "wrong type argument to bit-complement" } */
69 ~Sla; /* { dg-error "wrong type argument to bit-complement" } */
70 ~Slla; /* { dg-error "wrong type argument to bit-complement" } */
71 ~Susa; /* { dg-error "wrong type argument to bit-complement" } */
72 ~Sua; /* { dg-error "wrong type argument to bit-complement" } */
73 ~Sula; /* { dg-error "wrong type argument to bit-complement" } */
74 ~Sulla; /* { dg-error "wrong type argument to bit-complement" } */