Re: boost::spirit::x3[1.63.0] calc1.cpp compilation error using g++
Henri Menke <[email protected]> Mon, 16 Apr 2018 09:31:32 +1200
| Newsgroups | gmane.comp.parsers.spirit.general |
|---|---|
| Message-ID | <[email protected]> |
On Sun, 2018-04-15 at 18:27 +0000, Abhijit Maji wrote:
> Hi,
>
> I tried compiling (g++ -O3 -w -std=c++11 -I.
> -I/grid/common/pkgs/boost/v1.63.0/include calc1.cpp) [gcc version: 4.8.3]
Boost.Spirit X3 requires C++14.
>
> https://www.boost.org/doc/libs/1_63_0/libs/spirit/example/x3/calc/calc1.cpp
>
> and get tons of errors. Please see the log below.
>
> Can you please help me figure out what is going wrong?
>
> Thanks!
>
> In file included from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/core/parser.hpp:1
> 8:0,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary/any_par
> ser.hpp:11,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary.hpp:11,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3.hpp:14,
> from calc1.cpp:20:
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:28:18: error: expected primary-expression before 'auto'
> decltype(auto) get(ID_ id) const
> ^
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:28:18: error: expected ')' before 'auto'
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:28:9: error: expected unqualified-id before 'decltype'
> decltype(auto) get(ID_ id) const
> ^
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:61:21: error: expected primary-expression before 'auto'
> inline decltype(auto) get(Context const& context)
> ^
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:61:21: error: expected ')' before 'auto'
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:61:12: error: expected unqualified-id before 'decltype'
> inline decltype(auto) get(Context const& context)
> ^
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp: In function 'auto boost::spirit::x3::make_unique_context(T&, const
> Next&)':
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:99:59: error: 'get' is not a member of 'boost::spirit::x3'
> return detail::make_unique_context<ID>(val, next, x3::get<ID>(next));
> ^
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/context.h
> pp:99:69: error: expected primary-expression before '>' token
> return detail::make_unique_context<ID>(val, next, x3::get<ID>(next));
> ^
> In file included from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary/any_par
> ser.hpp:13:0,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary.hpp:11,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3.hpp:14,
> from calc1.cpp:20:
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/subcontex
> t.hpp: In constructor 'boost::spirit::x3::subcontext<T>::subcontext(const
> Context&)':
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/subcontex
> t.hpp:46:26: error: 'get' is not a member of 'boost::spirit::x3'
> : context_type(x3::get<typename T::first_type>(context))
> ^
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/subcontex
> t.hpp:46:26: note: suggested alternative:
> In file included from /grid/common/pkgsData/gcc-v4.8.3/Linux/RHEL5.0-2010-
> x86_64/include/c++/4.8.3/functional:55:0,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/fusion/support/detail/as_fusion_
> element.hpp:15,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/fusion/support/pair.hpp:15,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/subcontex
> t.hpp:12,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary/any_par
> ser.hpp:13,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary.hpp:11,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3.hpp:14,
> from calc1.cpp:20:
> /grid/common/pkgsData/gcc-v4.8.3/Linux/RHEL5.0-2010-
> x86_64/include/c++/4.8.3/tuple:771:5: note: 'std::get'
> get(tuple<_Elements...>&& __t) noexcept
> ^
> In file included from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary/any_par
> ser.hpp:13:0,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/auxiliary.hpp:11,
> from
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3.hpp:14,
> from calc1.cpp:20:
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/subcontex
> t.hpp:46:56: error: expected '(' before '>' token
> : context_type(x3::get<typename T::first_type>(context))
> ^
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/subcontex
> t.hpp: In constructor 'boost::spirit::x3::subcontext<T, Tail
> ...>::subcontext(const Context&)':
> /grid/common/pkgs/boost/v1.63.0/include/boost/spirit/home/x3/support/subcontex
> t.hpp:70:17: error: 'get' is not a member of 'boost::spirit::x3'
> x3::get<typename T::first_type>(context)
>
> more follows …
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Spirit-general mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/spirit-general
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Spirit-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spirit-general