Opened 8 years ago
Last modified 7 years ago
#11200 new Bugs
Error when compiling log_setup by compiler Intel C++ 14.0
Reported by: | Owned by: | Thomas Heller | |
---|---|---|---|
Milestone: | To Be Determined | Component: | phoenix |
Version: | Boost 1.58.0 | Severity: | Problem |
Keywords: | Cc: | Andrey.Semashev@… |
Description
In case of compilation of log_setup library there is the following error:
intel-linux.compile.c++ /home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt/default_formatter_factory.o "/opt/intel/composer_xe_2013_sp1.0.080/bin/intel64/icpc" -c -xc++ -w1 -inline-level=2 -O3 -ip -pthread -fPIC -m64 -fPIC -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc -fno-builtin-calloc -fno-builtin-cfree -fno-builtin-memalign -fno-builtin-posix_memalign -fno-builtin-valloc -fno-builtin-pvalloc -no-intel-extensions -fvisibility=hidden -fvisibility-inlines-hidden -ipo -std=gnu++98 -wd177,780,2196,1782,193,304,981,1418,411,734,279 -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LOG_DYN_LINK=1 -DBOOST_LOG_SETUP_BUILDING_THE_LIB=1 -DBOOST_LOG_SETUP_DLL -DBOOST_LOG_USE_AVX2 -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_USE_SSSE3 -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DDATE_TIME_INLINE -DNDEBUG -D_GNU_SOURCE=1 -D_XOPEN_SOURCE=600 -I"." -c -o "/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt/default_formatter_factory.o" "libs/log/src/default_formatter_factory.cpp" ./boost/proto/detail/preprocessed/make_expr_.hpp(73): error: class "boost::proto::transform<PrimitiveTransform, X>::result<boost::phoenix::phoenix_generator (boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>, boost::log::v2_mt_posix::expressions::stream_type>, 2L>)> [with PrimitiveTransform=boost::proto::switch_<boost::phoenix::phoenix_generator, boost::proto::tag_of<boost::proto::_> ()>, X=void]" has no member "type" typedef typename proto_generator::template result<proto_generator(expr_type)>::type result_type; ^ detected during: instantiation of class "boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void> [with Tag=boost::proto::tagns_::tag::assign, Domain=boost::phoenix::phoenix_domain, A0=boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>, A1=boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>>]" at line 184 of "./boost/proto/make_expr.hpp" instantiation of class "boost::proto::result_of::make_expr<Tag, Domain, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Domain::proto_is_domain_> [with Tag=boost::proto::tagns_::tag::assign, Domain=boost::phoenix::phoenix_domain, A0=boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>, A1=boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>>, A2=void, A3=void, A4=void, A5=void, A6=void, A7=void, A8=void, A9=void]" at line 241 of "./boost/proto/detail/preprocessed/basic_expr.hpp" instantiation of class "boost::proto::exprns_::basic_expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2L> [with Tag=boost::proto::tagns_::tag::assign, Arg0=boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>, Arg1=boost::log::v2_mt_posix::expressions::stream_type]" at line 830 of "./boost/proto/matches.hpp" instantiation of class "boost::proto::switch_<Cases, boost::proto::tag_of<boost::proto::_> ()>::impl<Expr, State, Data> [with Cases=boost::phoenix::phoenix_generator, Expr=boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>, boost::log::v2_mt_posix::expressions::stream_type>, 2L>, State=boost::proto::envns_::empty_state={int}, Data=boost::proto::envns_::empty_env]" at line 238 of "./boost/proto/transform/impl.hpp" instantiation of class "boost::proto::detail::apply_transform<PrimitiveTransform (Expr)> [with PrimitiveTransform=boost::phoenix::phoenix_generator, Expr=boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2>>, 0L>, boost::log::v2_mt_posix::expressions::stream_type>, 2L>]" at line 255 of "./boost/proto/transform/impl.hpp" [ 7 instantiation contexts not shown ] instantiation of class "boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void> [with Tag=boost::proto::tagns_::tag::shift_left, Domain=boost::phoenix::phoenix_domain, A0=const boost::log::v2_mt_posix::expressions::stream_type &, A1=boost::log::v2_mt_posix::expressions::attribute_actor<boost::mpl::vector30<bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id>, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor> &]" at line 184 of "./boost/proto/make_expr.hpp" instantiation of class "boost::proto::result_of::make_expr<Tag, Domain, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Domain::proto_is_domain_> [with Tag=boost::proto::tagns_::tag::shift_left, Domain=boost::phoenix::phoenix_domain, A0=const boost::log::v2_mt_posix::expressions::stream_type &, A1=boost::log::v2_mt_posix::expressions::attribute_actor<boost::mpl::vector30<bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id>, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor> &, A2=void, A3=void, A4=void, A5=void, A6=void, A7=void, A8=void, A9=void]" at line 40 of "./boost/core/enable_if.hpp" instantiation of class "boost::lazy_enable_if_c<B, T> [with B=true, T=boost::proto::result_of::make_expr<boost::proto::tagns_::tag::shift_left, boost::phoenix::phoenix_domain, const boost::log::v2_mt_posix::expressions::stream_type &, boost::log::v2_mt_posix::expressions::attribute_actor<boost::mpl::vector30<bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id>, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor> &, void, void, void, void, void, void, void, void, void>]" at line 70 of "./boost/proto/operators.hpp" instantiation of class "boost::proto::detail::enable_binary<Domain, Grammar, Trait, Tag, Left, Right> [with Domain=boost::phoenix::phoenix_domain, Grammar=boost::phoenix::meta_grammar, Trait=boost::mpl::or_<boost::proto::is_extension<const boost::log::v2_mt_posix::expressions::stream_type>, boost::proto::is_extension<boost::log::v2_mt_posix::expressions::attribute_actor<boost::mpl::vector30<bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id>, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor>>, boost::mpl::bool_<false>, boost::mpl::bool_<false>, boost::mpl::bool_<false>>, Tag=boost::proto::tagns_::tag::shift_left, Left=const boost::log::v2_mt_posix::expressions::stream_type &, Right=boost::log::v2_mt_posix::expressions::attribute_actor<boost::mpl::vector30<bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id>, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor> &]" at line 89 of "./boost/proto/operators.hpp" instantiation of class "boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, Trait, Tag, Left &, Right &> [with Trait=boost::mpl::or_<boost::proto::is_extension<const boost::log::v2_mt_posix::expressions::stream_type>, boost::proto::is_extension<boost::log::v2_mt_posix::expressions::attribute_actor<boost::mpl::vector30<bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id>, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor>>, boost::mpl::bool_<false>, boost::mpl::bool_<false>, boost::mpl::bool_<false>>, Tag=boost::proto::tagns_::tag::shift_left, Left=const boost::log::v2_mt_posix::expressions::stream_type, Right=boost::log::v2_mt_posix::expressions::attribute_actor<boost::mpl::vector30<bool, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string, boost::log::v2_mt_posix::string_literal, std::wstring, boost::log::v2_mt_posix::wstring_literal, boost::posix_time::ptime, boost::local_time::local_date_time, boost::posix_time::time_duration, boost::gregorian::date_duration, boost::posix_time::time_period, boost::local_time::local_time_period, boost::gregorian::date_period, boost::log::v2_mt_posix::attributes::named_scope_list, boost::log::v2_mt_posix::aux::thread::id, boost::log::v2_mt_posix::aux::process::id>, boost::log::v2_mt_posix::fallback_to_none, void, boost::phoenix::actor>]" at line 82 of "libs/log/src/default_formatter_factory.cpp" compilation aborted for libs/log/src/default_formatter_factory.cpp (code 2) ...skipped <p/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt>libboost_log_setup-il140-mt-1_58.so.1.58.0 for lack of <p/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt>default_formatter_factory.o... ...skipped <p/home/phprus/devel/build/deps/i/lib64>libboost_log_setup-il140-mt-1_58.so.1.58.0 for lack of <p/home/phprus/devel/build/deps/boost/boost/bin.v2/libs/log/build/intl-lnx-14.0/rls/bst.l-off/log-api-unx/pch-off/thrd-mlt>libboost_log_setup-il140-mt-1_58.so.1.58.0...
Change History (2)
comment:1 by , 7 years ago
Cc: | added |
---|---|
Component: | log → phoenix |
Owner: | changed from | to
comment:2 by , 7 years ago
This may be related to: https://software.intel.com/en-us/forums/topic/516083
Note:
See TracTickets
for help on using tickets.
The problematic code is this:
This is a Boost.Phoenix expression (the stream and attr placeholders are from Boost.Log but they are Boost.Phoenix terminals). Since the code compiles with other compilers this may be a compiler issue, but I can't be sure as I'm not familiar with Boost.Phoenix implementation. I'll pass the ticket to Boost.Phoenix team and hope they can provide some insight on what's happening here.
As for Boost.Log, I'll probably replace this expression with something simpler, just to reduce compile times. As a side effect this may also resolve the build failure.