forked from OSchip/llvm-project
[clang][dataflow] Avoid MaxIterations overflow
unsigned is technically guaranteed to be only 16 bits in which case 1 << 16 would wrap around to zero. Differential Revision: https://reviews.llvm.org/D117938
This commit is contained in:
parent
d0d8d2d572
commit
dd01d971aa
|
@ -210,8 +210,8 @@ runTypeErasedDataflowAnalysis(const ControlFlowContext &CFCtx,
|
|||
// FIXME: Consider making the maximum number of iterations configurable.
|
||||
// FIXME: Set up statistics (see llvm/ADT/Statistic.h) to count average number
|
||||
// of iterations, number of functions that time out, etc.
|
||||
unsigned Iterations = 0;
|
||||
static constexpr unsigned MaxIterations = 1 << 16;
|
||||
uint32_t Iterations = 0;
|
||||
static constexpr uint32_t MaxIterations = 1 << 16;
|
||||
while (const CFGBlock *Block = Worklist.dequeue()) {
|
||||
if (++Iterations > MaxIterations) {
|
||||
llvm::errs() << "Maximum number of iterations reached, giving up.\n";
|
||||
|
|
Loading…
Reference in New Issue