summaryrefslogtreecommitdiff
path: root/src/expr
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr')
-rw-r--r--src/expr/expr_template.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/expr/expr_template.cpp b/src/expr/expr_template.cpp
index c7ef4754f..61568e411 100644
--- a/src/expr/expr_template.cpp
+++ b/src/expr/expr_template.cpp
@@ -204,6 +204,10 @@ public:
} else if(n.getKind() == kind::VARIABLE) {
bool isGlobal;
Node::fromExpr(from_e).getAttribute(GlobalVarAttr(), isGlobal);
+
+ // Temporarily set the node manager to nullptr; this gets around
+ // a check that mkVar isn't called internally
+ NodeManagerScope nullScope(nullptr);
to_e = to->mkVar(name, type, isGlobal ? ExprManager::VAR_FLAG_GLOBAL : flags);// FIXME thread safety
} else if(n.getKind() == kind::SKOLEM) {
// skolems are only available at the Node level (not the Expr level)
@@ -228,6 +232,9 @@ public:
}
else
{
+ // Temporarily set the node manager to nullptr; this gets around
+ // a check that mkVar isn't called internally
+ NodeManagerScope nullScope(nullptr);
to_e = to->mkVar(type); // FIXME thread safety
}
Debug("export") << "+ exported unnamed var `" << from_e << "' with type `" << from_e.getType() << "' to `" << to_e << "' with type `" << type << "'" << std::endl;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback