1 /* Basic tests for _FloatN / _FloatNx types: compile and execution
2 tests for valid code. Before including this file, define WIDTH as
3 the value N; define EXT to 1 for _FloatNx and 0 for _FloatN. */
7 #define CONCATX(X, Y) X ## Y
8 #define CONCAT(X, Y) CONCATX (X, Y)
9 #define CONCAT3(X, Y, Z) CONCAT (CONCAT (X, Y), Z)
10 #define CONCAT4(W, X, Y, Z) CONCAT (CONCAT (CONCAT (W, X), Y), Z)
13 # define TYPE CONCAT3 (_Float, WIDTH, x)
14 # define CST(C) CONCAT4 (C, f, WIDTH, x)
15 # define CSTU(C) CONCAT4 (C, F, WIDTH, x)
17 # define TYPE CONCAT (_Float, WIDTH)
18 # define CST(C) CONCAT3 (C, f, WIDTH)
19 # define CSTU(C) CONCAT3 (C, F, WIDTH)
22 extern void exit (int);
23 extern void abort (void);
25 volatile TYPE a
= CST (1.0), b
= CSTU (2.5), c
= -CST (2.5);
26 volatile TYPE a2
= CST (1.0), z
= CST (0.0), nz
= -CST (0.0);
28 /* These types are not subject to default argument promotions. */
36 ret
= arg1
+ va_arg (ap
, TYPE
);