Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

Boost error only with the Intel compiler

$
0
0

I'm currently trying to port a big application from gcc to the Intel Compiler. I managed to compile it with 13, but I have to do it again for 15, especially since a lot of the code now uses C++11.

Unfortunately, a piece (a Boost::Spirit grammar) that compiled fine with icpc 13 (and gcc and Visual Studio) now fails to compile, and I have absolutely no clue as to what is happening. I managed to limit the code to this grammar:

 

#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
#include <boost/spirit/include/phoenix_function.hpp>

namespace qi    = boost::spirit::qi;
namespace ascii = boost::spirit::ascii;

//
// expression and operator datatypes
// used for parsing the tree
//
struct binary_op;

struct expr_node
{
  typedef boost::variant<double, std::string,
    boost::recursive_wrapper<expr_node>,
    boost::recursive_wrapper<binary_op>,
    boost::recursive_wrapper<std::vector<expr_node> > > type;

  expr_node()
    : type_str("none") {}

  template <typename Expr>
  expr_node(Expr const& expr, const std::string type_str = "none")
    : expr(expr), type_str(type_str) {}

  type expr;
  std::string type_str;
};

struct binary_op
{
  binary_op(const std::string& op, expr_node const& left, expr_node const& right)
  : op(op), left(left), right(right) {}

  std::string op;
  expr_node left;
  expr_node right;
};

struct expr_node_phx
{
  template <typename T, typename U>
  struct result { typedef expr_node type; };

  expr_node operator()(expr_node const& expr, const std::string& type_str) const
  {
    expr_node e(expr.expr,type_str);
    return e;
  }
};

boost::phoenix::function<expr_node_phx> exnd;

struct binary_op_phx
{
  template <typename S, typename T, typename U>
  struct result { typedef T type; };

  expr_node operator()(const std::string& name, expr_node const& expr, expr_node const& rhs) const
  {
    return expr_node(binary_op(name,expr,rhs));
  }
};

boost::phoenix::function<binary_op_phx> biop;

//
//  grammar for parsing expressions
//
template <typename Iterator>
struct Grammar : qi::grammar<Iterator,expr_node(),ascii::space_type>
{
  Grammar() : Grammar::base_type(log_expr)
  {
    using qi::_val;
    using qi::_1;

      log_expr =      log_term  [_val = _1]
      >> *(    '|'>> log_term  [_val = biop("|",_val,_1)]);
    }

    // auto and basic parsers
    qi::rule<Iterator,expr_node()  ,ascii::space_type> log_expr,log_term;
};

std::string parse()
{
  typedef std::string::const_iterator iterator_type;
  Grammar<iterator_type> ixgrammar;
}

The full error is the following one:

