Opened 9 months ago

Closed 9 months ago

#13470 closed Bugs (fixed)

iterator_t not defined in grammar.ipp when building with intel compiler

Reported by: eric.a1.jones@… Owned by: Joel de Guzman
Milestone: To Be Determined Component: spirit
Version: Boost 1.53.0 Severity: Problem
Keywords: grammar.ipp iterator_t Cc:

Description

Building an application with Intel compiler (icc version 17.0.4 (gcc version 5.3.1 compatibility)) gives the following error:

/usr/include/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp(320): error: identifier "iterator_t" is undefined
          for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
               ^
          detected during:
            instantiation of "boost::spirit::classic::grammar<DerivedT, ContextT>::~grammar() [with DerivedT=boost::property_tree::json_parser::json_grammar<boost::property_tree::ptree>, ContextT=boost::spirit::classic::parser_context<boost::spirit::classic::nil_t>]" at line 310 of "/usr/include/boost/property_tree/detail/json_parser_read.hpp"
            implicit generation of "boost::property_tree::json_parser::json_grammar<Ptree>::json_grammar() [with Ptree=boost::property_tree::ptree]" at line 310 of "/usr/include/boost/property_tree/detail/json_parser_read.hpp"
            instantiation of class "boost::property_tree::json_parser::json_grammar<Ptree> [with Ptree=boost::property_tree::ptree]" at line 310 of "/usr/include/boost/property_tree/detail/json_parser_read.hpp"
            instantiation of "void boost::property_tree::json_parser::read_json_internal(std::basic_istream<Ptree::key_type::value_type, std::char_traits<Ptree::key_type::value_type>> &, Ptree &, const std::string &) [with Ptree=boost::property_tree::ptree]" at line 74 of "/usr/include/boost/property_tree/json_parser.hpp"
            instantiation of "void boost::property_tree::json_parser::read_json(const std::string &, Ptree &, const std::locale &) [with Ptree=boost::property_tree::ptree]" at line 83 of "/home/spoac/install/spoac_build/support_services/config/config.cc"

There is a line 310 in the online documentation here:

http://www.boost.org/doc/libs/1_53_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp

That declares iterator_t. That line appears to be missing from the installed version of the same file in boost-devel-1.53.0-27.el7.x86_64

So there appears to be a bug in the rpm and also a mismatch with the online documentation.

Change History (3)

comment:1 Changed 9 months ago by Kohei Takahashi

Component: Nonespirit
Owner: set to Joel de Guzman

comment:2 Changed 9 months ago by Nikita Kniazev <nok.raven@…>

Boost 1.53 is ancient (released 5 years ago). I do not see any problems with our only Intel reporter on the master branch (will be released with 1.67).

So there appears to be a bug in the rpm

Then you should have been reported the problem to package maintainers of your distro.

comment:3 Changed 9 months ago by Joel de Guzman

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.