[clang] [clang] Fix division by zero in ACLEIntrinsic constructor (PR #115883)
Mariya Podchishchaeva via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 13 04:17:36 PST 2024
================
@@ -1415,7 +1415,10 @@ ACLEIntrinsic::ACLEIntrinsic(EmitterBase &ME, const Record *R,
} else if (Bounds->getName() == "IB_LaneIndex") {
IA.boundsType = ImmediateArg::BoundsType::ExplicitRange;
IA.i1 = 0;
- IA.i2 = 128 / Param->sizeInBits() - 1;
+ unsigned sizeInBits = Param->sizeInBits();
+ if (sizeInBits == 0)
+ PrintFatalError("Division by zero: Param->sizeInBits() is zero.");
+ IA.i2 = 128 / sizeInBits() - 1;
----------------
Fznamznon wrote:
This code doesn't build. To fix
```suggestion
IA.i2 = 128 / sizeInBits - 1;
```
Also, I'm not sure if the check is not obsolete at all. Adding a couple of more reviewers.
https://github.com/llvm/llvm-project/pull/115883
More information about the cfe-commits
mailing list