Messages in this thread Patch in this message | | | Subject | [PATCH] x86: sparse errors from string_32.h | From | Harvey Harrison <> | Date | Thu, 31 Jan 2008 22:15:16 -0800 |
| |
include/asm/string_32.h:216:26: warning: cast truncates bits from constant value (cccccccc becomes cc) include/asm/string_32.h:219:27: warning: cast truncates bits from constant value (cccccccc becomes cccc) include/asm/string_32.h:222:27: warning: cast truncates bits from constant value (cccccccc becomes cccc) include/asm/string_32.h:223:30: warning: cast truncates bits from constant value (cccccccc becomes cc)
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> --- Ingo, this shows up over and over again during the build, this doesn't change anything as they are known compile-time constants at this point, the and-ing just makes the truncation explicit.
If you disagree with this method, no worries.
include/asm-x86/string_32.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/asm-x86/string_32.h b/include/asm-x86/string_32.h index 55bfa30..c5d13a8 100644 --- a/include/asm-x86/string_32.h +++ b/include/asm-x86/string_32.h @@ -213,14 +213,14 @@ static __always_inline void * __constant_c_and_count_memset(void * s, unsigned l case 0: return s; case 1: - *(unsigned char *)s = pattern; + *(unsigned char *)s = pattern & 0xff; return s; case 2: - *(unsigned short *)s = pattern; + *(unsigned short *)s = pattern & 0xffff; return s; case 3: - *(unsigned short *)s = pattern; - *(2+(unsigned char *)s) = pattern; + *(unsigned short *)s = pattern & 0xffff; + *(2+(unsigned char *)s) = pattern & 0xff; return s; case 4: *(unsigned long *)s = pattern; -- 1.5.4.rc4.1142.gf5a97
| |