I have been having really annoying issues debugging using Visual Studio 2010 with Intel Parallel Studio 2011 (Intel C++ as compiler). One such problem is that variables declared inside loops are not visible most of the time. VS2010 has a known issue with this, but it seems to happen more easily when using Intel C++ as compiler.The problem I would like to report is about Intel C++ removing, somehow, the anonymous enumerated value _EEN_DS defined in std::deque, which is needed to provide debugging information (it is used by the expression found in autoexp.dat). The end result is that every value of the deque displays "(error) | 0". If I compile the same file using Visual C++, then I am able to inspect the deque without problems.Just in case, the common type that I use for the deque is a sort of smart pointer.I even tried adding a line that assigns _EEN_DS to a variable (to use the symbol), but inspection of the container is still broken (probably due to an optimization, even when no optimizations are enabled).
For more complete information about compiler optimizations, see our Optimization Notice.