qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit 956154e06e9130e75cac30a18dddfa04bda347ba
parent 06c2e75a76a4827e14c7e70b7c35bb434f22c8d5
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Fri, 26 Feb 2016 13:55:13 -0500

dirty fix bogus bsiter()

Diffstat:
Mlisc/util.c | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisc/util.c b/lisc/util.c @@ -328,15 +328,16 @@ bsiter(BSet *bs, uint *elt) { uint i; - for (i = *elt; i < bsmax(bs); i++) { + for (i=*elt;; i++) { while (i < bsmax(bs) && !bs->t[i/NBit]) i = (i + NBit) & -NBit; + if (i >= bsmax(bs)) + return 0; if (bshas(bs, i)) { *elt = i; return 1; } } - return 0; } void