[C++-sig] Re: const_argument test failures
agurtovoy at meta-comm.com
Sun Oct 24 09:33:39 CEST 2004
Aleksey Gurtovoy writes:
> David Abrahams writes:
> >>> This compiler bug should have been worked around on
> >>> every platform that has partial specialization
> >> Definitely possible, but then all platforms that support partial
> >> specialization don't have a problem _compiling_ the code. I'm not
> >> sure how run-time failures come into picture here.
> > The type of the argument is translated into a typeid, and type
> > converters are registered against a typeid. If the type of the
> > argument is wrong, it won't find the right registered converter.
> Got it.
> >>> (the test passes for me with vc7.1),
> >> That's because the bug was fixed in the compiler.
> > I don't think so. It used to fail on vc7.1 IIUC. I certainly ran
> > the test, had it fail, applied a workaround, and had the test pass on
> > some compiler.
> We are talking about slightly different bugs here. On MSVC 6.5 the
> following simply doesn't compile (bug #1):
> template< typename T > void f(void (*)(T));
> void g(int const);
> int main()
> On VC 7 and higher it does, but T is deduced as 'int const' (bug #2).
> >>> and it can be made to work on VC6/7 with
> >>> BOOST_TT_BROKEN_COMPILER_SPEC( object )
> >> I don't see how this one would help, though.
> > It allows the workaround, which involves remove_cv, to work.
> ... taking care of the run-time failure. Got it. I was saying that it
> won't help to get 'get_signature' compile on MSVC 6.5.
I took care of it (both in the main trunk and the release branch).
More information about the Cplusplus-sig