(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
fixed-point/
bit-complement.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-std=gnu99" } */
       3  
       4  /* C99 6.5.3 Unary ~.  */
       5  
       6  void test ()
       7  {
       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;
      40  
      41    /* C99 Section 6.5.3.3 ~ shall have integer types.  */
      42  
      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" } */
      75  
      76  }