OSDN Git Service

* gcc.dg/uninit-H.c: Define ASM for Xtensa targets.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / compat / 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 + __extension__ y##i)
29 #define CDBL(x, y) (x + __extension__ y##i)
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;