1 /* { dg-do compile } */
2 /* { dg-options "-std=gnu99" } */
4 /* Test various conversions involving decimal floating types. */
6 /* Assertion that constant C is of type T. */
7 #define ASSERT_CONST_TYPE(C, T) \
10 typedef type **typepp; \
11 typedef __typeof__((C)) ctype; \
12 typedef ctype **ctypepp; \
22 ASSERT_CONST_TYPE (3 + 2.1df
, _Decimal32
); /* { dg-bogus "assignment from incompatible pointer type" } */
23 ASSERT_CONST_TYPE (1.3df
+ 2, _Decimal32
); /* { dg-bogus "assignment from incompatible pointer type" } */
24 ASSERT_CONST_TYPE (56U - 55.0dd
, _Decimal64
); /* { dg-bogus "assignment from incompatible pointer type" } */
25 ASSERT_CONST_TYPE (5 * .2DL
, _Decimal128
); /* { dg-bogus "assignment from incompatible pointer type" } */
26 ASSERT_CONST_TYPE (.88dl
/ 2L, _Decimal128
); /* { dg-bogus "assignment from incompatible pointer type" } */
27 ASSERT_CONST_TYPE (.114df
- 1.6dd
, _Decimal64
); /* { dg-bogus "assignment from incompatible pointer type" } */
28 ASSERT_CONST_TYPE (3L - 1 + .55df
, _Decimal32
); /* { dg-bogus "assignment from incompatible pointer type" } */