Re: [PATCH] kobject: Suppress compiler warning with gcc 3.x

From: Eric W. Biederman
Date: Thu Jun 03 2010 - 02:02:41 EST


AmÃrico Wang <xiyou.wangcong@xxxxxxxxx> writes:

> On Thu, Jun 03, 2010 at 07:31:41AM +0200, Eric Dumazet wrote:
>>Le jeudi 03 juin 2010 Ã 14:23 +0900, Tetsuo Handa a Ãcrit :
>>> Gcc 3.x generates a warning
>>>
>>> include/linux/sysfs.h:183: warning: parameter has incomplete type
>>>
>>> on each file.
>>> Suppress the warning by moving the definition of "enum kobj_ns_type"
>>> to before "#include <linux/sysfs.h>".
>>>
>>> Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
>>
>>
>>I was about to submit same patch, but I was also reverting 27eabc7cb4b3
>>(sysfs: Don't use enums in inline function declaration.)
>>
>>So that sysfs_exit_ns() prototype is consistent regardless of
>>CONFIG_SYSFS
>>
>>What do you think ?
>>
>
> This looks odd, in sysfs.h we do have a forward declaration of
> enum kobj_ns_type... I am wondering why gcc 3.x doesn't recognize it.

Because the replacement is an inline, and we are passing the enum by value
gcc wants to see the full definition, at the point where the inline function
is declared.


Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/