Oberon00 / luabind

Luabind is a library that helps you create bindings between C++ and Lua.
http://oberon00.github.io/luabind/
Other
46 stars 13 forks source link

Compile issue with clang ppa (3.4/svn), non-C++11 mode, on Ubuntu 12.04 #11

Closed rpavlik closed 11 years ago

rpavlik commented 11 years ago

Ubuntu 12.04 is the latest LTS release, and comes with gcc 4.6.3 and its associated standard library. I built with Clang from the nightly PPA, and got this error:

In file included from /home/rpavlik/src/luabind-oberon/src/class_rep.cpp:28:
In file included from /home/rpavlik/src/luabind-oberon/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind-oberon/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind-oberon/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind-oberon/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind-oberon/luabind/detail/call_member.hpp:30:
In file included from /home/rpavlik/src/luabind-oberon/luabind/detail/convert_to_lua.hpp:28:
/home/rpavlik/src/luabind-oberon/luabind/detail/policy.hpp:499:35: error: no type named 'underlying_type' in namespace 'std'
            typedef typename std::underlying_type<T>::type integral_t;
                    ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/rpavlik/src/luabind-oberon/luabind/detail/policy.hpp:499:50: error: expected unqualified-id
            typedef typename std::underlying_type<T>::type integral_t;
rpavlik commented 11 years ago

Note that for this, I had enabled LUABIND_NO_CXX11 to work around similar related issues. I also got this error:

In file included from /home/rpavlik/src/luabind-oberon/src/class_rep.cpp:28:
In file included from /home/rpavlik/src/luabind-oberon/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind-oberon/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind-oberon/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind-oberon/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind-oberon/luabind/detail/call_member.hpp:30:
In file included from /home/rpavlik/src/luabind-oberon/luabind/detail/convert_to_lua.hpp:28:
In file included from /home/rpavlik/src/luabind-oberon/luabind/detail/policy.hpp:70:
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:35:
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This
      support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.

