
Anything I can do about this? What does this assertion mean?
My setup: Linux 64Bit, gcc 4.2.4, serialization is used for
objects loaded from different shared libraries, shared libraries are loaded with dlopen(RTLD_GLOBAL|RTLD_LAZY).
Assertion (extended_type_info.cpp:92) occurs during program termination (after main returned), during dlclose().
If anything else isn't possible, would it be appropriate to change
Hartmut Kaiser wrote: polymorphic the
related code (before the release!) from:
assert(start != end);
// remove entry in map which corresponds to this type do{ if(this == *start) x.erase(start++); else ++start; }while(start != end);
After looking at this code again I have the impression that it is broken anyways.
Yes, but IMHO not for the reason you mention. Certainly I wouldn't let the start++/++start "dance" pass a code review.
Agreed.
PS: don't use tab characters in posts! :-)
It's a raw copy of the code, so there have to be tabs in the source files... Regards Hartmut