[llvm-dev] [RFC] Coding Standards: "prefer `int` for regular arithmetic, use `unsigned` only for bitmask and when you intend to rely on wrapping behavior."

Tim Northover via llvm-dev
2019-06-08T18:12:18Z

On Sat, 8 Jun 2019 at 18:18, Mehdi AMINI via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> The LLVM coding style does not specify anything about the use of
signed/unsigned integer, and the codebase is inconsistent (there is a majority
of code that is using unsigned index in loops today though).
>
> I'd like to suggest that we specify to prefer `int` when possible and
use `unsigned` only for bitmask and when you intend to rely on wrapping
behavior, see: https://reviews.llvm.org/D63049

I'd prefer us to have something neater than static_cast<int> for the
loop problem before we made that change. Perhaps add an ssize (or
equivalent) method to all of our internal data structures? They're a
lot more common than std::* containers.

But it's not something that would keep me up at night.

Cheers.

Tim.