• J
    convert "oidcmp() == 0" to oideq() · 4a7e27e9
    Jeff King 提交于
    Using the more restrictive oideq() should, in the long run,
    give the compiler more opportunities to optimize these
    callsites. For now, this conversion should be a complete
    noop with respect to the generated code.
    
    The result is also perhaps a little more readable, as it
    avoids the "zero is equal" idiom. Since it's so prevalent in
    C, I think seasoned programmers tend not to even notice it
    anymore, but it can sometimes make for awkward double
    negations (e.g., we can drop a few !!oidcmp() instances
    here).
    
    This patch was generated almost entirely by the included
    coccinelle patch. This mechanical conversion should be
    completely safe, because we check explicitly for cases where
    oidcmp() is compared to 0, which is what oideq() is doing
    under the hood. Note that we don't have to catch "!oidcmp()"
    separately; coccinelle's standard isomorphisms make sure the
    two are treated equivalently.
    
    I say "almost" because I did hand-edit the coccinelle output
    to fix up a few style violations (it mostly keeps the
    original formatting, but sometimes unwraps long lines).
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    4a7e27e9
merge-recursive.c 105.4 KB