Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-03-06 04:11:40


On Monday 06 March 2006 11:08, Reece Dunn wrote:
> Vladimir Prus wrote:
> >On Friday 03 March 2006 21:12, Bojan Resnik wrote:
> > > I updated from CVS today, and I found that -Op compiler options have
> > > been added to MSVC toolkit. This option is not available in MSVC8.
> > > This is what MSDN for VC8 says:
> > >
> > > ---
> > > /Op compiler option had been removed. Use /fp (Specify Floating-Point
> > > Behavior) instead.
> >
> >So, I need to replace "/0p" with what? Just "/fp", or "/fp=whatever" or?
>
> /fp:<except[-]|fast|precise|strict> choose floating-point model:
> except[-] - consider floating-point exceptions when generating code
> fast - "fast" floating-point model; results are less predictable
> precise - "precise" floating-point model; results are predictable
> strict - "strict" floating-point model (implies /fp:except)
>
> I have modified msvc.jam locally and have added support for most of the VC
> command-line options (see attachment). Note that this contains several
> modifications that I intend on submitting patches for incrementally. The
> main logic is:
>
> feature improve-fp-consistency : no yes : propagated ;
> feature consider-fp-exceptions : no yes : propagated ;
> feature fp-model : default fast precise strict : propagated ;
>
> #...
> if [ MATCH ^([67]\\.) : $(version) ]
> {
> # 8.0 deprecates some of the options
> flags msvc.compile CFLAGS <improve-fp-consistency>yes : /Op ;
> }
> else # VC8+
> {
> flags msvc.compile CFLAGS <consider-fp-exceptions>yes : /fp:except
> ; flags msvc.compile CFLAGS <fp-model>fast : /fp:fast ;
> flags msvc.compile CFLAGS <fp-model>precise : /fp:precise ;
> flags msvc.compile CFLAGS <fp-model>strict : /fp:strict ;
> }

Thanks for researching all this.

> >And is "/fp" avaiable on VC7.1?
>
> No. It's one of the new options in VC8. In the logic above, I have kept
> them separate, but it might be better to have:
>
> <fp-model>precise ==> /Op
>
> for VC6 - 7.1.

I've looked at V1 toolsets and seems that for 8.0, no special options are
passed.

So, as a mid-term solution, I've made the -Op option appear only on 6.* and
7.* versions. This should fix Bojan's problem and allow us to run C++ Boost
tests with 8.0.

As soon as "switch Boost to V2" rush is over, you can submit your patches at
the pace comfortable to you. How do this sound?

Bojan, can you try with current CVS and see if the problem is gone?

- Volodya


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk