Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r2196:b8538812a48b Date: 2015-06-29 22:11 +0200 http://bitbucket.org/cffi/cffi/changeset/b8538812a48b/
Log: Issue #207: fix for anonymous enums with ffi.include() diff --git a/cffi/cparser.py b/cffi/cparser.py --- a/cffi/cparser.py +++ b/cffi/cparser.py @@ -633,6 +633,8 @@ def include(self, other): for name, tp in other._declarations.items(): + if name.startswith('anonymous $enum_$'): + continue # fix for test_anonymous_enum_include kind = name.split(' ', 1)[0] if kind in ('struct', 'union', 'enum', 'anonymous'): self._declare(name, tp, included=True) diff --git a/testing/cffi0/backend_tests.py b/testing/cffi0/backend_tests.py --- a/testing/cffi0/backend_tests.py +++ b/testing/cffi0/backend_tests.py @@ -1774,3 +1774,14 @@ def test_ffi_self_include(self): ffi = FFI(backend=self.Backend()) py.test.raises(ValueError, ffi.include, ffi) + + def test_anonymous_enum_include(self): + ffi1 = FFI() + ffi1.cdef("enum { EE1 };") + ffi = FFI() + ffi.include(ffi1) + ffi.cdef("enum { EE2, EE3 };") + lib = ffi.dlopen(None) + assert lib.EE1 == 0 + assert lib.EE2 == 0 + assert lib.EE3 == 1 _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit