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)
14 # define TYPE CONCAT3 (_Float, WIDTH, x)
15 # define CST(C) CONCAT4 (C, f, WIDTH, x)
16 # define CSTU(C) CONCAT4 (C, F, WIDTH, x)
18 # define TYPE CONCAT (_Float, WIDTH)
19 # define CST(C) CONCAT3 (C, f, WIDTH)
20 # define CSTU(C) CONCAT3 (C, F, WIDTH)
24 extern void exit (int);
25 extern void abort (void);
27 volatile TYPE a
= CST (1.0), b
= CSTU (2.5), c
= -CST (2.5);
28 volatile TYPE a2
= CST (1.0), z
= CST (0.0), nz
= -CST (0.0);
30 /* These types are not subject to default argument promotions. */
38 ret
= arg1
+ va_arg (ap
, TYPE
);