Re: luabind 0.9 compile error with clang 3.2
Tomasz Mikolajczyk <[email protected]> Fri, 4 Jan 2013 08:57:03 +0100
| Newsgroups | gmane.comp.lang.lua.bind.user |
|---|---|
| Message-ID | <CAAnoKN9OKGtoEMHZsmNDBMvoM7GoFmk8aonyShfRTkdcF=osmg@mail.gmail.com> |
I was using 0.9.1 version instead of the repository. I forgot to mention that. http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.tar.gz/download /Tomek On Thu, Jan 3, 2013 at 10:19 PM, Ryan Pavlik <[email protected]> wrote: > Which repository/commit are you using? I've been compiling using clang trunk > without issue, on my github branch: http://github.com/rpavlik/luabind > > Ryan > > > On Mon, Dec 31, 2012 at 11:21 AM, Tomasz Mikolajczyk > <[email protected]> wrote: >> >> Hi. >> >> The latest clang 3.2 detected an ambiguous forward declarations in >> detail/format_signature.hpp file: >> >> {{{ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> In file included from /home/tomaszmi/luabind/make_function.hpp:13: >> /home/tomaszmi/luabind/detail/format_signature.hpp:95:33: error: >> reference to 'object' is ambiguous >> LUABIND_TYPE_TO_STRING(luabind::object) >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note: >> expanded from macro 'LUABIND_TYPE_TO_STRING' >> struct type_to_string<x> \ >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:96:33: error: >> reference to 'argument' is ambiguous >> LUABIND_TYPE_TO_STRING(luabind::argument) >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note: >> expanded from macro 'LUABIND_TYPE_TO_STRING' >> struct type_to_string<x> \ >> ^ >> /home/tomaszmi/luabind/object.hpp:827:12: note: candidate found by >> name lookup is 'luabind::argument' >> using adl::argument; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:19:7: note: >> candidate found by name lookup is 'luabind::argument' >> class argument; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:102:23: error: >> reference to 'table' is ambiguous >> struct type_to_string<table<Base> > >> ^ >> /home/tomaszmi/luabind/object.hpp:1189:12: note: candidate found by >> name lookup is 'luabind::table' >> using adl::table; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:21:8: note: >> candidate found by name lookup is 'luabind::table' >> struct table; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:102:29: error: >> 'Base' does not refer to a value >> struct type_to_string<table<Base> > >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:101:17: note: declared >> here >> template <class Base> >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:95:15: error: reference to >> 'object' is ambiguous >> LUABIND_API object make_function_aux( >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to >> 'object' is ambiguous >> LUABIND_API void add_overload(object const&, char const*, object >> const&); >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to >> 'object' is ambiguous >> LUABIND_API void add_overload(object const&, char const*, object >> const&); >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:99:61: error: reference to >> 'object' is ambiguous >> LUABIND_API void add_overload(object const&, char const*, object >> const&); >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:104:1: error: reference to >> 'object' is ambiguous >> object make_function(lua_State* L, F f, Signature, Policies) >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:104:8: error: incomplete >> result type 'luabind::object' in function definition >> object make_function(lua_State* L, F f, Signature, Policies) >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward >> declaration of 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:115:1: error: reference to >> 'object' is ambiguous >> object make_function(lua_State* L, F f) >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:8: >> /home/tomaszmi/luabind/make_function.hpp:115:8: error: incomplete >> result type 'luabind::object' in function definition >> object make_function(lua_State* L, F f) >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward >> declaration of 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:10: >> /home/tomaszmi/luabind/detail/call_function.hpp:224:26: error: >> reference to 'object' is ambiguous >> friend class luabind::object; >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:10: >> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320: >> In file included from >> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47: >> /home/tomaszmi/luabind/detail/call_function.hpp:361:25: error: >> reference to 'object' is ambiguous >> call_function(luabind::object const& obj >> BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) >> BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:10: >> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320: >> In file included from >> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47: >> /home/tomaszmi/luabind/detail/call_function.hpp:373:6: error: member >> access into incomplete type 'const luabind::object' >> obj.push(obj.interpreter()); >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward >> declaration of 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:10: >> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320: >> In file included from >> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47: >> /home/tomaszmi/luabind/detail/call_function.hpp:374:24: error: member >> access into incomplete type 'const luabind::object' >> return proxy_type(obj.interpreter(), 1, &detail::pcall, >> args); >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward >> declaration of 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:10: >> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320: >> In file included from >> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47: >> /home/tomaszmi/luabind/detail/call_function.hpp:404:27: error: >> reference to 'object' is ambiguous >> resume_function(luabind::object const& obj >> BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) >> BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) >> ^ >> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by >> name lookup is 'luabind::object' >> using adl::object; >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: >> candidate found by name lookup is 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:10: >> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320: >> In file included from >> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47: >> /home/tomaszmi/luabind/detail/call_function.hpp:416:6: error: member >> access into incomplete type 'const luabind::object' >> obj.push(obj.interpreter()); >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward >> declaration of 'luabind::object' >> class object; >> ^ >> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27: >> In file included from /home/tomaszmi/luabind/luabind.hpp:28: >> In file included from /home/tomaszmi/luabind/class.hpp:94: >> In file included from /home/tomaszmi/luabind/function.hpp:10: >> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320: >> In file included from >> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47: >> /home/tomaszmi/luabind/detail/call_function.hpp:417:24: error: member >> access into incomplete type 'const luabind::object' >> return proxy_type(obj.interpreter(), 1, >> &detail::resume_impl, args); >> ^ >> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward >> declaration of 'luabind::object' >> class object; >> ^ >> fatal error: too many errors emitted, stopping now [-ferror-limit=] >> 20 errors generated. >> }}} >> >> >> The object, argument and table<> classes are declared in the >> luabind::adl namespace, so the forward declarations should follow >> that: >> >> namespace luabind { namespace adl { >> >> class object; >> class argument; >> template <class Base> >> struct table; >> >> } // namespace adl >> >> using adl::object; >> using adl::argument; >> using adl::table; >> >> } // namespace luabind >> >> See the attached format_signature.hpp file containing the fix. >> >> Regards, >> Tomek >> >> >> ------------------------------------------------------------------------------ >> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, >> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current >> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft >> MVPs and experts. SALE $99.99 this month only -- learn more at: >> http://p.sf.net/sfu/learnmore_122412 >> _______________________________________________ >> luabind-user mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/luabind-user >> > > > > -- > Ryan Pavlik > HCI Graduate Student > Virtual Reality Applications Center > Iowa State University > > [email protected] > http://academic.cleardefinition.com > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122712 > _______________________________________________ > luabind-user mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/luabind-user > ------------------------------------------------------------------------------ Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812