------- Comment #17 from joseph at codesourcery dot com 2008-10-17 15:31 ------- Subject: Re: can't disable __attribute__((warn_unused_result))
On Fri, 17 Oct 2008, bonzini at gnu dot org wrote: > It does not matter if it is a "security" issue; if void-ifying is not an > acceptable workaround, there must be at the very least a Wno-* option to > disable it. The workaround is to change the header declaring the function with the attribute. There isn't an option to disable the error for calling a prototyped function with the wrong number of arguments either; if you feel you know better than the library author how many arguments the function should take for a particular use case in the program, you'll need to change the library or conform to the API it specifies. This attribute is giving further information about the API for a function. In the case of fwrite, for example, the only obvious case where checking would be useless is if you already are writing an error message before exiting with error status and so an error writing the error message could not usefully be reported anywhere and wouldn't lead to a change of exit status. This suggests you might have an xfwrite function that looks at the return value and acts on it unless a static flag is set to say the program is in the process of exiting with an error. Coding in the style suggested by the library API should be easier than trying to work around the API to code in another style. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509