(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr37908.c
       1  /* { dg-do run } */
       2  /* { dg-require-effective-target sync_char_short } */
       3  /* { dg-options "-Wsync-nand" } */
       4  /* { dg-options "-Wsync-nand -march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
       5  /* { dg-options "-Wsync-nand -mcpu=v9" { target sparc*-*-* } } */
       6  
       7  
       8  extern void abort (void);
       9  
      10  int main (void)
      11  {
      12  
      13    short xLoc;
      14    short xIn, xOut, xExpect, i = 1;
      15  
      16    xLoc = xIn = ~ (1 << i);
      17    xExpect = ~ (xIn & 0x7F);
      18  
      19    xOut = __sync_nand_and_fetch (&xLoc, 0x7F); /* { dg-message "note: '__sync_nand_and_fetch' changed semantics in GCC 4.4" } */
      20  
      21    if (xOut != xExpect)
      22      abort ();
      23  
      24    return 0;
      25  }