summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/context/context_mm.cpp2
-rw-r--r--test/unit/context/context_mm_black.h5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/context/context_mm.cpp b/src/context/context_mm.cpp
index 2dc2c03bb..ac7d7f8cf 100644
--- a/src/context/context_mm.cpp
+++ b/src/context/context_mm.cpp
@@ -104,6 +104,8 @@ void ContextMemoryManager::push() {
void ContextMemoryManager::pop() {
+ Assert(d_nextFreeStack.size() > 0 && d_endChunkStack.size() > 0);
+
// Restore state from stack
d_nextFree = d_nextFreeStack.back();
d_nextFreeStack.pop_back();
diff --git a/test/unit/context/context_mm_black.h b/test/unit/context/context_mm_black.h
index 60671653c..00a0fd05f 100644
--- a/test/unit/context/context_mm_black.h
+++ b/test/unit/context/context_mm_black.h
@@ -20,8 +20,11 @@
//Used in some of the tests
#include <vector>
#include <iostream>
+
#include "context/context_mm.h"
+#include "base/cvc4_assert.h"
+
using namespace std;
using namespace CVC4::context;
@@ -87,7 +90,7 @@ public:
}
// Try popping out of scope
- d_cmm->pop();
+ TS_ASSERT_THROWS(d_cmm->pop(), CVC4::AssertionException);
}
void tearDown() {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback