$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (john_at_[hidden])
Date: 2007-01-03 05:02:55
Marc Viala wrote:
> Before trying to recompile some codes from B.MI/test to crash my
> compiler w/ an ICE, I've just played with some compilation options in
> my IDE and the results are:
>
> In Debug mode:
> If the C/C++ options "/Zi" & "/Gm" are set: KO -> w/ ICE in
> apply_wrap.hpp
> If the C/C++ options "/ZI" & "/Gm" are set: KO -> w/ ICE in
> apply_wrap.hpp
> If the C/C++ option "/Gm" is not set and "Zi" or "ZI" is set: OK
>
>
> In Release mode:
> with or without the "/Gm" option set: OK
>
> Funny... It seems that the /Gm option is quite unstable in debug
> mode? I don't know exactly the goal of this option but our project
> template set this option by default in this mode.
>
> Joaquin or John, do you know the meaning of this compilation option
> for VC7.1? Do you know the recommended options w/ this compiler to
> use Boost libraries, more specifically B.MI? For information, up to
> now, we use "/ZI" or "/Zi" in conjunction with "/Gm" option with all
> other Boost libraries.
With apologies I think I misread your original post: I took your post to 
mean you were seeing a runtime crash, but you mean an internal compiler 
error: and I did see that at one point when testing your original code.  I 
use the same project options as you BTW /Zi and /Gm: the /Zi enables build 
and continue, /Gm enables a minimal rebuild (compile only the changes to a 
source).  Generally they work quite well, but if you see an internal 
compiler error the trick is just to do a clean, then rebuild, and that 
usually clears the problem.  Of course cleaning and rebuilding a large 
project can wipe out the advantages that /Zi /Gm normally bring :-(
Strangely I was unable to reproduce the internal error this morning no 
matter options I used: it seems to be very dependent on whatever VC has in 
it's cache.
HTH, John.