[pypy-commit] pypy kill-exported-symbols-list: fiiiiiix

arigo noreply at buildbot.pypy.org
Thu Oct 23 16:23:02 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: kill-exported-symbols-list
Changeset: r74135:acbc2816fd8b
Date: 2014-10-23 16:22 +0200
http://bitbucket.org/pypy/pypy/changeset/acbc2816fd8b/

Log:	fiiiiiix

diff --git a/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py b/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
--- a/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
+++ b/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
@@ -12,6 +12,7 @@
 from rpython.rtyper.annlowlevel import llhelper
 from rpython.rlib import rposix
 from rpython.translator.tool.cbuild import ExternalCompilationInfo
+from rpython.translator import cdir
 from rpython.tool.udir import udir
 from rpython.rtyper.test.test_llinterp import interpret
 from rpython.annotator.annrpython import RPythonAnnotator
@@ -497,11 +498,12 @@
 
     def test_funcptr_cast(self):
         eci = ExternalCompilationInfo(
+            include_dirs = [cdir],
             separate_module_sources=["""
+            #include "src/precommondefs.h"
             long mul(long x, long y) { return x*y; }
-            long(*get_mul(long x)) () { return &mul; }
-            """],
-            export_symbols=['get_mul'])
+            RPY_EXPORTED long(*get_mul(long x)) () { return &mul; }
+            """])
         get_mul = rffi.llexternal(
             'get_mul', [],
             lltype.Ptr(lltype.FuncType([lltype.Signed], lltype.Signed)),
@@ -834,8 +836,11 @@
 
     def test_llexternal_source(self):
         eci = ExternalCompilationInfo(
-            separate_module_sources = ["int fn() { return 42; }"],
-            export_symbols = ['fn'],
+            include_dirs = [cdir],
+            separate_module_sources = ["""
+            #include "src/precommondefs.h"
+            RPY_EXPORTED int fn() { return 42; }
+            """],
         )
         fn = rffi.llexternal('fn', [], rffi.INT, compilation_info=eci)
         res = fn()
@@ -904,14 +909,17 @@
 
     def test_c_callback(self):
         c_source = py.code.Source("""
+        #include "src/precommondefs.h"
+
+        RPY_EXPORTED
         int eating_callback(int arg, int(*call)(int))
         {
             return call(arg);
         }
         """)
 
-        eci = ExternalCompilationInfo(separate_module_sources=[c_source],
-                                      export_symbols=['eating_callback'])
+        eci = ExternalCompilationInfo(include_dirs=[cdir],
+                                      separate_module_sources=[c_source])
 
         args = [rffi.INT, rffi.CCallback([rffi.INT], rffi.INT)]
         eating_callback = rffi.llexternal('eating_callback', args, rffi.INT,
@@ -1397,8 +1405,11 @@
         tmpdir = udir.join('lib_on_libppaths')
         tmpdir.ensure(dir=1)
         c_file = tmpdir.join('c_file.c')
-        c_file.write('int f(int a, int b) { return (a + b); }')
-        eci = ExternalCompilationInfo(export_symbols=['f'])
+        c_file.write('''
+        #include "src/precommondefs.h"
+        RPY_EXPORTED int f(int a, int b) { return (a + b); }
+        ''')
+        eci = ExternalCompilationInfo(include_dirs=[cdir])
         so = platform.compile([c_file], eci, standalone=False)
         eci = ExternalCompilationInfo(
             libraries = ['c_file'],
@@ -1418,8 +1429,11 @@
         tmpdir = udir.join('lib_on_libppaths_prefix')
         tmpdir.ensure(dir=1)
         c_file = tmpdir.join('c_file.c')
-        c_file.write('int f(int a, int b) { return (a + b); }')
-        eci = ExternalCompilationInfo()
+        c_file.write('''
+        #include "src/precommondefs.h"
+        RPY_EXPORTED int f(int a, int b) { return (a + b); }
+        ''')
+        eci = ExternalCompilationInfo(include_dirs=[cdir])
         so = platform.compile([c_file], eci, standalone=False)
         sopath = py.path.local(so)
         sopath.move(sopath.dirpath().join('libc_file.so'))


More information about the pypy-commit mailing list