Merge from mainline (154736:156693)
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.dg / compat / decimal / compat-common.h
blob43c22d722f761dd086054cd36037f5a2fd72763a
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. */
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
27 #ifdef SKIP_COMPLEX
28 #ifndef SKIP_COMPLEX_INT
29 #define SKIP_COMPLEX_INT
30 #endif
31 #endif
33 #ifndef SKIP_COMPLEX
34 #ifdef __GNUC__
35 #define CINT(x, y) (x + y * __extension__ 1i)
36 #define CDBL(x, y) (x + y * __extension__ 1i)
37 #else
38 #ifdef __SUNPRO_C
39 /* ??? Complex support without <complex.h>. */
40 #else
41 #include <complex.h>
42 #endif
43 #ifndef SKIP_COMPLEX_INT
44 #define CINT(x, y) ((_Complex int) (x + y * _Complex_I))
45 #endif
46 #define CDBL(x, y) (x + y * _Complex_I)
47 #endif
48 #endif
50 #ifdef __cplusplus
51 extern "C" void abort (void);
52 #else
53 extern void abort (void);
54 #endif
55 extern int fails;