about summary refs log tree commit diff
path: root/src/rt/rust_obstack.cpp
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-08-17 13:58:49 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-08-17 13:58:49 -0700
commit702fe5cdac4f6852689c1e74c3ca95af249f4285 (patch)
treed38b9e25223ec567658019bc1fe1ad832f3b5460 /src/rt/rust_obstack.cpp
parent3aab46b0209adad0fd6f24b5b94b6401b13257b7 (diff)
downloadrust-702fe5cdac4f6852689c1e74c3ca95af249f4285.tar.gz
rust-702fe5cdac4f6852689c1e74c3ca95af249f4285.zip
rustc: Run obstack cleanups at the end of each function
Diffstat (limited to 'src/rt/rust_obstack.cpp')
-rw-r--r--src/rt/rust_obstack.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rt/rust_obstack.cpp b/src/rt/rust_obstack.cpp
index 9300ec49073..5ec996f4e32 100644
--- a/src/rt/rust_obstack.cpp
+++ b/src/rt/rust_obstack.cpp
@@ -44,7 +44,7 @@ rust_obstack_chunk::free(void *ptr) {
     uint8_t *p = (uint8_t *)ptr;
     if (p < data || p >= data + size)
         return false;
-    assert(p < data + alen);
+    assert(p <= data + alen);
     alen = (size_t)(p - data);
     return true;
 }
@@ -71,7 +71,8 @@ rust_obstack::alloc(size_t len) {
     if (!chunk)
         return alloc_new(len);
     void *ptr = chunk->alloc(len);
-    return ptr ? ptr : alloc_new(len);
+    ptr = ptr ? ptr : alloc_new(len);
+    return ptr;
 }
 
 void