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