id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 10440,"boyer_moore.hpp fails on Linux w/ gcc-4.7.2, OK with Mac clang",boost@…,Marshall Clow,"I have a simple find-string-in-file program that uses boyer_moore matching. On Mac, it compiles and works OK. (Not sure if Mac is really using gcc; that's the command name, but ""gcc -v"" says ""Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)"" At any rate, the same code, with a freshly-compiled Boost-1.56.0 on Debian 7, gcc-4.7.2, fails to compile: {{{ g++ -g -I. -I/usr/local/include -c -o find.o find.cc In file included from /usr/local/include/boost/range/iterator.hpp:24:0, from /usr/local/include/boost/range/begin.hpp:24, from /usr/local/include/boost/algorithm/searching/boyer_moore.hpp:18, from find.cc:5: /usr/local/include/boost/mpl/eval_if.hpp: In instantiation of ‘struct boost::mpl::eval_if_c, boost::range_mutable_iterator >’: /usr/local/include/boost/range/iterator.hpp:69:17: required from ‘struct boost::range_iterator’ /usr/local/include/boost/algorithm/searching/boyer_moore.hpp:243:5: required by substitution of ‘template typename boost::range_iterator::type boost::algorithm::boyer_moore_search(CorpusRange&, const PatternRange&) [with PatternRange = const unsigned char*; CorpusRange = const unsigned char*]’ find.cc:26:106: required from here /usr/local/include/boost/mpl/eval_if.hpp:60:31: error: no type named ‘type’ in ‘boost::mpl::eval_if_c, boost::range_mutable_iterator >::f_ {aka struct boost::range_mutable_iterator}’ make: *** [find.o] Error 1 }}} (On Mac also, I compiled a fresh copy of Boost-1.56.0 using the native compiler.) ",Bugs,new,To Be Determined,algorithm,Boost 1.56.0,Problem,,"boyer_moore,linux,gcc-4.7.2",