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