| /* { dg-do compile } */ |
| /* { dg-options "-std=gnu99" } */ |
| |
| /* C99 6.5.3 Unary ~. */ |
| |
| void test () |
| { |
| short _Fract sf; |
| _Fract f; |
| long _Fract lf; |
| long long _Fract llf; |
| unsigned short _Fract usf; |
| unsigned _Fract uf; |
| unsigned long _Fract ulf; |
| unsigned long long _Fract ullf; |
| _Sat short _Fract Ssf; |
| _Sat _Fract Sf; |
| _Sat long _Fract Slf; |
| _Sat long long _Fract Sllf; |
| _Sat unsigned short _Fract Susf; |
| _Sat unsigned _Fract Suf; |
| _Sat unsigned long _Fract Sulf; |
| _Sat unsigned long long _Fract Sullf; |
| short _Accum sa; |
| _Accum a; |
| long _Accum la; |
| long long _Accum lla; |
| unsigned short _Accum usa; |
| unsigned _Accum ua; |
| unsigned long _Accum ula; |
| unsigned long long _Accum ulla; |
| _Sat short _Accum Ssa; |
| _Sat _Accum Sa; |
| _Sat long _Accum Sla; |
| _Sat long long _Accum Slla; |
| _Sat unsigned short _Accum Susa; |
| _Sat unsigned _Accum Sua; |
| _Sat unsigned long _Accum Sula; |
| _Sat unsigned long long _Accum Sulla; |
| |
| /* C99 Section 6.5.3.3 ~ shall have integer types. */ |
| |
| ~sf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~f; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~lf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~llf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~usf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~uf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~ulf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~ullf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Ssf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Slf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sllf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Susf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Suf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sulf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sullf; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~sa; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~a; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~la; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~lla; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~usa; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~ua; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~ula; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~ulla; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Ssa; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sa; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sla; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Slla; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Susa; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sua; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sula; /* { dg-error "wrong type argument to bit-complement" } */ |
| ~Sulla; /* { dg-error "wrong type argument to bit-complement" } */ |
| |
| } |