lkml.org 
[lkml]   [2005]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [3/8] kill gen_init_cpio.c printk() of size_t warning
On Mon, 3 Jan 2005, H. Peter Anvin wrote:

> William Lee Irwin III wrote:
>>
>> On Mon, Jan 03, 2005 at 09:09:48PM +0000, H. Peter Anvin wrote:
>>
>>> Dear Wrongbot,
>>> Bullshit. Signed is promoted to unsigned.
>>
>> I'm not sure who you're responding to here, but gcc emitted an actual
>> warning and I was only attempting to carry out the minimal effort
>> necessary to silence it. I'm not really interested in creating or
>> being involved with controversy, just silencing the core build in the
>> least invasive and so on way possible, leaving deeper drivers/ issues
>> to the resolution of the true underlying problems.
>>
>> I don't have anything to do with the code excerpt above; I merely
>> followed the style of the other unsigned integer coercions in the file.
>>
>
> I was not responding to you, your stuff is perfectly sane.
>
> The claim from the Wrongbot was that "foo + 1" is bad when foo is a size_t.
> This is utter bullshit, since that's EXACTLY equivalent to:
>
> foo + (size_t)1
>
> ... because of promotion rules.
>
> -hpa
> -

I made no such claim. I claimed that the posted fix was wrong:

>
> Index: mm1-2.6.10/usr/gen_init_cpio.c
> ===================================================================
> --- mm1-2.6.10.orig/usr/gen_init_cpio.c 2005-01-03 06:45:53.000000000 -0800
> +++ mm1-2.6.10/usr/gen_init_cpio.c 2005-01-03 09:42:18.000000000 -0800
> @@ -112,7 +112,7 @@
> (long) gid, /* gid */
> 1, /* nlink */
> (long) mtime, /* mtime */
> - strlen(target) + 1, /* filesize */
> + (unsigned)strlen(target) + 1,/* filesize */
> 3, /* major */
> 1, /* minor */
> 0, /* rmajor */
> -


This is wrong because strlen() already returns a size_t (unsigned).
This "fix" only served to quiet the compiler which was warning
about the conversion. It is a "conversion", not a "promotion".
The simple fix to quiet this conversion warning is to use 1U
as previously shown.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.9 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:09    [from the cache]
©2003-2011 Jasper Spaans