[clang] [llvm] [analyzer] Fix _BitInt support & casting behavior for Z3 symbolic execution (PR #210525)
Balázs Benics via cfe-commits
cfe-commits at lists.llvm.org
Sun Jul 19 01:13:05 PDT 2026
================
@@ -825,19 +825,11 @@ class Z3Solver : public SMTSolver {
}
// FIXME: This function is also used to retrieve floating-point values,
- // which can be 16, 32, 64 or 128 bits long. Bitvectors can be anything
- // between 1 and 64 bits long, which is the reason we have this weird
- // guard. In the future, we need proper calls in the backend to retrieve
- // floating-points and its special values (NaN, +/-infinity, +/-zero),
- // then we can drop this weird condition.
- if (Sort->getBitvectorSortSize() <= 64 ||
- Sort->getBitvectorSortSize() == 128) {
- Int = getBitvector(AST, Int.getBitWidth(), Int.isUnsigned());
- return true;
- }
-
- assert(false && "Bitwidth not supported!");
- return false;
+ // which can be 16, 32, 64 or 128 bits long. In the future, we need proper
+ // calls in the backend to retrieve floating-points and its special values
+ // (NaN, +/-infinity, +/-zero).
+ Int = getBitvector(AST, Int.getBitWidth(), Int.isUnsigned());
+ return true;
----------------
steakhal wrote:
One thing I should have noted: I did look at this part and it looks correct to me!
https://github.com/llvm/llvm-project/pull/210525
More information about the cfe-commits
mailing list