(This might actually be a separate bug, now that I think of it. Any reason why the boost type_traits can't be used here at least until non-C++11 support is dropped at some point in the future?)

Oberon00 commented 11 years ago

This is a caused by old Boost versions not defining various BOOST_NO_* defines I test for. Duplicate of #7.

EDIT: Sorry, that applies just to the LUABIND_NO_CXX11 case. EDIT2: On second thought it seems that this indeed also applies to the first case: <type_traits> exists but is incomplete. Hopefully BOOST_NO_0X_HDR_TYPE_TRAITS is defined by this Boost/compiler combination otherwise you would have to manually define LUABIND_NO_SCOPED_ENUM. Can you try again with 296a35773a259f67d1fdd8a27eb0a199d4785b82?

rpavlik commented 11 years ago

OK, so with my latest merged branch, with neither LUABIND_USE_CXX11 nor LUABIND_NO_SCOPED_ENUM set, I get this build log from a make -k:

/usr/bin/cmake -H/home/rpavlik/src/luabind -B/home/rpavlik/src/luabind-build-clang --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/rpavlik/src/luabind-build-clang/CMakeFiles /home/rpavlik/src/luabind-build-clang/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/rpavlik/src/luabind-build-clang'
make -f src/CMakeFiles/luabind.dir/build.make src/CMakeFiles/luabind.dir/depend
make[2]: Entering directory `/home/rpavlik/src/luabind-build-clang'
cd /home/rpavlik/src/luabind-build-clang && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/rpavlik/src/luabind /home/rpavlik/src/luabind/src /home/rpavlik/src/luabind-build-clang /home/rpavlik/src/luabind-build-clang/src /home/rpavlik/src/luabind-build-clang/src/CMakeFiles/luabind.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/rpavlik/src/luabind-build-clang'
make -f src/CMakeFiles/luabind.dir/build.make src/CMakeFiles/luabind.dir/build
make[2]: Entering directory `/home/rpavlik/src/luabind-build-clang'
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 1
[  1%] Building CXX object src/CMakeFiles/luabind.dir/class.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/class.cpp.o -c /home/rpavlik/src/luabind/src/class.cpp
In file included from /home/rpavlik/src/luabind/src/class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rpavlik/src/luabind/src/class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:84:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
In file included from /home/rpavlik/src/luabind/src/class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:89:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:82:41: error: expected ';' at end of declaration list
                ~proxy_function_caller() LUABIND_MAY_THROW
                                        ^
                                        ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:64:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(args)
                      ^~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:73:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(rhs.m_args)
                      ^~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:245:46: error: expected ';' at end of declaration list
                ~proxy_function_void_caller() LUABIND_MAY_THROW
                                             ^
                                             ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:227:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(L)
                      ^~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:236:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(rhs.m_state)
                      ^~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/class.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
4 warnings and 9 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/class.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 2
[  2%] Building CXX object src/CMakeFiles/luabind.dir/class_info.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/class_info.cpp.o -c /home/rpavlik/src/luabind/src/class_info.cpp
In file included from /home/rpavlik/src/luabind/src/class_info.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class_info.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/class_info.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class_info.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rpavlik/src/luabind/src/class_info.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class_info.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:84:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
In file included from /home/rpavlik/src/luabind/src/class_info.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class_info.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:89:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:82:41: error: expected ';' at end of declaration list
                ~proxy_function_caller() LUABIND_MAY_THROW
                                        ^
                                        ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:64:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(args)
                      ^~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:73:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(rhs.m_args)
                      ^~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:245:46: error: expected ';' at end of declaration list
                ~proxy_function_void_caller() LUABIND_MAY_THROW
                                             ^
                                             ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:227:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(L)
                      ^~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:236:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(rhs.m_state)
                      ^~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/class_info.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
4 warnings and 9 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/class_info.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 4
[  3%] Building CXX object src/CMakeFiles/luabind.dir/class_rep.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/class_rep.cpp.o -c /home/rpavlik/src/luabind/src/class_rep.cpp
In file included from /home/rpavlik/src/luabind/src/class_rep.cpp:28:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/class_rep.cpp:28:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rpavlik/src/luabind/src/class_rep.cpp:28:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:84:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
In file included from /home/rpavlik/src/luabind/src/class_rep.cpp:28:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:89:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:82:41: error: expected ';' at end of declaration list
                ~proxy_function_caller() LUABIND_MAY_THROW
                                        ^
                                        ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:64:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(args)
                      ^~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:73:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(rhs.m_args)
                      ^~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:245:46: error: expected ';' at end of declaration list
                ~proxy_function_void_caller() LUABIND_MAY_THROW
                                             ^
                                             ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:227:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(L)
                      ^~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:236:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(rhs.m_state)
                      ^~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/class_rep.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
4 warnings and 9 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/class_rep.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 
[  3%] Building CXX object src/CMakeFiles/luabind.dir/create_class.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/create_class.cpp.o -c /home/rpavlik/src/luabind/src/create_class.cpp
In file included from /home/rpavlik/src/luabind/src/create_class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/create_class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rpavlik/src/luabind/src/create_class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:84:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
In file included from /home/rpavlik/src/luabind/src/create_class.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:89:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:82:41: error: expected ';' at end of declaration list
                ~proxy_function_caller() LUABIND_MAY_THROW
                                        ^
                                        ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:64:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(args)
                      ^~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:73:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(rhs.m_args)
                      ^~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:245:46: error: expected ';' at end of declaration list
                ~proxy_function_void_caller() LUABIND_MAY_THROW
                                             ^
                                             ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:227:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(L)
                      ^~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:236:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(rhs.m_state)
                      ^~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/create_class.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
4 warnings and 9 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/create_class.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 5
[  4%] Building CXX object src/CMakeFiles/luabind.dir/error.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/error.cpp.o -c /home/rpavlik/src/luabind/src/error.cpp
/home/rpavlik/src/luabind/src/error.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 6
[  5%] Building CXX object src/CMakeFiles/luabind.dir/exception_handler.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/exception_handler.cpp.o -c /home/rpavlik/src/luabind/src/exception_handler.cpp
/home/rpavlik/src/luabind/src/exception_handler.cpp:5:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 7
[  6%] Building CXX object src/CMakeFiles/luabind.dir/function.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/function.cpp.o -c /home/rpavlik/src/luabind/src/function.cpp
In file included from /home/rpavlik/src/luabind/src/function.cpp:7:
In file included from /home/rpavlik/src/luabind/luabind/make_function.hpp:9:
In file included from /home/rpavlik/src/luabind/luabind/detail/call.hpp:12:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/function.cpp:7:
In file included from /home/rpavlik/src/luabind/luabind/make_function.hpp:9:
In file included from /home/rpavlik/src/luabind/luabind/detail/call.hpp:12:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/function.cpp:5:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
2 warnings and 3 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/function.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 8
[  7%] Building CXX object src/CMakeFiles/luabind.dir/function_introspection.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/function_introspection.cpp.o -c /home/rpavlik/src/luabind/src/function_introspection.cpp
In file included from /home/rpavlik/src/luabind/src/function_introspection.cpp:40:
In file included from /home/rpavlik/src/luabind/luabind/detail/call.hpp:12:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/function_introspection.cpp:40:
In file included from /home/rpavlik/src/luabind/luabind/detail/call.hpp:12:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rpavlik/src/luabind/src/function_introspection.cpp:43:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:82:41: error: expected ';' at end of declaration list
                ~proxy_function_caller() LUABIND_MAY_THROW
                                        ^
                                        ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:64:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(args)
                      ^~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:73:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(rhs.m_args)
                      ^~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:245:46: error: expected ';' at end of declaration list
                ~proxy_function_void_caller() LUABIND_MAY_THROW
                                             ^
                                             ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:227:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(L)
                      ^~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:236:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(rhs.m_state)
                      ^~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/function_introspection.cpp:36:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
2 warnings and 9 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/function_introspection.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 
[  7%] Building CXX object src/CMakeFiles/luabind.dir/inheritance.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/inheritance.cpp.o -c /home/rpavlik/src/luabind/src/inheritance.cpp
/home/rpavlik/src/luabind/src/inheritance.cpp:5:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 9
[  8%] Building CXX object src/CMakeFiles/luabind.dir/link_compatibility.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/link_compatibility.cpp.o -c /home/rpavlik/src/luabind/src/link_compatibility.cpp
/home/rpavlik/src/luabind/src/link_compatibility.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 10
[  9%] Building CXX object src/CMakeFiles/luabind.dir/object_rep.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/object_rep.cpp.o -c /home/rpavlik/src/luabind/src/object_rep.cpp
In file included from /home/rpavlik/src/luabind/src/object_rep.cpp:28:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/src/object_rep.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
3 warnings generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 11
[ 10%] Building CXX object src/CMakeFiles/luabind.dir/open.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/open.cpp.o -c /home/rpavlik/src/luabind/src/open.cpp
In file included from /home/rpavlik/src/luabind/src/open.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/open.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:34:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rpavlik/src/luabind/src/open.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:84:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
In file included from /home/rpavlik/src/luabind/src/open.cpp:25:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:89:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:82:41: error: expected ';' at end of declaration list
                ~proxy_function_caller() LUABIND_MAY_THROW
                                        ^
                                        ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:64:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(args)
                      ^~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:73:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(rhs.m_args)
                      ^~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:245:46: error: expected ';' at end of declaration list
                ~proxy_function_void_caller() LUABIND_MAY_THROW
                                             ^
                                             ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:227:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(L)
                      ^~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:236:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(rhs.m_state)
                      ^~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/open.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
4 warnings and 9 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/open.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 12
[ 11%] Building CXX object src/CMakeFiles/luabind.dir/operator.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/operator.cpp.o -c /home/rpavlik/src/luabind/src/operator.cpp
/home/rpavlik/src/luabind/src/operator.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 
[ 11%] Building CXX object src/CMakeFiles/luabind.dir/pcall.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/pcall.cpp.o -c /home/rpavlik/src/luabind/src/pcall.cpp
/home/rpavlik/src/luabind/src/pcall.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 13
[ 12%] Building CXX object src/CMakeFiles/luabind.dir/scope.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/scope.cpp.o -c /home/rpavlik/src/luabind/src/scope.cpp
In file included from /home/rpavlik/src/luabind/src/scope.cpp:27:
In file included from /home/rpavlik/src/luabind/luabind/scope.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/scope.cpp:27:
In file included from /home/rpavlik/src/luabind/luabind/scope.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/scope.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
2 warnings and 3 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/scope.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 14
[ 13%] Building CXX object src/CMakeFiles/luabind.dir/set_package_preload.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/set_package_preload.cpp.o -c /home/rpavlik/src/luabind/src/set_package_preload.cpp
In file included from /home/rpavlik/src/luabind/src/set_package_preload.cpp:40:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/set_package_preload.cpp:40:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/set_package_preload.cpp:36:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
In file included from /home/rpavlik/src/luabind/src/set_package_preload.cpp:40:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:271:18: error: no matching constructor for initialization of 'call_proxy<luabind::adl::object, arguments>'
          return call_proxy<Derived, arguments>(
                 ^
/home/rpavlik/src/luabind/src/set_package_preload.cpp:86:15: note: in instantiation of function template specialization 'luabind::adl::object_interface<luabind::adl::object>::operator()<const char *, luabind::adl::object>' requested here
        do_set(modulename, proxy_ldr);
              ^
/home/rpavlik/src/luabind/luabind/detail/object.hpp:962:10: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 2 were provided
  struct call_proxy
         ^
/home/rpavlik/src/luabind/luabind/detail/object.hpp:962:10: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
2 warnings and 4 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/set_package_preload.cpp.o] Error 1
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 15
[ 14%] Building CXX object src/CMakeFiles/luabind.dir/shared_ptr_converter.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/shared_ptr_converter.cpp.o -c /home/rpavlik/src/luabind/src/shared_ptr_converter.cpp
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 16
[ 15%] Building CXX object src/CMakeFiles/luabind.dir/stack_content_by_name.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/stack_content_by_name.cpp.o -c /home/rpavlik/src/luabind/src/stack_content_by_name.cpp
/home/rpavlik/src/luabind/src/stack_content_by_name.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 
[ 15%] Building CXX object src/CMakeFiles/luabind.dir/weak_ref.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/weak_ref.cpp.o -c /home/rpavlik/src/luabind/src/weak_ref.cpp
/home/rpavlik/src/luabind/src/weak_ref.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
1 warning generated.
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles 17
[ 16%] Building CXX object src/CMakeFiles/luabind.dir/wrapper_base.cpp.o
cd /home/rpavlik/src/luabind-build-clang/src && /usr/bin/clang++    -Wall -Wextra -Wno-deprecated-declarations -Wmissing-declarations -Wsign-conversion -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wformat=2 -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-overflow=5 -Weverything -Wno-shadow -Wno-undef -Wno-global-constructors -Wno-weak-vtables -Wno-padded -Wno-exit-time-destructors -Wno-missing-noreturn -Wno-c++11-long-long -I/home/rpavlik/src/luabind -I/home/rpavlik/src/luabind-build-clang -I/usr/include/lua5.2    -fPIC -o CMakeFiles/luabind.dir/wrapper_base.cpp.o -c /home/rpavlik/src/luabind/src/wrapper_base.cpp
In file included from /home/rpavlik/src/luabind/src/wrapper_base.cpp:29:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_function.hpp:33:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:21: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat]
      ~call_proxy() LUABIND_MAY_THROW
                    ^
