On 2016/08/25 6:38, Mike Hommey wrote:
> On Mon, Aug 22, 2016 at 04:39:15PM -0700, R Kent James wrote:
>> On 8/21/2016 9:14 PM, Nicholas Nethercote wrote:
>>> I strongly encourage people to do likewise on
>>> any IDL files with which they are familiar. Adding appropriate checks isn't
>>> always easy
>>
>> Exactly, and I hope that you and others restrain your exuberance a
>> little bit for this reason. A warning would be one thing, but a hard
>> failure that forces developers to drop what they are doing and think
>> hard about an appropriate check is just having you set YOUR priorities
>> for people rather than letting people do what might be much more
>> important work.
>
> If you feel so strongly that you don't want to spend your time chasing
> those new errors as they pop up, you're also free to drop what you are
> doing and add -Wno-error=unused-result to your build flags.
>
> Mike
But that means we have to add -Wno-error=unused-result to compiler flag
that produces the released binary in the server farm. Correct?
(At least this would be the case of C-C TB a couple of days ago...)
In the long run, I would DFINITELY like to see this type of compile-time
warning (maybe not the compiler failure) so that we can fix the
non-checking of should-be-checked return value of low primitives.
There are simply TOO MANY such omission of checks in C-C and M-C code to
my taste. I was disgusted to read the code (and still am) to read C-C
code to fix a minor bug (and that is not limited to C++ code, but to JS
code either), and lo and behold, when I trace the return value
processing, I often end up seeing that M-C code also fails to do the
proper checking of return value. (It is a problem of legacy code without
such built-in checks at the early stage.)
I have tried to add such checks in many places when I produced the patch
to enable buffering for file I/O (mostly output) in C-C TB.
Without such checks, the supposed transaction processing of e-mail
messages in the face of download/saving failure of the message does not
work, and I have found out there are places where proper error checking
that should have been there in the face of network file system failures
due to networking issues.
I have said this several times before, but if the code in mozilla source
tree is handed in as a course project to a systems programming 401 or
something like that, I would have no qualm to give D to the submitter as
the TA or lecturer.
There ought to be a long-term plan for C-C and M-C to introduce such
missing checks gradually.
Just two my cents worth.
CI