|
Boost : |
From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2005-04-21 08:15:07
Aleksey Gurtovoy ha escrito:
> JOAQUIN LOPEZ MU?Z writes:
> > Hello,
> >
> > Jochen Hammann has stumbled onto a problem which can
> > be reduced to the following: In MSVC 7.1, if setting
> > the compiler option /vmg, is_base_and_derived crashes
> > when dealing with instantiations of template classes that
> > have pointers to members as template params.
> >
> > The attached code, if compiled with /vmg, ICEs as follows:
> >
> > d:\...\boost\type_traits\is_base_and_derived.hpp(127) : fatal
> > error C1001: INTERNAL COMPILER ERROR
> > (compiler file 'msc1.cpp', line 2701)
> > Please choose the Technical Support command on the Visual C++
> > Help menu, or open the Technical Support help file for more
> > information
> >
> > (I don't know if the problem persists in MSVC 8.0.)
> >
> > Is there any hope that this can be solved? Thanks
> > in advance,
>
> Could you please try the attached patch (exploiting VC 7.1's
> non-conformance w.r.t. overload resolution) on the original
> problem?
>
I don't have a MSVC 7.1 copy so I cannot help here. :(
Have you tried with my test case? Does it work? If so, I'm confident
the original problem will be solved as well. In case you want to give it a try,
the original code where the problem popped out is given in
http://lists.boost.org/boost-users/2005/04/11326.php
Also, I don't know if the patch should be also applied to MSVC 8.0.
Joaquín M Lópz Muñoz
Telefónica, Investigación y Desarrollo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk