llvmbot wrote: @llvm/pr-subscribers-clang-tidy
<details> <summary>Changes</summary> Recent changes to add _BitInt support have caused our internal random testing to fail. This change just avoids a readability magic numbers check for now if a _BitInt. The crash seen (edited for clarity) is shown below. <src-root>/llvm/include/llvm/ADT/APInt.h:1488: uint64_t llvm::APInt::getZExtValue() const: Assertion `getActiveBits() <= 64 && "Too many bits for uint64_t"' failed. ... #9 <address> llvm::APInt::getZExtValue() const <src-root>/llvm/include/llvm/ADT/APInt.h:1488:5 clang::IntegerLiteral const*) const <src-root>/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp:198:47 <clang::IntegerLiteral>(clang::ast_matchers::MatchFinder::MatchResult const&, char const*) <src-root>/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h:67:5 clang::ast_matchers::MatchFinder::MatchResult const&) <src-root>/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp:152:35 ... Reviewed By: donat.nagy -- Full diff: https://github.com/llvm/llvm-project/pull/65888.diff 2 Files Affected: - (modified) clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp (+3) - (added) clang-tools-extra/test/clang-tidy/checkers/readability/bitint-no-crash.c (+6) <pre> diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp index 7f3c2cb9a0434cc..97c20cf200fa21c 100644 --- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp @@ -191,6 +191,9 @@ bool MagicNumbersCheck::isConstant(const MatchFinder::MatchResult &Result, } bool MagicNumbersCheck::isIgnoredValue(const IntegerLiteral *Literal) const { + if (Literal->getType()->isBitIntType()) { + return true; + } const llvm::APInt IntValue = Literal->getValue(); const int64_t Value = IntValue.getZExtValue(); if (Value == 0) diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/bitint-no-crash.c b/clang-tools-extra/test/clang-tidy/checkers/readability/bitint-no-crash.c new file mode 100644 index 000000000000000..f8660924cbef5a0 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/checkers/readability/bitint-no-crash.c @@ -0,0 +1,6 @@ +// RUN: %check_clang_tidy %s readability-magic-numbers %t -- + +// Don't crash + +_BitInt(128) A = 4533629751480627964421wb; +// CHECK-MESSAGES: warning </pre> </details> https://github.com/llvm/llvm-project/pull/65888 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits