diff options
Diffstat (limited to 'lib/Expr/Expr.cpp')
-rw-r--r-- | lib/Expr/Expr.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Expr/Expr.cpp b/lib/Expr/Expr.cpp index 089e78b3..fa8525b6 100644 --- a/lib/Expr/Expr.cpp +++ b/lib/Expr/Expr.cpp @@ -488,11 +488,13 @@ ref<Expr> NotOptimizedExpr::create(ref<Expr> src) { extern "C" void vc_DeleteExpr(void*); Array::~Array() { - // FIXME: This shouldn't be necessary. - if (stpInitialArray) { - ::vc_DeleteExpr(stpInitialArray); - stpInitialArray = 0; - } +} + +unsigned Array::computeHash() { + unsigned res = 0; + for (unsigned i = 0, e = name.size(); i != e; ++i) + res = (res * Expr::MAGIC_HASH_CONSTANT) + name[i]; + return res; } /***/ |