[pypy-commit] pypy cppyy-packaging: place C++11's nullptr in _cppyy rather then gbl

wlav pypy.commits at gmail.com
Wed Oct 11 19:49:02 EDT 2017


Author: Wim Lavrijsen <WLavrijsen at lbl.gov>
Branch: cppyy-packaging
Changeset: r92724:2fe6d8f50de7
Date: 2017-10-11 13:06 -0700
http://bitbucket.org/pypy/pypy/changeset/2fe6d8f50de7/

Log:	place C++11's nullptr in _cppyy rather then gbl

diff --git a/pypy/module/_cppyy/pythonify.py b/pypy/module/_cppyy/pythonify.py
--- a/pypy/module/_cppyy/pythonify.py
+++ b/pypy/module/_cppyy/pythonify.py
@@ -439,12 +439,13 @@
     # be the same issue for all typedef'd builtin types
     setattr(gbl, 'internal_enum_type_t', int)
 
-    # install nullptr as a unique reference
-    setattr(gbl, 'nullptr', _cppyy._get_nullptr())
-
     # install for user access
     _cppyy.gbl = gbl
 
+    # install nullptr as a unique reference
+    _cppyy.nullptr = _cppyy._get_nullptr()
+
+
 # user-defined pythonizations interface
 _pythonizations = {}
 def add_pythonization(class_name, callback):
diff --git a/pypy/module/_cppyy/test/test_datatypes.py b/pypy/module/_cppyy/test/test_datatypes.py
--- a/pypy/module/_cppyy/test/test_datatypes.py
+++ b/pypy/module/_cppyy/test/test_datatypes.py
@@ -226,8 +226,8 @@
         raises(Exception, c.pass_array(0).__getitem__, 0)    # raises SegfaultException
         assert not c.pass_array(None)
         raises(Exception, c.pass_array(None).__getitem__, 0) # id.
-        assert not c.pass_array(_cppyy.gbl.nullptr)
-        raises(Exception, c.pass_array(_cppyy.gbl.nullptr).__getitem__, 0) # id. id.
+        assert not c.pass_array(_cppyy.nullptr)
+        raises(Exception, c.pass_array(_cppyy.nullptr).__getitem__, 0) # id. id.
 
         c.__destruct__()
 
@@ -694,22 +694,22 @@
 
         c = CppyyTestData()
 
-        assert not _cppyy.gbl.nullptr
+        assert not _cppyy.nullptr
 
-        assert c.s_voidp                is _cppyy.gbl.nullptr
-        assert CppyyTestData.s_voidp    is _cppyy.gbl.nullptr
+        assert c.s_voidp                is _cppyy.nullptr
+        assert CppyyTestData.s_voidp    is _cppyy.nullptr
 
-        assert c.m_voidp                is _cppyy.gbl.nullptr
-        assert c.get_voidp()            is _cppyy.gbl.nullptr
+        assert c.m_voidp                is _cppyy.nullptr
+        assert c.get_voidp()            is _cppyy.nullptr
 
         c2 = CppyyTestData()
-        assert c2.m_voidp               is _cppyy.gbl.nullptr
+        assert c2.m_voidp               is _cppyy.nullptr
         c.set_voidp(c2.m_voidp)
-        assert c.m_voidp                is _cppyy.gbl.nullptr
+        assert c.m_voidp                is _cppyy.nullptr
         c.set_voidp(c2.get_voidp())
-        assert c.m_voidp                is _cppyy.gbl.nullptr
-        c.set_voidp(_cppyy.gbl.nullptr)
-        assert c.m_voidp                is _cppyy.gbl.nullptr
+        assert c.m_voidp                is _cppyy.nullptr
+        c.set_voidp(_cppyy.nullptr)
+        assert c.m_voidp                is _cppyy.nullptr
 
         c.set_voidp(c2)
         def address_equality_test(a, b):
@@ -724,8 +724,8 @@
 
         def null_test(null):
             c.m_voidp = null
-            assert c.m_voidp is _cppyy.gbl.nullptr
-        map(null_test, [0, None, _cppyy.gbl.nullptr])
+            assert c.m_voidp is _cppyy.nullptr
+        map(null_test, [0, None, _cppyy.nullptr])
 
         c.m_voidp = c2
         address_equality_test(c.m_voidp,     c2)
diff --git a/pypy/module/_cppyy/test/test_fragile.py b/pypy/module/_cppyy/test/test_fragile.py
--- a/pypy/module/_cppyy/test/test_fragile.py
+++ b/pypy/module/_cppyy/test/test_fragile.py
@@ -93,7 +93,7 @@
         # 0, None, and nullptr allowed
         assert _cppyy.addressof(0)                  == 0
         assert _cppyy.addressof(None)               == 0
-        assert _cppyy.addressof(_cppyy.gbl.nullptr) == 0
+        assert _cppyy.addressof(_cppyy.nullptr)     == 0
 
     def test05_wrong_this(self):
         """Test that using an incorrect self argument raises"""


More information about the pypy-commit mailing list