This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED PATCH] suppress regcomp.c warnings in 32-bit builds
- From: Roland McGrath <roland at hack dot frob dot com>
- To: libc-alpha at sourceware dot org
- Date: Wed, 15 Aug 2012 16:04:45 -0700 (PDT)
- Subject: [COMMITTED PATCH] suppress regcomp.c warnings in 32-bit builds
* 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)