Re: [PATCH] Fix Solaris compiler warnings
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 16, 2007, 09:14 UTC
- Message-ID
- <7vve82zh5g.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20071116074850.GA3400@steel.home>
Alex Riesen <raa.lkml@gmail.com> writes:
Show 21 quoted lines
> Junio C Hamano, Fri, Nov 16, 2007 00:16:25 +0100: >> Alex Riesen <raa.lkml@gmail.com> writes: >> >> > Guido Ostkamp, Thu, Nov 15, 2007 23:19:11 +0100: >> ... >> >> CC builtin-apply.o >> >> "builtin-apply.c", line 686: warning: statement not reached >> >> CC utf8.o >> >> "utf8.c", line 287: warning: statement not reached >> >> CC xdiff/xdiffi.o >> >> "xdiff/xdiffi.c", line 261: warning: statement not reached >> > >> > All these are wrong. That's a fantastically broken piece of compiler >> >> I've looked at builtin-apply and utf8 cases but these returns >> are after an endless loop whose exit paths always return >> directly, so these return statements are in fact never reached. >> ... > > Hmm... Guido, I owe you an appology. Still, consider this patch > instead (it does not fix the return in xdiff/xdiffi.c though):
If you are referring to the "xdiff/xdiffi.c:line 261" one (which I did not say if I looked at it or not), I think there is nothing to fix there, either. In front of itt is a big fat loop controlled with:
for (ec = 1;; ec++) {
...
}and only exits from there are returns. Two "break" appear but they are breaking out of nested inner loops and would not escape this outermost loop.