1 /* Test that DFP constants are accepted in C23 mode. */
3 /* { dg-options "-std=c23 -pedantic-errors" } */
9 int e
= (int) .3e2D128
;
10 int f
= (int) 4.5e3d128
;
11 int g
= (int) 5.e0D32
;
12 int h
= (int) 1e+2d32
;
13 int i
= (int) 1000e-3D128
;
15 #define expr_has_type(e, t) _Generic (e, default : 0, t : 1)
16 static_assert (expr_has_type (1.1D32
, _Decimal32
));
17 static_assert (expr_has_type (2.d32
, _Decimal32
));
18 static_assert (expr_has_type (.33D64
, _Decimal64
));
19 static_assert (expr_has_type (2e1d64
, _Decimal64
));
20 static_assert (expr_has_type (.3e2D128
, _Decimal128
));
21 static_assert (expr_has_type (4.5e3d128
, _Decimal128
));
22 static_assert (expr_has_type (5.e0D32
, _Decimal32
));
23 static_assert (expr_has_type (1e+2d32
, _Decimal32
));
24 static_assert (expr_has_type (1000e-3D128
, _Decimal128
));
34 || 4.5e3d128
!= 4.5e3dl
37 || 1000e-3D128
!= 1000e-3dl
)