================ @@ -144,7 +144,8 @@ TaggedUnionMemberCountCheck::getNumberOfEnumValues(const EnumDecl *ED) { if (EnableCountingEnumHeuristic && LastEnumConstant && isCountingEnumLikeName(LastEnumConstant->getName()) && - (LastEnumConstant->getInitVal() == (EnumValues.size() - 1))) { + (LastEnumConstant->getInitVal() == + llvm::APSInt::getUnsigned(EnumValues.size() - 1u))) { ---------------- vbvictor wrote:
> From the error: `(with operand types 'llvm::APSInt' and 'unsigned long')` I > was assuming that the `(EnumValues.size() - 1)` gets converted to an > `unsigned long` Yeah, but checking source code I suppose `bool operator==(uint64_t RHS) const` doesn't exist for llvm::APSInt https://github.com/llvm/llvm-project/pull/147048 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits