Author: Armin Rigo <[email protected]>
Branch: stmgc-c7
Changeset: r69901:8a001c675c7f
Date: 2014-03-12 17:18 +0100
http://bitbucket.org/pypy/pypy/changeset/8a001c675c7f/

Log:    Another static=True missing

diff --git a/rpython/translator/c/database.py b/rpython/translator/c/database.py
--- a/rpython/translator/c/database.py
+++ b/rpython/translator/c/database.py
@@ -7,7 +7,7 @@
 from rpython.rtyper.lltypesystem.rffi import CConstant
 from rpython.rtyper.lltypesystem import llgroup
 from rpython.tool.sourcetools import valid_identifier
-from rpython.translator.c.primitive import PrimitiveName, PrimitiveType
+from rpython.translator.c.primitive import PrimitiveName, PrimitiveType, 
name_gcref
 from rpython.translator.c.node import StructDefNode, ArrayDefNode
 from rpython.translator.c.node import FixedSizeArrayDefNode, 
BareBoneArrayDefNode
 from rpython.translator.c.node import ContainerNodeFactory, 
ExtTypeOpaqueDefNode
@@ -183,8 +183,10 @@
         if isinstance(obj, CConstant):
             return obj.c_name  # without further checks
         T = typeOf(obj)
-        if isinstance(T, Primitive) or T == GCREF:
+        if isinstance(T, Primitive):
             return PrimitiveName[T](obj, self)
+        elif T == GCREF:
+            return name_gcref(obj, self, static=static)
         elif isinstance(T, Ptr):
             if (isinstance(T.TO, OpaqueType) and
                 T.TO.hints.get('c_pointer_typedef') is not None):
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
@@ -174,7 +174,7 @@
     else:
         return 'NULL'
 
-def name_gcref(value, db):
+def name_gcref(value, db, static=False):
     if value:
         obj = value._obj
         if isinstance(obj, int):
@@ -184,7 +184,7 @@
         if isinstance(realobj, int):
             return _name_tagged(realobj, db)
         realvalue = cast_opaque_ptr(Ptr(typeOf(realobj)), value)
-        return db.get(realvalue)
+        return db.get(realvalue, static=static)
     else:
         return 'NULL'
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to