(root)/
gcc-13.2.0/
gcc/
testsuite/
objc.dg/
gnu-encoding/
compat-common.h
       1  /*  Several of the binary compatibility tests use these macros to
       2      allow debugging the test or tracking down a failure by getting an
       3      indication of whether each individual check passed or failed.
       4      When DBG is defined, each check is shown by a dot (pass) or 'F'
       5      (fail) rather than aborting as soon as a failure is detected.  */
       6   
       7  #ifdef DBG
       8  #include <stdio.h>
       9  #define DEBUG_INIT setbuf (stdout, NULL);
      10  #define DEBUG_FPUTS(x) fputs (x, stdout)
      11  #define DEBUG_DOT putc ('.', stdout)
      12  #define DEBUG_NL putc ('\n', stdout)
      13  #define DEBUG_FAIL putc ('F', stdout); fails++
      14  #define DEBUG_CHECK { DEBUG_FAIL; } else { DEBUG_DOT; }
      15  #define DEBUG_FINI if (fails) DEBUG_FPUTS ("failed\n"); \
      16  		   else DEBUG_FPUTS ("passed\n");
      17  #else
      18  #define DEBUG_INIT
      19  #define DEBUG_FPUTS(x)
      20  #define DEBUG_DOT
      21  #define DEBUG_NL
      22  #define DEBUG_FAIL abort ()
      23  #define DEBUG_CHECK abort ();
      24  #define DEBUG_FINI
      25  #endif
      26  
      27  #ifdef __GNUC__
      28  #define CINT(x, y) (x + y * __extension__ 1i)
      29  #define CDBL(x, y) (x + y * __extension__ 1i)
      30  #else
      31  #ifdef __SUNPRO_C
      32  /* ??? Complex support without <complex.h>.  */
      33  #else
      34  #include <complex.h>
      35  #endif
      36  #ifndef SKIP_COMPLEX_INT
      37  #define CINT(x, y) ((_Complex int) (x + y * _Complex_I))
      38  #endif
      39  #define CDBL(x, y) (x + y * _Complex_I)
      40  #endif
      41  
      42  extern void abort (void);
      43  extern int fails;