[Bug 271712] devel/py-greenlet: fix build with clang 16 on i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 29 May 2023 18:26:41 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271712 Bug ID: 271712 Summary: devel/py-greenlet: fix build with clang 16 on i386 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: sunpoet@FreeBSD.org Reporter: dim@FreeBSD.org Flags: maintainer-feedback?(sunpoet@FreeBSD.org) Assignee: sunpoet@FreeBSD.org Since clang 16 (and gcc 11) the default C++ standard is now gnu++17. Because devel/py-greenlet's build infrastructure does not explicitly set its C++ standard, this leads to several errors: In file included from src/greenlet/greenlet.cpp:21: In file included from src/greenlet/greenlet_slp_switch.hpp:82: In file included from src/greenlet/slp_platformselect.h:18: src/greenlet/platform/switch_x86_unix.h:54:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register int *stackref, stsizediff; ^~~~~~~~~ src/greenlet/platform/switch_x86_unix.h:54:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register int *stackref, stsizediff; ^~~~~~~~~ The register keyword has already been removed from the similar switch_amd64_unix.h header, which is why the above problem does not occur on amd64. To work around the errors, define the register keyword away using CPPFLAGS. -- You are receiving this mail because: You are the assignee for the bug.