]> gitweb.factorcode.org Git - factor.git/commitdiff
VM: make FACTOR_FOR_EACH not call .end() more than once
authorBjörn Lindqvist <bjourne@gmail.com>
Thu, 4 Jun 2015 15:30:36 +0000 (17:30 +0200)
committerBjörn Lindqvist <bjourne@gmail.com>
Fri, 5 Jun 2015 00:14:49 +0000 (02:14 +0200)
vm/utilities.hpp

index f59053a700d9e5631f04701e3ac17e7393a1834b..d9c311308ce8ab3aac21a5bef337ccd76424c803 100644 (file)
@@ -1,9 +1,10 @@
 namespace factor {
 
 // Poor mans range-based for loops.
-#define FACTOR_FOR_EACH(iterable)                           \
-  for (typeof((iterable).begin()) iter = (iterable).begin();    \
-       iter != (iterable).end();                                \
+#define FACTOR_FOR_EACH(iterable)                               \
+  for (typeof((iterable).begin()) iter = (iterable).begin(),    \
+           _end = (iterable).end();                             \
+       iter != _end;                                            \
        iter++)
 
 inline static void memset_2(void* dst, uint16_t pattern, size_t size) {