Opened 5 years ago
Closed 5 years ago
#13470 closed Bugs (fixed)
iterator_t not defined in grammar.ipp when building with intel compiler
Reported by: | 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 by , 5 years ago
Component: | None → spirit |
---|---|
Owner: | set to |
comment:2 by , 5 years ago
comment:3 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
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).
Then you should have been reported the problem to package maintainers of your distro.