Comment 2 for bug 595154

Revision history for this message
Jeff Hill (johill-lanl) wrote :

The issue also does not appear to occur in the cvs main trunk branch on launchpad. I attached the diffs which also include other changes.

Also here is my message to Michael on this topic:

Sorry about the delay, I am on call this week and ... you know how that goes no doubt. I have MINGW GCC 4.4 installed. When I am building on the cvs main trunk branch in launch-pad the build completes w/o issue with mingw, and so I was perplexed concerning why these changes are necessary. I have attached the diffs between the cvs trunk branch and the launchpad trunk because it appears that I have fixed the issue a different way. The change that fixes the issue may be not instantiating the virtual dtor - i.e. not adding this code to epicsTimer.cpp "epicsTimer::~epicsTimer () {}". So maybe, in principal, it shouldn’t be necessary to have any export decoration on a pure virtual base class. Nevertheless, there is nothing wrong with your changes - just a different fix for the same issue. At this point I don’t claim to understand which way is optimal although complete removal of epicsShareClass from pure virtual interfaces is perhaps appealing. The simplest approach that will compile on all of the windows compilers will probably be best. This particular issue will of course occur in 100 bazillion other places in base.

Is there a launchpad branch associated with this change that needs approving?

PS: I do also see many (huge numbers of) warnings like this with g++ 4.4 that I don’t claim to understand at this point.

Info: resolving _pvar_func_asSub by linking to __imp__pvar_func_asSub (auto-import)