|
Boost : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2006-05-23 00:30:28
can the export.hpp be replaced with something like
#if msvc 6
#include old_export.hpp
#else
... new code here or new export
#endif
That way vc6 is still supported subject to the header ordering
restriction while for other compilers the restriction is eliminated.
Since the old code is already written and tested, there is no
cost to doing this. It also provides an "escape hatch" should
we come upon some other compiler that can't handle the
new code.
I'll be curious to see how you did this. I did spend a lot
of time trying to find a better solution. I'm also curious
to see if it solves some code instantiation failures with
code warrior.
congratulations.
Robert Ramey
David Abrahams wrote:
> Hi Robert,
>
> The header ordering issue is solved... except on vc6. Unfortunately
> the technique depends on instantiating static members of templates
> with more than two dependent types, which leads ultimately to the same
> problem described here:
> http://www.boost.org/libs/serialization/doc/implementation.html#vc6.
> I've made lots of clever attempts at workarounds, but this compiler
> bug is etremely stubborn.
>
> If you're interested in a fix for the issue that doesn't work on vc6,
> or if you're ready to drop support for vc6, then I'll proceed.
> Otherwise, please let me know and I'll check my work in on a branch
> for posterity.
>
> Thanks,
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk