Author: wenzhuman <[email protected]>
Branch: gc_no_cleanup_nursery
Changeset: r72954:353cd0558ee5
Date: 2014-08-21 19:25 -0400
http://bitbucket.org/pypy/pypy/changeset/353cd0558ee5/

Log:    deal with uninitialized primitive value

diff --git a/rpython/translator/c/primitive.py 
b/rpython/translator/c/primitive.py
--- a/rpython/translator/c/primitive.py
+++ b/rpython/translator/c/primitive.py
@@ -9,7 +9,7 @@
     ArrayLengthOffset, GCHeaderOffset, GCREF, AddressAsInt)
 from rpython.rtyper.lltypesystem.lltype import (Signed, SignedLongLong, 
Unsigned,
     UnsignedLongLong, Float, SingleFloat, LongFloat, Char, UniChar, Bool, Void,
-    FixedSizeArray, Ptr, cast_opaque_ptr, typeOf)
+    FixedSizeArray, Ptr, cast_opaque_ptr, typeOf, _uninitialized)
 from rpython.rtyper.lltypesystem.llarena import RoundedUpForAllocation
 from rpython.rtyper.tool.rffi_platform import memory_alignment
 from rpython.translator.c.support import cdecl, barebonearray
@@ -89,7 +89,7 @@
             return '((Signed)%s)' % name_address(value.adr, db)
         else:
             raise Exception("unimplemented symbolic %r" % value)
-    if value is None:
+    if value is None or isinstance(value, _uninitialized):
         assert not db.completed
         return None
     if value == -sys.maxint-1:   # blame C
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to