Author: Wim Lavrijsen <[email protected]>
Branch: cppyy-packaging
Changeset: r94450:682a43ef7a89
Date: 2018-04-24 14:28 -0700
http://bitbucket.org/pypy/pypy/changeset/682a43ef7a89/
Log: support anonymous enums
diff --git a/pypy/module/_cppyy/converter.py b/pypy/module/_cppyy/converter.py
--- a/pypy/module/_cppyy/converter.py
+++ b/pypy/module/_cppyy/converter.py
@@ -749,6 +749,9 @@
return InstancePtrPtrConverter(space, clsdecl)
elif compound == "":
return InstanceConverter(space, clsdecl)
+ elif "(anonymous)" in name:
+ # special case: enum w/o a type name
+ return _converters["internal_enum_type_t"](space, default)
# 5) void* or void converter (which fails on use)
if 0 <= compound.find('*'):
diff --git a/pypy/module/_cppyy/executor.py b/pypy/module/_cppyy/executor.py
--- a/pypy/module/_cppyy/executor.py
+++ b/pypy/module/_cppyy/executor.py
@@ -289,6 +289,9 @@
return InstancePtrExecutor(space, cppclass)
elif compound == '**' or compound == '*&':
return InstancePtrPtrExecutor(space, cppclass)
+ elif "(anonymous)" in name:
+ # special case: enum w/o a type name
+ return _executors["internal_enum_type_t"](space, None)
# 4) additional special cases
if compound == '*':
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit