maintainer-feedback requested: [Bug 231073] lang/python27: consumers cannot build with Clang in C++17 mode

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Sep 1 13:56:20 UTC 2018


Bugzilla Automation <bugzilla at FreeBSD.org> has asked freebsd-python mailing
list <python at FreeBSD.org> for maintainer-feedback:
Bug 231073: lang/python27: consumers cannot build with Clang in C++17 mode
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231073



--- Description ---
Consumers may want to switch to C++17 but some dependencies aren't ready for
Python 3.* or C++17 library may want to keep supporting Python 2.* in addition
to Python 3.*.

$ echo '#include <Python.h>' >a.cc
$ c++ -std=gnu++17 $(python2.7-config --cflags) -c a.cc
In file included from a.cc:1:
In file included from /usr/local/include/python2.7/Python.h:88:
/usr/local/include/python2.7/unicodeobject.h:534:5: error: ISO C++17 does not
allow 'register' storage class
      specifier [-Wregister]
    register PyObject *obj,	/* Object */
    ^~~~~~~~~
/usr/local/include/python2.7/unicodeobject.h:553:5: error: ISO C++17 does not
allow 'register' storage class
      specifier [-Wregister]
    register PyObject *obj	/* Object */
    ^~~~~~~~~
/usr/local/include/python2.7/unicodeobject.h:575:5: error: ISO C++17 does not
allow 'register' storage class
      specifier [-Wregister]
    register const wchar_t *w,	/* wchar_t buffer */
    ^~~~~~~~~
/usr/local/include/python2.7/unicodeobject.h:593:5: error: ISO C++17 does not
allow 'register' storage class
      specifier [-Wregister]
    register wchar_t *w,	/* wchar_t buffer */
    ^~~~~~~~~
In file included from a.cc:1:
In file included from /usr/local/include/python2.7/Python.h:97:
/usr/local/include/python2.7/stringobject.h:173:5: error: ISO C++17 does not
allow 'register' storage class
      specifier [-Wregister]
    register PyObject *obj,	/* string or Unicode object */
    ^~~~~~~~~
/usr/local/include/python2.7/stringobject.h:174:5: error: ISO C++17 does not
allow 'register' storage class
      specifier [-Wregister]
    register char **s,		/* pointer to buffer variable */
    ^~~~~~~~~
/usr/local/include/python2.7/stringobject.h:175:5: error: ISO C++17 does not
allow 'register' storage class
      specifier [-Wregister]
    register Py_ssize_t *len	/* pointer to length variable or NULL
    ^~~~~~~~~
7 errors generated.


More information about the freebsd-python mailing list