From: Junio C Hamano Date: Tue, 22 Mar 2011 18:10:08 GMT Subject: Re: [PATCH 2/2] Actually use retval Message-ID: <7v7hbrkovz.fsf@alter.siamese.dyndns.org> In-Reply-To: <91afab0d46939238dd7c90ea2902b02cae083316.1300798069.git.johannes.schindelin@gmx.de> Johannes Schindelin writes: > This is most likely a bug. Nocited by gcc 4.6.0. While I don't doubt gcc 4.6.0 found the retval assigned is not used, I think you misunderstood the value returned from this function. The caller uses the return value to decide if an entry from t1 (and not from t2) was consumed, if an entry each from both t1 and t2 were consumed, or an entry from t2 (and not from t1) was consumed. It doesn't change the fact that the entry at the beginning of each tree we looked at in this function at that point shared the same name and we consumed them, whatever the call to diff_tree_sha1() to run a recursive comparison between the trees found. The likely fix would be to remove assignment to retval instead.