New submission from Joshua J Cogliati: The attached example works fine with Python 3.4.2, but fails with Python 3.5.0a1 and 3.5.0a2
I am using: $ g++ --version g++ (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6) $ swig -version SWIG Version 3.0.5 Compiled with g++ [x86_64-redhat-linux-gnu] Configured options: +pcre $ python3 --version Python 3.5.0a2 The output of trying the makefile with Python 3.5.0a2 is: $ make swig -c++ -python -py3 example.i g++ -g -fPIC -c example.cxx example_wrap.cxx -I/local/python350a2/include/python3.5m -I/local/python350a2/include/python3.5m In file included from /local/python350a2/include/python3.5m/pyatomic.h:10:0, from /local/python350a2/include/python3.5m/Python.h:53, from example_wrap.cxx:154: /usr/include/c++/4.9.2/exception:161:34: error: missing binary operator before token "(" #if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1) ^ In file included from /local/python350a2/include/python3.5m/pyatomic.h:10:0, from /local/python350a2/include/python3.5m/Python.h:53, from example_wrap.cxx:154: /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:40:9: error: ‘_Atomic’ does not name a type typedef _Atomic _Bool atomic_bool; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:41:9: error: ‘_Atomic’ does not name a type typedef _Atomic char atomic_char; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:42:9: error: ‘_Atomic’ does not name a type typedef _Atomic signed char atomic_schar; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:43:9: error: ‘_Atomic’ does not name a type typedef _Atomic unsigned char atomic_uchar; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:44:9: error: ‘_Atomic’ does not name a type typedef _Atomic short atomic_short; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:45:9: error: ‘_Atomic’ does not name a type typedef _Atomic unsigned short atomic_ushort; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:46:9: error: ‘_Atomic’ does not name a type typedef _Atomic int atomic_int; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:47:9: error: ‘_Atomic’ does not name a type typedef _Atomic unsigned int atomic_uint; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:48:9: error: ‘_Atomic’ does not name a type typedef _Atomic long atomic_long; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:49:9: error: ‘_Atomic’ does not name a type typedef _Atomic unsigned long atomic_ulong; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:50:9: error: ‘_Atomic’ does not name a type typedef _Atomic long long atomic_llong; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:51:9: error: ‘_Atomic’ does not name a type typedef _Atomic unsigned long long atomic_ullong; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:52:9: error: ‘_Atomic’ does not name a type typedef _Atomic __CHAR16_TYPE__ atomic_char16_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:53:9: error: ‘_Atomic’ does not name a type typedef _Atomic __CHAR32_TYPE__ atomic_char32_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:54:9: error: ‘_Atomic’ does not name a type typedef _Atomic __WCHAR_TYPE__ atomic_wchar_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:55:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_LEAST8_TYPE__ atomic_int_least8_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:56:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_LEAST8_TYPE__ atomic_uint_least8_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:57:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_LEAST16_TYPE__ atomic_int_least16_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:58:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_LEAST16_TYPE__ atomic_uint_least16_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:59:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_LEAST32_TYPE__ atomic_int_least32_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:60:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_LEAST32_TYPE__ atomic_uint_least32_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:61:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_LEAST64_TYPE__ atomic_int_least64_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:62:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_LEAST64_TYPE__ atomic_uint_least64_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:63:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_FAST8_TYPE__ atomic_int_fast8_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:64:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_FAST8_TYPE__ atomic_uint_fast8_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:65:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_FAST16_TYPE__ atomic_int_fast16_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:66:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_FAST16_TYPE__ atomic_uint_fast16_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:67:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_FAST32_TYPE__ atomic_int_fast32_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:68:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_FAST32_TYPE__ atomic_uint_fast32_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:69:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INT_FAST64_TYPE__ atomic_int_fast64_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:70:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINT_FAST64_TYPE__ atomic_uint_fast64_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:71:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INTPTR_TYPE__ atomic_intptr_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:72:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINTPTR_TYPE__ atomic_uintptr_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:73:9: error: ‘_Atomic’ does not name a type typedef _Atomic __SIZE_TYPE__ atomic_size_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:74:9: error: ‘_Atomic’ does not name a type typedef _Atomic __PTRDIFF_TYPE__ atomic_ptrdiff_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:75:9: error: ‘_Atomic’ does not name a type typedef _Atomic __INTMAX_TYPE__ atomic_intmax_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:76:9: error: ‘_Atomic’ does not name a type typedef _Atomic __UINTMAX_TYPE__ atomic_uintmax_t; ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:232:9: error: ‘_Atomic’ does not name a type typedef _Atomic struct ^ /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/stdatomic.h:239:3: error: ‘atomic_flag’ does not name a type } atomic_flag; ^ In file included from /local/python350a2/include/python3.5m/Python.h:53:0, from example_wrap.cxx:154: /local/python350a2/include/python3.5m/pyatomic.h:37:5: error: ‘_Atomic’ does not name a type _Atomic void *_value; ^ /local/python350a2/include/python3.5m/pyatomic.h:41:5: error: ‘atomic_int’ does not name a type atomic_int _value; ^ Makefile:4: recipe for target 'example.so' failed make: *** [example.so] Error 1 The output with Python 3.4.2: $ make swig -c++ -python -py3 example.i g++ -g -fPIC -c example.cxx example_wrap.cxx -I/local/python342m/include/python3.4m -I/local/python342m/include/python3.4m g++ -g -shared *.o -o _example.so $ python3.4 a_test.py 3 ---------- files: min_example.tar.gz messages: 237942 nosy: Joshua.J.Cogliati, jrincayc priority: normal severity: normal status: open title: swig compile fails with ‘_Atomic’ does not name a type versions: Python 3.5 Added file: http://bugs.python.org/file38453/min_example.tar.gz _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23644> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com