about summary refs log tree commit diff homepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Core/Executor.cpp4
-rw-r--r--lib/Core/Memory.h4
-rw-r--r--lib/Expr/Parser.cpp4
3 files changed, 7 insertions, 5 deletions
diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp
index ab2e106a..e47dcfc0 100644
--- a/lib/Core/Executor.cpp
+++ b/lib/Core/Executor.cpp
@@ -3199,6 +3199,8 @@ void Executor::getCoveredLines(const ExecutionState &state,
 void Executor::doImpliedValueConcretization(ExecutionState &state,
                                             ref<Expr> e,
                                             ref<ConstantExpr> value) {
+  abort(); // FIXME: Broken until we sort out how to do the write back.
+
   if (DebugCheckForImpliedValues)
     ImpliedValue::checkForImpliedValues(solver->solver, e, value);
 
@@ -3211,7 +3213,7 @@ void Executor::doImpliedValueConcretization(ExecutionState &state,
     if (ConstantExpr *CE = dyn_cast<ConstantExpr>(re->index)) {
       // FIXME: This is the sole remaining usage of the Array object
       // variable. Kill me.
-      const MemoryObject *mo = re->updates.root->object;
+      const MemoryObject *mo = 0; //re->updates.root->object;
       const ObjectState *os = state.addressSpace.findObject(mo);
 
       if (!os) {
diff --git a/lib/Core/Memory.h b/lib/Core/Memory.h
index 141060d0..b6ea81d7 100644
--- a/lib/Core/Memory.h
+++ b/lib/Core/Memory.h
@@ -71,7 +71,7 @@ public:
   MemoryObject(uint64_t _address) 
     : id(counter++),
       address(_address),
-      array(new Array("arr" + llvm::utostr(id), this, id)),
+      array(new Array("arr" + llvm::utostr(id), id)),
       size(0),
       isFixed(true),
       allocSite(0) {
@@ -82,7 +82,7 @@ public:
                const llvm::Value *_allocSite) 
     : id(counter++),
       address(_address),
-      array(new Array("arr" + llvm::utostr(id), this, _size)),
+      array(new Array("arr" + llvm::utostr(id), _size)),
       size(_size),
       name("unnamed"),
       isLocal(_isLocal),
diff --git a/lib/Expr/Parser.cpp b/lib/Expr/Parser.cpp
index 856541ee..8e5349c5 100644
--- a/lib/Expr/Parser.cpp
+++ b/lib/Expr/Parser.cpp
@@ -519,7 +519,7 @@ DeclResult ParserImpl::ParseArrayDecl() {
 
   // FIXME: Array should take domain and range.
   const Identifier *Label = GetOrCreateIdentifier(Name);
-  Array *Root = new Array(Label->Name, 0, Size.get());
+  Array *Root = new Array(Label->Name, Size.get());
   ArrayDecl *AD = new ArrayDecl(Label, Size.get(), 
                                 DomainType.get(), RangeType.get(), Root);
 
@@ -1298,7 +1298,7 @@ VersionResult ParserImpl::ParseVersionSpecifier() {
   VersionResult Res = ParseVersion();
   // Define update list to avoid use-of-undef errors.
   if (!Res.isValid()) {
-    Res = VersionResult(true, UpdateList(new Array("", 0, 0), NULL));
+    Res = VersionResult(true, UpdateList(new Array("", 0), NULL));
   }
   
   if (Label)