
"Robert Ramey" <ramey@rrsd.com> writes:
David Abrahams wrote:
Robert,
I'm just about done. I'm unable to test on cw-8.3 at the moment because the test library seems to be broken there. As for cw-9.4, the export tests never worked there, presumably for the same reason I'm seeing: when a class template static member is used only as the result of another template instantiation, it may never get initialized. As a result, base/derived relationships are not getting registered.
That's always been my guess - but I never found a way to fix it. I didn't have CW on my own machine so I wasn't really able to experiment enough to look for a solution - if there is one.
Aside from that, all export tests seem to be passing, including release mode tests on vc-8.0.
Note that I had a lot of problems on many platforms with code not being instantiated in release mode. I recommend testing on all platforms with release mode
Yeah, it looks like vc-7.0 is still eliminating some of the startup code. My biggest problem is that I don't understand what you're registering and where, and I can't understand the error messages I see. So for example, when I get an "unregistered class" exception, what does that mean? It isn't at all obvious what constitutes registration of a class.
I was able to clean up a *lot* of messy code.
Would you like me to:
0. Check my code in on the trunk
Without having looked at anything, I'm assuming that export.hpp has been pretty much replaced and I would be fine with seeing it just checked into the trunk.
I wasn't aware that there was a *lot* of messy code (except perhaps workarounds for compiler quirks).
Yes, a great deal of the mess was workarounds (sometimes workarounds that were not effective), but lots was just functionality implemented in ways that were needlessly convoluted.
Maybe we have a different criteria for "messy". If this confined to a few modules, maybe the most practical would be to email them to me so I might have a look at them. If its a lot of modules, I would like to consider it some more. Note that the trunk is undergoing some flux as the adjustments to array serialization are being integrated - this might affect the course of action here.
The large changes are confined to a few modules. There are lots of smaller changes. Just tell me what you want me to do. -- Dave Abrahams Boost Consulting www.boost-consulting.com