From: H.J. Lu Date: Mon, 16 Dec 2024 21:50:47 +0000 (+0800) Subject: ldbl-96: Set -1 to "int sign_exponent:16" X-Git-Tag: glibc-2.41~332 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54fe008ba66b2575fb1815f3d5e0811a0107a00c;p=thirdparty%2Fglibc.git ldbl-96: Set -1 to "int sign_exponent:16" ieee_long_double_shape_type has typedef union { long double value; struct { ... int sign_exponent:16; ... } parts; } ieee_long_double_shape_type; Clang issues an error: ../sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c:49:2: error: implicit truncation from 'int' to bit-field changes value from 65535 to -1 [-Werror,-Wbitfield-constant-conversion] 49 | SET_LDOUBLE_WORDS (ldnx, 0xffff, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50 | tests[i] >> 32, tests[i] & 0xffffffffULL); | Use -1, instead of 0xffff, to silence Clang. Signed-off-by: H.J. Lu Reviewed-by: Sam James --- diff --git a/sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c b/sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c index 5d64da8a91..aa88ba6369 100644 --- a/sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c +++ b/sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c @@ -46,9 +46,9 @@ do_test (void) SET_LDOUBLE_WORDS (ldy, 0x7fff, (tests[i] >> 32) | 0x80000000, tests[i] & 0xffffffffULL); - SET_LDOUBLE_WORDS (ldnx, 0xffff, + SET_LDOUBLE_WORDS (ldnx, -1, tests[i] >> 32, tests[i] & 0xffffffffULL); - SET_LDOUBLE_WORDS (ldny, 0xffff, + SET_LDOUBLE_WORDS (ldny, -1, (tests[i] >> 32) | 0x80000000, tests[i] & 0xffffffffULL); bool to1 = totalorderl (&ldx, &ldy);