PATH/boost/boost_1_58_0/include/boost/core/enable_if.hpp(36): error: incomplete type is not allowed
    struct enable_if : public enable_if_c<Cond::value, T> {};
                                          ^
          detected during:
            instantiation of class "boost::enable_if<Cond, T> [with Cond=boost::mpl::and_<boost::fusion::traits::is_sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type,
                      boost::spirit::unused_type, boost::spirit::unused_type>>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,
                      boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>>>, boost::fusion::nil_>>>,
                      boost::mpl::not_<boost::is_convertible<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type>>,
                      boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,
                      boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>>>, boost::fusion::nil_>>, boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>>>, boost::mpl::bool_<true>, boost::mpl::bool_<true>, boost::mpl::bool_<true>>, T=void]" at line 92 of
                      "PATH/boost/boost_1_58_0/include/boost/type_traits/is_convertible.hpp"
            instantiation of class "boost::detail::is_convertible_basic_impl<From, To, false> [with From=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type,
                      boost::spirit::unused_type, boost::spirit::unused_type>>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,
                      boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>>>, boost::fusion::nil_>>, To=boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>]" at line 357 of
                      "PATH/boost/boost_1_58_0/include/boost/type_traits/is_convertible.hpp"
            instantiation of class "boost::detail::is_convertible_impl<From, To> [with From=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type,
                      boost::spirit::unused_type>>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,
                      boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>>>, boost::fusion::nil_>>, To=boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>]" at line 437 of
                      "PATH/boost/boost_1_58_0/include/boost/type_traits/is_convertible.hpp"
            instantiation of class "boost::detail::is_convertible_impl_dispatch<From, To> [with From=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type,
                      boost::spirit::unused_type, boost::spirit::unused_type>>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,
                      boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>>>, boost::fusion::nil_>>, To=boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>]" at line 482 of
                      "PATH/boost/boost_1_58_0/include/boost/type_traits/is_convertible.hpp"
            instantiation of class "boost::is_convertible<From, To> [with From=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type,
                      boost::spirit::unused_type>>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,
                      boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>>>, boost::fusion::nil_>>, To=boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>]" at line 27 of
                      "PATH/boost/boost_1_58_0/include/boost/mpl/aux_/nested_type_wknd.hpp"
            [ 26 instantiation contexts not shown ]
            instantiation of class "boost::proto::transform<PrimitiveTransform, X>::result<Sig> [with PrimitiveTransform=boost::proto::switch_<boost::spirit::meta_compiler<boost::spirit::qi::domain>::cases, boost::proto::tag_of<boost::proto::_> ()>, X=void, Sig=boost::spirit::meta_compiler<boost::spirit::qi::domain>::meta_grammar (boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const
                      boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type> &, const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign,
                      boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::spirit::_1_type>, 2L>> &>, 2L> &, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,
                      boost::proto::argsns_::term<const char &>, 0L>, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type> &, const
                      boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,
                      boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>> &>, 2L> &>, 2L> &>, 1L> &>, 2L>, boost::mpl::void_, boost::spirit::unused_type)]" at line 206 of "PATH/boost/boost_1_58_0/include/boost/spirit/home/support/meta_compiler.hpp"
            instantiation of class "boost::spirit::result_of::compile<Domain, Expr, Modifiers, Enable> [with Domain=boost::spirit::qi::domain, Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (),
                      boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type> &, const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::spirit::_1_type>, 2L>> &>, 2L> &, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference,
                      boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char &>, 0L>, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>,
                      std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type> &, const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>,
                      boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>> &>, 2L> &>, 2L> &>, 1L> &>, 2L>,
                      Modifiers=boost::spirit::unused_type, Enable=void]" at line 184 of "PATH/boost/boost_1_58_0/include/boost/spirit/home/qi/nonterminal/rule.hpp"
            instantiation of "void boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::define<Auto,Expr>(boost::spirit::qi::rule<Iterator, T1, T2, T3, T4> &, const Expr &, boost::mpl::true_) [with Iterator=__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, T1=expr_node (), T2=boost::spirit::ascii::space_type, T3=boost::spirit::unused_type, T4=boost::spirit::unused_type, Auto=boost::mpl::false_,
                      Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type> &, const
                      boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::spirit::_1_type>, 2L>> &>, 2L> &, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right,
                      boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char &>, 0L>, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type,
                      boost::spirit::unused_type> &, const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,
                      boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>> &>, 2L> &>, 2L> &>, 1L> &>, 2L>]" at line 221 of
                      "PATH/boost/boost_1_58_0/include/boost/spirit/home/qi/nonterminal/rule.hpp"
            instantiation of "boost::spirit::qi::rule<Iterator, T1, T2, T3, T4> &boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::operator=(const Expr &) [with Iterator=__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, T1=expr_node (), T2=boost::spirit::ascii::space_type, T3=boost::spirit::unused_type, T4=boost::spirit::unused_type, Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right,
                      boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type> &, const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign,
                      boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::spirit::_1_type>, 2L>> &>, 2L> &, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,
                      boost::proto::argsns_::term<const char &>, 0L>, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, expr_node (), boost::spirit::ascii::space_type, boost::spirit::unused_type, boost::spirit::unused_type> &, const
                      boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::attribute<0>>, 0L>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,
                      boost::proto::argsns_::term<binary_op_phx>, 0L>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char *>, 0L>, boost::spirit::_val_type, boost::spirit::_1_type>, 4L>>>, 2L>> &>, 2L> &>, 2L> &>, 1L> &>, 2L>]" at line 82 of "test.cpp"
            instantiation of "Grammar<Iterator>::Grammar() [with Iterator=__gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>]" at line 92 of "test.cpp"

 

I tried defining GCC macros to see if something was missing in Boost config, but it didn't change the error. Also I didn't find anything relevant of Internet :(

We are quite eager to thnk about shipping the product compiled with the Intel Compiler because of performance, but having this issue is quite worrying...


Viewing all articles
Browse latest Browse all 1616

Trending Articles