Subject: [Boost-bugs] [Boost C++ Libraries] #2851: BOOST_FOREACH problem with Intel compiler
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-03-12 16:47:52
#2851: BOOST_FOREACH problem with Intel compiler
------------------------------------+---------------------------------------
Reporter: s.goehler_at_[hidden] | Owner: stefan
Type: Bugs | Status: new
Milestone: Boost 1.39.0 | Component: foreach
Version: Boost 1.38.0 | Severity: Regression
Keywords: |
------------------------------------+---------------------------------------
Hello,
when compiling one of our applications with the Intel Compiler 11.0.072, I
experienced a problem with local non-pointer variables. There are actually
two workarounds to this:
- change line 53 of foreach.hpp from BOOST_WORKAROUND(BOOST_INTEL_WIN, <=
810) to BOOST_WORKAROUND(BOOST_INTEL_WIN, <= 1400)
- make in the example file the vector "ItemContainer mCollection" a
pointer: "ItemContainer *mCollection;" and adress the object itself in the
BOOST_FOREACH-macro
Obviously, a workaround is no fix; so here the compiler output:
Compiler output:
1>Compiling with Intel(R) C++ 11.0.072 [IA-32]... (Intel C++ Environment)
1>boost_bug.cpp
1>.\boost_bug.cpp(21): error: operand types are incompatible
("boost::foreach_detail_::rvalue_probe<const TestClass::ItemContainer>"
and "const TestClass::ItemContainer")
1> BOOST_FOREACH (Item* n, mCollection)
1> ^
Please let me know if you can re-create the problem and if you can fix it.
Sincerely,
Stefan Göhler
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/2851> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:59 UTC