Boost logo

Boost Users :

From: adutoit (adutoit_at_[hidden])
Date: 2003-05-21 08:32:51


Thanks Jeff for taking the time to help me.

In reading my own post again, I see the tone of my writing was somewhat
unfriendly, sorry!

Anyway; it just irks me that I should have issues with 'standard' stuff,
like streaming operators.
And the fact that the same code compiles with MSVC6 and NOT the Intel
compiler. Especially if I know the same code
compiles fine under Linux with GCC 3.2.

Back on the #define which started my woes. The fact of the matter is, I get
everything compiled when using MSVC6 and not the Intel compiler!
I.e. the MSVC6-specific code works, the 'other' compiler code for the
supposedly more Boost-compliant/friendly Intel compiler does not.

Could it be because I am using STLPort in conjunction with the Intel
compiler?

Aargh. Just give me Linux and GCC...

Greetings,
Andre.

----- Original Message -----
From: "Jeff Garland" <jeff_at_[hidden]>
To: <Boost-Users_at_[hidden]>
Sent: Wednesday, May 21, 2003 3:00 PM
Subject: RE: [Boost-Users] boost::date_time::posix_time and Intel Compiler
7.0?

> > 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
> > <boost/posix_time/time_formatters.hpp> does not install any trust
> > whatsoever on my part:
> >
> > file://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
>
>
> Info: <http://www.boost.org>
> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl>
> Unsubscribe: <mailto:boost-users-unsubscribe_at_[hidden]>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net