What baffles me the most about this issue is that the Intel compiler should mostly be compatible with MSVC6 compiler, according to the Intel website. I.e. no special compiler switches for compatibility required?
It baffles me that compatibility with MSVC6 would be desired at this point. But anyway, I'm not an expert on the Intel compiler, but I think your results will be better if you turn compatibility with MSVC6 off. I'm assuming that is at the root of this issue and the reason that the regression test work and your program doesn't.
Anyway; I got around this issue with a temporary #define MSVC6 for the offending code section followed by a prompt #undef. Ugly, I know, but so is the code involved. I mean, the following lines (26-27) of
does not install any trust whatsoever on my part: //TODO the following is totally non-generic, yelling FIXME #if (defined(BOOST_MSVC) && (_MSC_VER <= 1200)) // 1200 == VC++ 6.0
Right. It shouldn't inspire confidence in MSVC6. This #ifdef is there because of a bug in MSVC6, period. The real code used for all other compilers is in the #else clause. Sorry if the comment is misleading, but there is no intent to ever fix this.
Oh, the Intel compiler like most of the other compilers on the regression test page does not appear to pass the regression tests. In my book "pass" would be if the compiler fails none of the tests, but heck, I have never written a compiler so that means my opinion is null and void on this :).
On the contrary, what I see is that it in fact passses the tests. Which means that the code you are writing should work. As for MSVC it passes the tests, but in a limited fashion. For MSVC stream-based I/O is turned off as explained in http://www.boost.org/libs/date_time/doc/BuildInfo.html Jeff