[FFmpeg-devel] [patch] libswscale: fix warning regarding "no return in non void function"
Mon Apr 26 23:38:46 CEST 2010
On Mon, Apr 26, 2010 at 05:23:56PM +0300, Dominique Leuenberger wrote:
> Quoting Dominique Leuenberger <dominique-ffmpeg-devel at leuenberger.net>:
>> In libswscale, in case HAVE_7REGS is not defined to true, there are two
>> functions that result in empty code blocks.
>> And as a consequence, the compiler warns about no return value in a non
>> void function.
>> The attached patch fixes this by:
>> - Moving the #if HAVE_7REGS out of the function declaraion (meaning the
>> function does not exist at all if we do not HAVE_7REGS.
>> - Change some logic to not call the functions if they would not return
>> useful result anyway.
> Just to bring it back to life:
> is a compiler warning about an empty function block 'cleaner' than avoiding
> this using an #if directive?
a #if* is always worse than a warning
> As said: we do have build log checks that fail in various cases known to
> cause program errors: one of them is no return in non-void function (which
> happens to be triggered in this specific case).
> Yes, I agree, the compiler might get it wrong. But why not tell the
> compiler that we're smarter? Another day somebody might call the function
> without if (HAVE_7REGS), and then at least the compiler knows this is not
> supposed to be and strictly tells: function is not defined.
theres no reason to belive that this would ever be done
but we know the #if will make the code less readable, thats a certain
problem vs. a unlikely problem
> Don't only look at the current situation: think a little bit ahead.
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The educated differ from the uneducated as much as the living from the
dead. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel