[COMMITTED PATCH] suppress regcomp.c warnings in 32-bit builds
Roland McGrath
roland@hack.frob.com
Wed Aug 15 23:05:00 GMT 2012
* posix/regcomp.c (init_word_char): Use temporaries to hold the 64-bit
constants, which avoids warnings in 32-bit builds.
diff --git a/posix/regcomp.c b/posix/regcomp.c
index 373a52e..e85b235 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -932,8 +932,12 @@ init_word_char (re_dfa_t *dfa)
{
if (sizeof (dfa->word_char[0]) == 8)
{
- dfa->word_char[0] = UINT64_C (0x03ff000000000000);
- dfa->word_char[1] = UINT64_C (0x07fffffe87fffffe);
+ /* The extra temporaries here avoid "implicitly truncated"
+ warnings in the case when this is dead code, i.e. 32-bit. */
+ const uint64_t wc0 = UINT64_C (0x03ff000000000000);
+ const uint64_t wc1 = UINT64_C (0x07fffffe87fffffe);
+ dfa->word_char[0] = wc0;
+ dfa->word_char[1] = wc1;
i = 2;
}
else if (sizeof (dfa->word_char[0]) == 4)
More information about the Libc-alpha
mailing list