Dan, Z,

I use gcc 4.6.3 with a fairly recent linux stable kernel release.

Here is an example of why I would like the -Wno-unused-result flag to remain.   
Notice that if you take the
TOB kernel and compile with a pretty recent compiler and kernel you get a bunch 
of unused result warnings
that are not of much interest.   These could be cleaned up by casting the 
returns from these system calls to
void and these warnings would go away and then we would not need 
-Wno-unused-result at all.   This would
the best way to get rid of the -Wno-unused-result flag and maintain a clean 
compilation.

Now take a look at what you see with Dan's first patch applied to TOB and 
-Wno-unused-result flag.   You see
will see that 3 new warnings cropped up in ipmi_fru.c that should be fixed, but 
were not noticed either because the
warnings were lost in the other warnings or by virtue of a compiler/OS that 
didn't have the extra warning
messages.

With gcc 4.6.3 on ubuntu here are the warnings I get with TOB and no 
(-Wno-unused-result) flag.
Note: If I have -Wno-unused-result turned on, I don't get any warning messages 
when I compile ipmitool.

helper.c:633:7: warning: ignoring return value of 'chdir', declared with 
attribute warn_unused_result [-Wunused-result]
helper.c:642:5: warning: ignoring return value of 'dup', declared with 
attribute warn_unused_result [-Wunused-result]
helper.c:643:5: warning: ignoring return value of 'dup', declared with 
attribute warn_unused_result [-Wunused-result]
ipmi_fru.c:1563:7: warning: ignoring return value of 'scanf', declared with 
attribute warn_unused_result [-Wunused-result]
ipmi_fru.c:1575:9: warning: ignoring return value of 'scanf', declared with 
attribute warn_unused_result [-Wunused-result]
ipmi_hpmfwupg.c:2592:15: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_hpmfwupg.c:1107:10: warning: ignoring return value of 'scanf', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2335:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2397:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2411:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2426:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2451:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2454:22: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2465:22: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2475:22: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2554:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2557:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2567:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2619:13: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2639:31: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2668:28: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2681:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2742:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2745:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2754:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:3892:13: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:3908:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:3918:25: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]


With gcc 4.6.3 on ubuntu here are the warnings I get with Dan's First patch 
applied to TOB and no (-Wno-unused-result) flag.

helper.c:633:7: warning: ignoring return value of 'chdir', declared with 
attribute warn_unused_result [-Wunused-result]
helper.c:642:5: warning: ignoring return value of 'dup', declared with 
attribute warn_unused_result [-Wunused-result]
helper.c:643:5: warning: ignoring return value of 'dup', declared with 
attribute warn_unused_result [-Wunused-result]
ipmi_fru.c:2917:11: warning: format '%d' expects argument of type 'int', but 
argument 2 has type 'long unsigned int' [-Wformat]
ipmi_fru.c:2917:11: warning: format '%d' expects argument of type 'int', but 
argument 3 has type 'long unsigned int' [-Wformat]
ipmi_fru.c:2917:11: warning: format '%d' expects argument of type 'int', but 
argument 4 has type 'long unsigned int' [-Wformat]
ipmi_fru.c:1563:7: warning: ignoring return value of 'scanf', declared with 
attribute warn_unused_result [-Wunused-result]
ipmi_fru.c:1575:9: warning: ignoring return value of 'scanf', declared with 
attribute warn_unused_result [-Wunused-result]
ipmi_hpmfwupg.c:2592:15: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_hpmfwupg.c:1107:10: warning: ignoring return value of 'scanf', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2335:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2397:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2411:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2426:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2451:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2454:22: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2465:22: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2475:22: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2554:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2557:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2567:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2619:13: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2639:31: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2668:28: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2681:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2742:16: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2745:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:2754:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:3892:13: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:3908:19: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]
ipmi_ekanalyzer.c:3918:25: warning: ignoring return value of 'fread', declared 
with attribute warn_unused_result [-Wunused-result]



-- Jim Mankovich | jm...@hp.com (MST) --

On 4/1/2013 12:15 PM, Dan Gora wrote:
> On Mon, Apr 1, 2013 at 3:12 PM, Zdenek Styblik <zdenek.styb...@gmail.com> 
> wrote:
>> On Mon, Apr 1, 2013 at 8:03 PM, Dan Gora <d...@adax.com> wrote:
>> [...]
>>> I agree, but I think that it's better to fix the warnings if at all
>>> possible. Of course adding -Werror would force people to deal with
>>> their warnings.
>>>
>> Dan,
>>
>> does it mean to deal with warnings/"errors" left by "others" as well?
> Well if you want it to compile cleanly without warnings, that's pretty
> much the only way to do it, regardless of who's responsible.
>
>> If so ... yeah, I'd be realistic about this one.
> Yeah I agree.. I don't have any problem with the odd warning here and
> there, especially since gcc changes what it warns about in some
> versions (comparing signed and unsigned chars for example).
>
>> In other words, I despite I agree, I don't think it's going to fly.
>> :-/ Same for clean compilation - somewhat wishful thinking. Just check
>> the tracker and never ending queue of tickets.
> I agree, but removing -Wno-unused-return doesn't add any new warnings
> that I can see.  If it does, then I'll fix it, but I didn't see any.
>
> thanks
> d
>


------------------------------------------------------------------------------
Own the Future-Intel&reg; Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest.
Compete for recognition, cash, and the chance to get your game 
on Steam. $5K grand prize plus 10 genre and skill prizes. 
Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to