Re: [PATCH] trace2: refactor to avoid gcc warning under -O3
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 6, 2021, 21:10 UTC
- Message-ID
- <xmqqh7jfy3du.fsf@gitster.g>
- In-Reply-To
- <nycvar.QRO.7.76.6.2105062229270.50@tvgsbejvaqbjf.bet>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 8 quoted lines
>> Otherwise I'd strongly prefer to see a word that hints that this is >> an otherwise unneeded workaround for comiplers. Your suggested >> title instead hints that it is wrong to assume that errno will be >> set to non-zero after a syscall. I do not think that is the message >> we want to send to our readers. > > Right, the oneline I suggested was only for the original patch, with which > I disagreed.
I actually do not know how your rewrite could be better, though.
/* GCC thinks socket()/connect() might fail to set errno */ return errno ? errno : EIO;
If a compiler thinks errno may *not* be set, can 'errno' be reliably used to decide if it can be returned as-is or a fallback value EIO should be used, without triggering the same (incorrect) working in the first place?