/home/rpavlik/src/luabind/luabind/config.hpp:137:35: note: expanded from macro 'LUABIND_MAY_THROW'
#        define LUABIND_MAY_THROW noexcept(false)
                                  ^
In file included from /home/rpavlik/src/luabind/src/wrapper_base.cpp:29:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_function.hpp:33:
In file included from /home/rpavlik/src/luabind/luabind/object.hpp:26:
/home/rpavlik/src/luabind/luabind/detail/object.hpp:976:20: error: expected ';' at end of declaration list
      ~call_proxy() LUABIND_MAY_THROW
                   ^
                   ;
/home/rpavlik/src/luabind/luabind/detail/object.hpp:965:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(&wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/object.hpp:970:11: error: member initializer 'value_wrapper' does not name a non-static data member or base class
        : value_wrapper(other.value_wrapper)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/rpavlik/src/luabind/src/wrapper_base.cpp:29:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:82:41: error: expected ';' at end of declaration list
                ~proxy_function_caller() LUABIND_MAY_THROW
                                        ^
                                        ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:64:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(args)
                      ^~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:73:23: error: member initializer 'm_args' does not name a non-static data member or base class
                    : m_args(rhs.m_args)
                      ^~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:245:46: error: expected ';' at end of declaration list
                ~proxy_function_void_caller() LUABIND_MAY_THROW
                                             ^
                                             ;
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:227:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(L)
                      ^~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:236:23: error: member initializer 'm_state' does not name a non-static data member or base class
                    : m_state(rhs.m_state)
                      ^~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/src/wrapper_base.cpp:23:9: warning: macro is not used [-Wunused-macros]
#define LUABIND_BUILDING
        ^
2 warnings and 9 errors generated.
make[2]: *** [src/CMakeFiles/luabind.dir/wrapper_base.cpp.o] Error 1
make[2]: Target `src/CMakeFiles/luabind.dir/build' not remade because of errors.
make[2]: Leaving directory `/home/rpavlik/src/luabind-build-clang'
make[1]: *** [src/CMakeFiles/luabind.dir/all] Error 2
make -f test/CMakeFiles/test_main.dir/build.make test/CMakeFiles/test_main.dir/depend
make[2]: Entering directory `/home/rpavlik/src/luabind-build-clang'
cd /home/rpavlik/src/luabind-build-clang && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/rpavlik/src/luabind /home/rpavlik/src/luabind/test /home/rpavlik/src/luabind-build-clang /home/rpavlik/src/luabind-build-clang/test /home/rpavlik/src/luabind-build-clang/test/CMakeFiles/test_main.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/rpavlik/src/luabind-build-clang'
make -f test/CMakeFiles/test_main.dir/build.make test/CMakeFiles/test_main.dir/build
make[2]: Entering directory `/home/rpavlik/src/luabind-build-clang'
make[2]: Nothing to be done for `test/CMakeFiles/test_main.dir/build'.
make[2]: Leaving directory `/home/rpavlik/src/luabind-build-clang'
/usr/bin/cmake -E cmake_progress_report /home/rpavlik/src/luabind-build-clang/CMakeFiles  79 80
[ 18%] Built target test_main
make[1]: Target `all' not remade because of errors.
make[1]: Leaving directory `/home/rpavlik/src/luabind-build-clang'
make: *** [all] Error 2
make: Target `default_target' not remade because of errors.

The errors look essentially the same when building with LUABIND_NO_SCOPED_ENUM enabled.

Oberon00 commented 11 years ago

The -Wunused-macros warnings are silenced by me only for Luabind itself but not the tests and thus the flag is sowmehat hidden (https://github.com/Oberon00/luabind/blob/master/src/CMakeLists.txt#L126).

LUABIND_MAY_THROW: Oops! It seems like I got the #ifdefs for that one the wrong way round. I will add a version check for Boost >= 1.47, where BOOST_NO_NOEXCEPT was introduced. I hope the other errors are then caused by the compiler getting confused over this, otherwise I cannot explain e.g. complaining about a missing member when I can clearly see that it is there and it works with other compilers.

rpavlik commented 11 years ago

OK, with the latest fixes, I got GCC to build it in either mode (just have to make sure LUABIND_USE_NOEXCEPT is off). The library builds with Clang, now, too, but I'm still getting weird errors in building the tests:

[ 17%] Built target luabind
[ 17%] Built target benchmark
[ 19%] Built target test_main
[ 20%] Built target test_abstract_base
[ 21%] Built target test_adopt
[ 22%] Built target test_adopt_wrapper
[ 22%] Built target test_attributes
[ 23%] Building CXX object test/CMakeFiles/test_automatic_smart_ptr.dir/test_automatic_smart_ptr.cpp.o
In file included from /home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:6:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:84:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
In file included from /home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:6:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:30:
In file included from /home/rpavlik/src/luabind/luabind/detail/convert_to_lua.hpp:28:
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:172:30: error: call to implicitly-deleted copy constructor of 'boost::shared_ptr<<anonymous>::X>'
            make_instance(L, x);
                             ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:196:9: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::X>, mpl_::bool_<true> >' requested here
        make_pointee_instance(L, x, has_get_pointer<T>(), Clone());
        ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:282:13: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::X>, mpl_::bool_<true> >' requested here
            make_pointee_instance(L, x, mpl::true_());
            ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:285:26: note: in instantiation of function template specialization 'luabind::detail::value_converter::apply<boost::shared_ptr<<anonymous>::X> >' requested here
        result_converter.apply(
                         ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:88:12: note: in instantiation of function template specialization 'luabind::detail::invoke_normal<boost::shared_ptr<<anonymous>::X> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::X> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
    return invoke_normal(
           ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:99:12: note: in instantiation of function template specialization 'luabind::detail::invoke0<boost::shared_ptr<<anonymous>::X> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::X> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type, boost::is_void<boost::shared_ptr<<anonymous>::X> > >' requested here
    return invoke0(
           ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:62:25: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
              results = invoke(
                        ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:107:13: note: in instantiation of member function 'luabind::detail::function_object_impl<boost::shared_ptr<<anonymous>::X> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::X> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>::function_object_impl' requested here
      , new detail::function_object_impl<F, Signature, Policies>(
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:28:23: note: in instantiation of function template specialization 'luabind::make_function<boost::shared_ptr<<anonymous>::X> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::X> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
          object fn = make_function(L, f, deduce_signature(f), policies);
                      ^
/home/rpavlik/src/luabind/luabind/function.hpp:48:13: note: in instantiation of member function 'luabind::detail::function_registration<boost::shared_ptr<<anonymous>::X> (*)(), luabind::detail::null_type>::register_' requested here
        new detail::function_registration<F, Policies>(name, f, policies)));
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:54:12: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::X> (*)(), luabind::detail::null_type>' requested here
    return def(name, f, detail::null_type());
           ^
/home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:97:9: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::X> (*)()>' requested here
        def("make2", make2),
        ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:347:5: note: copy constructor is implicitly deleted because 'shared_ptr<<anonymous>::X>' has a user-declared move constructor
    shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws
    ^
/home/rpavlik/src/luabind/luabind/detail/make_instance.hpp:73:36: note: passing argument to parameter 'p' here
void make_instance(lua_State* L, P p)
                                   ^
/home/rpavlik/src/luabind/luabind/detail/make_instance.hpp:92:35: error: call to implicitly-deleted copy constructor of 'boost::shared_ptr<<anonymous>::X>'
        new (storage) holder_type(p, dynamic.first, dynamic.second);
                                  ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:172:13: note: in instantiation of function template specialization 'luabind::detail::make_instance<boost::shared_ptr<<anonymous>::X> >' requested here
            make_instance(L, x);
            ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:196:9: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::X>, mpl_::bool_<true> >' requested here
        make_pointee_instance(L, x, has_get_pointer<T>(), Clone());
        ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:282:13: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::X>, mpl_::bool_<true> >' requested here
            make_pointee_instance(L, x, mpl::true_());
            ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:285:26: note: in instantiation of function template specialization 'luabind::detail::value_converter::apply<boost::shared_ptr<<anonymous>::X> >' requested here
        result_converter.apply(
                         ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:88:12: note: in instantiation of function template specialization 'luabind::detail::invoke_normal<boost::shared_ptr<<anonymous>::X> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::X> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
    return invoke_normal(
           ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:99:12: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
    return invoke0(
           ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:107:13: note: in instantiation of member function 'luabind::detail::function_object_impl<boost::shared_ptr<<anonymous>::X> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::X> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>::function_object_impl' requested here
      , new detail::function_object_impl<F, Signature, Policies>(
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:28:23: note: in instantiation of function template specialization 'luabind::make_function<boost::shared_ptr<<anonymous>::X> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::X> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
          object fn = make_function(L, f, deduce_signature(f), policies);
                      ^
/home/rpavlik/src/luabind/luabind/function.hpp:48:13: note: in instantiation of member function 'luabind::detail::function_registration<boost::shared_ptr<<anonymous>::X> (*)(), luabind::detail::null_type>::register_' requested here
        new detail::function_registration<F, Policies>(name, f, policies)));
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:54:12: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::X> (*)(), luabind::detail::null_type>' requested here
    return def(name, f, detail::null_type());
           ^
/home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:97:9: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::X> (*)()>' requested here
        def("make2", make2),
        ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:347:5: note: copy constructor is implicitly deleted because 'shared_ptr<<anonymous>::X>' has a user-declared move constructor
    shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws
    ^
/home/rpavlik/src/luabind/luabind/detail/instance_holder.hpp:78:11: note: passing argument to parameter 'p' here
        P p, class_id dynamic_id, void* dynamic_ptr
          ^
In file included from /home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:6:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:30:
In file included from /home/rpavlik/src/luabind/luabind/detail/convert_to_lua.hpp:28:
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:172:30: error: call to implicitly-deleted copy constructor of 'boost::shared_ptr<<anonymous>::D>'
            make_instance(L, x);
                             ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:196:9: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::D>, mpl_::bool_<true> >' requested here
        make_pointee_instance(L, x, has_get_pointer<T>(), Clone());
        ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:282:13: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::D>, mpl_::bool_<true> >' requested here
            make_pointee_instance(L, x, mpl::true_());
            ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:285:26: note: in instantiation of function template specialization 'luabind::detail::value_converter::apply<boost::shared_ptr<<anonymous>::D> >' requested here
        result_converter.apply(
                         ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:88:12: note: in instantiation of function template specialization 'luabind::detail::invoke_normal<boost::shared_ptr<<anonymous>::D> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::D> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
    return invoke_normal(
           ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:99:12: note: in instantiation of function template specialization 'luabind::detail::invoke0<boost::shared_ptr<<anonymous>::D> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::D> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type, boost::is_void<boost::shared_ptr<<anonymous>::D> > >' requested here
    return invoke0(
           ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:62:25: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
              results = invoke(
                        ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:107:13: note: in instantiation of member function 'luabind::detail::function_object_impl<boost::shared_ptr<<anonymous>::D> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::D> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>::function_object_impl' requested here
      , new detail::function_object_impl<F, Signature, Policies>(
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:28:23: note: in instantiation of function template specialization 'luabind::make_function<boost::shared_ptr<<anonymous>::D> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::D> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
          object fn = make_function(L, f, deduce_signature(f), policies);
                      ^
/home/rpavlik/src/luabind/luabind/function.hpp:48:13: note: in instantiation of member function 'luabind::detail::function_registration<boost::shared_ptr<<anonymous>::D> (*)(), luabind::detail::null_type>::register_' requested here
        new detail::function_registration<F, Policies>(name, f, policies)));
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:54:12: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::D> (*)(), luabind::detail::null_type>' requested here
    return def(name, f, detail::null_type());
           ^
/home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:100:9: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::D> (*)()>' requested here
        def("make_d", make_d),
        ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:347:5: note: copy constructor is implicitly deleted because 'shared_ptr<<anonymous>::D>' has a user-declared move constructor
    shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws
    ^
/home/rpavlik/src/luabind/luabind/detail/make_instance.hpp:73:36: note: passing argument to parameter 'p' here
void make_instance(lua_State* L, P p)
                                   ^
/home/rpavlik/src/luabind/luabind/detail/make_instance.hpp:92:35: error: call to implicitly-deleted copy constructor of 'boost::shared_ptr<<anonymous>::D>'
        new (storage) holder_type(p, dynamic.first, dynamic.second);
                                  ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:172:13: note: in instantiation of function template specialization 'luabind::detail::make_instance<boost::shared_ptr<<anonymous>::D> >' requested here
            make_instance(L, x);
            ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:196:9: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::D>, mpl_::bool_<true> >' requested here
        make_pointee_instance(L, x, has_get_pointer<T>(), Clone());
        ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:282:13: note: in instantiation of function template specialization 'luabind::detail::make_pointee_instance<boost::shared_ptr<<anonymous>::D>, mpl_::bool_<true> >' requested here
            make_pointee_instance(L, x, mpl::true_());
            ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:285:26: note: in instantiation of function template specialization 'luabind::detail::value_converter::apply<boost::shared_ptr<<anonymous>::D> >' requested here
        result_converter.apply(
                         ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:88:12: note: in instantiation of function template specialization 'luabind::detail::invoke_normal<boost::shared_ptr<<anonymous>::D> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::D> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
    return invoke_normal(
           ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:99:12: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
    return invoke0(
           ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:107:13: note: in instantiation of member function 'luabind::detail::function_object_impl<boost::shared_ptr<<anonymous>::D> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::D> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>::function_object_impl' requested here
      , new detail::function_object_impl<F, Signature, Policies>(
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:28:23: note: in instantiation of function template specialization 'luabind::make_function<boost::shared_ptr<<anonymous>::D> (*)(), boost::function_types::components<boost::shared_ptr<<anonymous>::D> (*)(), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
          object fn = make_function(L, f, deduce_signature(f), policies);
                      ^
/home/rpavlik/src/luabind/luabind/function.hpp:48:13: note: in instantiation of member function 'luabind::detail::function_registration<boost::shared_ptr<<anonymous>::D> (*)(), luabind::detail::null_type>::register_' requested here
        new detail::function_registration<F, Policies>(name, f, policies)));
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:54:12: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::D> (*)(), luabind::detail::null_type>' requested here
    return def(name, f, detail::null_type());
           ^
/home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:100:9: note: in instantiation of function template specialization 'luabind::def<boost::shared_ptr<<anonymous>::D> (*)()>' requested here
        def("make_d", make_d),
        ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:347:5: note: copy constructor is implicitly deleted because 'shared_ptr<<anonymous>::D>' has a user-declared move constructor
    shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws
    ^
/home/rpavlik/src/luabind/luabind/detail/instance_holder.hpp:78:11: note: passing argument to parameter 'p' here
        P p, class_id dynamic_id, void* dynamic_ptr
          ^
In file included from /home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:6:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:72:
In file included from /home/rpavlik/src/luabind/luabind/back_reference.hpp:28:
In file included from /home/rpavlik/src/luabind/luabind/wrapper_base.hpp:29:
In file included from /home/rpavlik/src/luabind/luabind/detail/call_member.hpp:30:
In file included from /home/rpavlik/src/luabind/luabind/detail/convert_to_lua.hpp:28:
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:288:20: error: call to implicitly-deleted copy constructor of 'boost::shared_ptr<<anonymous>::X>'
            return *static_cast<T*>(result);
                   ^~~~~~~~~~~~~~~~~~~~~~~~
/home/rpavlik/src/luabind/luabind/detail/call.hpp:295:34: note: in instantiation of function template specialization 'luabind::detail::value_converter::apply<boost::shared_ptr<<anonymous>::X> >' requested here
                BOOST_PP_ENUM(N, LUABIND_INVOKE_ARG, LUABIND_INVOKE_IDENTITY)
                                 ^
/usr/include/boost/preprocessor/repetition/enum.hpp:35:79: note: expanded from macro 'BOOST_PP_ENUM_1'
#    define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
                                                                              ^
/usr/include/boost/preprocessor/repetition/repeat.hpp:38:63: note: expanded from macro 'BOOST_PP_REPEAT_1'
# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d)
                                                              ^
/usr/include/boost/preprocessor/repetition/repeat.hpp:43:66: note: expanded from macro 'BOOST_PP_REPEAT_1_I'
# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d)
                                                                 ^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/usr/include/boost/preprocessor/repetition/enum.hpp:53:70: note: expanded from macro 'BOOST_PP_ENUM_M_1_IM'
#    define BOOST_PP_ENUM_M_1_IM(z, n, im) BOOST_PP_ENUM_M_1_I(z, n, im)
                                                                     ^
/usr/include/boost/preprocessor/repetition/enum.hpp:62:63: note: expanded from macro 'BOOST_PP_ENUM_M_1_I'
# define BOOST_PP_ENUM_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
                                                              ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:168:29: note: expanded from macro 'LUABIND_INVOKE_ARG'
    BOOST_PP_CAT(c,base(n)).apply( \
                            ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:88:12: note: in instantiation of function template specialization 'luabind::detail::invoke_normal<void (*)(boost::shared_ptr<<anonymous>::X>), boost::function_types::components<void (*)(boost::shared_ptr<<anonymous>::X>), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
    return invoke_normal(
           ^
/home/rpavlik/src/luabind/luabind/detail/call.hpp:99:12: note: in instantiation of function template specialization 'luabind::detail::invoke0<void (*)(boost::shared_ptr<<anonymous>::X>), boost::function_types::components<void (*)(boost::shared_ptr<<anonymous>::X>), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type, boost::is_void<void> >' requested here
    return invoke0(
           ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:62:25: note: in instantiation of function template specialization 'luabind::detail::invoke<void (*)(boost::shared_ptr<<anonymous>::X>), boost::function_types::components<void (*)(boost::shared_ptr<<anonymous>::X>), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
              results = invoke(
                        ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:32:28: note: in instantiation of member function 'luabind::detail::function_object_impl<void (*)(boost::shared_ptr<<anonymous>::X>), boost::function_types::components<void (*)(boost::shared_ptr<<anonymous>::X>), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>::entry_point' requested here
        : function_object(&entry_point)
                           ^
/home/rpavlik/src/luabind/luabind/make_function.hpp:107:13: note: in instantiation of member function 'luabind::detail::function_object_impl<void (*)(boost::shared_ptr<<anonymous>::X>), boost::function_types::components<void (*)(boost::shared_ptr<<anonymous>::X>), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>::function_object_impl' requested here
      , new detail::function_object_impl<F, Signature, Policies>(
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:28:23: note: in instantiation of function template specialization 'luabind::make_function<void (*)(boost::shared_ptr<<anonymous>::X>), boost::function_types::components<void (*)(boost::shared_ptr<<anonymous>::X>), boost::add_reference<mpl_::arg<-1> > >, luabind::detail::null_type>' requested here
          object fn = make_function(L, f, deduce_signature(f), policies);
                      ^
/home/rpavlik/src/luabind/luabind/function.hpp:48:13: note: in instantiation of member function 'luabind::detail::function_registration<void (*)(boost::shared_ptr<<anonymous>::X>), luabind::detail::null_type>::register_' requested here
        new detail::function_registration<F, Policies>(name, f, policies)));
            ^
/home/rpavlik/src/luabind/luabind/function.hpp:54:12: note: in instantiation of function template specialization 'luabind::def<void (*)(boost::shared_ptr<<anonymous>::X>), luabind::detail::null_type>' requested here
    return def(name, f, detail::null_type());
           ^
/home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:101:9: note: in instantiation of function template specialization 'luabind::def<void (*)(boost::shared_ptr<<anonymous>::X>)>' requested here
        def("needs_x", needs_x)
        ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:347:5: note: copy constructor is implicitly deleted because 'shared_ptr<<anonymous>::X>' has a user-declared move constructor
    shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws
    ^
In file included from /home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:6:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:89:
In file included from /home/rpavlik/src/luabind/luabind/function.hpp:8:
/home/rpavlik/src/luabind/luabind/detail/call_function.hpp:153:38: error: no matching member function for call to 'apply'
                    return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1);
                           ~~~~~~~~~~^~~~~
/home/rpavlik/src/luabind/test/test_automatic_smart_ptr.cpp:119:32: note: in instantiation of member function 'luabind::detail::proxy_function_caller<boost::shared_ptr<<anonymous>::X>, boost::tuples::tuple<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >::operator shared_ptr' requested here
    boost::shared_ptr<X> spx = call_function<boost::shared_ptr<X> >(L, "get2");
                               ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:286:11: note: candidate template ignored: substitution failure [with T = boost::shared_ptr<<anonymous>::X>]
        T apply(lua_State*, by_value<T>, int)
          ^
/home/rpavlik/src/luabind/luabind/detail/policy.hpp:277:14: note: candidate function template not viable: requires 2 arguments, but 3 were provided
        void apply(lua_State* L, T x)
             ^
2 warnings and 6 errors generated.
make[2]: *** [test/CMakeFiles/test_automatic_smart_ptr.dir/test_automatic_smart_ptr.cpp.o] Error 1
make[1]: *** [test/CMakeFiles/test_automatic_smart_ptr.dir/all] Error 2
make: *** [all] Error 2
rpavlik commented 11 years ago

OK, so with latest patches, my branch, NO_SCOPED_ENUM and NO_STD_SHARED_PTR set (USE_CXX11 unset as well as USE_NOEXCEPT), I do get a successful build! Just these warnings repeatedly:

In file included from /home/rpavlik/src/luabind/test/test_virtual_inheritance.cpp:6:
In file included from /home/rpavlik/src/luabind/luabind/luabind.hpp:27:
In file included from /home/rpavlik/src/luabind/luabind/class.hpp:84:
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:53:28: warning: no previous extern
      declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
                           ^
/home/rpavlik/src/luabind/luabind/detail/operator_id.hpp:62:28: warning: no previous extern
      declaration for non-static variable 'a' [-Wmissing-variable-declarations]
        static const char* a[number_of_operators] = {
Oberon00 commented 11 years ago

See here. I believe this is a clang bug.

rpavlik commented 11 years ago

OK, will mark this as solved!