bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: indsize: New module


From: Paul Eggert
Subject: Re: indsize: New module
Date: Thu, 3 Dec 2020 09:46:50 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

On 12/3/20 6:25 AM, Bruno Haible wrote:
/* The user can define UNSIGNED_INDSIZE_T, to get a different set of compiler
    warnings.  */

I'm leery of this complexity, as it would change the semantics of what the type means. The type is not just about compiler warnings; it's about preferring signed integer arithmetic whenever possible to avoid unexpected results during comparisons and to catch integer overflow.

typedef ptrdiff_t indsize_t;

The type name "indsize_t" is a bit long and this would detract from readability in programs that use a lot of indexes. I suggest "idx_t" instead. dfa.c is already using this type name and it works well there.

dfa.c also has IDX_MAX. I suppose IDX_WIDTH would also be useful. I'm not so sure about PRIdIDX etc. as those macros make programs hard to read and I don't see much point to hiding the fact that the type is equivalent to ptrdiff_t. (dfa.c just uses %td etc. for printf formats.)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]