On 14/11/2018 02:11, brian m. carlson wrote:
> On Wed, Nov 14, 2018 at 12:11:07AM +0000, Ramsay Jones wrote:
>>
>>
>> On 13/11/2018 18:42, Derrick Stolee wrote:
>>> On 11/4/2018 6:44 PM, brian m. carlson wrote:
>>>> +int hash_algo_by_name(const char *name)
>>>> +{
>>>> + int i;
>>>> + if (!name)
>>>> + return GIT_HASH_UNKNOWN;
>>>> + for (i = 1; i < GIT_HASH_NALGOS; i++)
>>>> + if (!strcmp(name, hash_algos[i].name))
>>>> + return i;
>>>> + return GIT_HASH_UNKNOWN;
>>>> +}
>>>> +
>>>
>>> Today's test coverage report [1] shows this method is not covered in the
>>> test suite. Looking at 'pu', it doesn't have any callers.
>>>
>>> Do you have a work in progress series that will use this? Could we add a
>>> test-tool to exercise this somehow?
>>
>> There are actually 4 unused external symbols resulting from Brian's
>> 'bc/sha-256' branch. The new unused externals in 'pu' looks like:
>>
>> $ diff nsc psc
>> 37a38,39
>> > hex.o - hash_to_hex
>
> I have code that uses this in my object-id-part15 series. I also have
> another series coming after this one that makes heavy use of it.
>
>> > hex.o - hash_to_hex_algop_r
>
> I believe this is because it's inline, since it is indeed used just a
> few lines below its definition. I'll drop the inline, since it's meant
> to be externally visible.
No, this has nothing to do with the 'inline', it is simply not
called outside of hex.c (at present). If you look at the assembler
(objdump -d hex.o), you will find practically all of the function
calls in that file are inlined (even those not marked with 'inline').
[I think the external declaration in cache.h forces the compiler to
add the external definition, despite the 'inline'. If you remove the
'inline' and re-compile and disassemble again, the result is identical.]
Thanks for confirming upcoming patches will add uses for all of
these functions - I suspected that would be the case.
Thanks!
ATB,
Ramsay Jones
>
>> > sha1-file.o - hash_algo_by_id
>
> This will be used when I write pack index v3, which will be in my
> object-id-part15 series.
>
>> > sha1-file.o - hash_algo_by_name
>
> This is used in my object-id-part15 series.
>