jj-marr wrote: > Check makes sense to me! As a first iteration it's fine without autofix but I > can imagine it will be hard for a codebase to enable this check given the > large amount of things to fix. Maybe users can specify a mapping of wanted > types via an option?
I'm planning for an autofix of `float` and `double` since it's unambiguous what those types should be. For `int` types, maybe I'll give 3 options for an autofix: * Fixed (`int32_t`) * Fast (`int_fast32_t`) * Least (`int_least32_t`) Based on sizeof the type when running `clang-tidy`. This represents compatibility/time/space tradeoffs. Not sure about `char`. If you're actually representing UTF-8 text, it's a good idea to replace with `char8_t`. If you're using `char` because it's 1 byte and you want to do wacky things with memory, `std::byte` is the way to go. I'm not sure how relatively common each is since I work with low-level hardware at my day job and I'm biased towards assuming weird byte level stuff is more common than it really is. It's also not a "safe" replacement to get rid of `char` in all cases, since `char8_t` and `std::byte` are always unsigned. If the memory representation of `char` is identical to `unsigned char` it's probably safe enough? https://github.com/llvm/llvm-project/pull/146970 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits