Hi Everyone, I've avoided or side stepped this issue, but Jonathan Wakely brought it to light recently after looking at algparam and observing:
> AssignFromHelperClass binds a > reference to NULL just to default-construct a temporary of some type, then > binds a const-reference to that temporary, then casts away const to modify > the value of that temporary. What seems to be a "VC60 workaround" introduces > undefined behaviour by trying to be far too clever. Jonathan's observations highlight some of the issues with supporting older platforms and gear. The older gear includes compilers like Microsoft's embedded eVC 4.0 compiler, and older IDEs like a 1990's era Code Warrior. I think the support was cutting edge back then, but its a hindrance or a detriment today. My QUESTIONS are: (1) Where can we reasonably draw a line? (2) How should we proceed moving forward? (3) And how can we test that we are proceeding as agreed? My personal feelings lie somewhere around: * Circa 2000's compilers and IDEs * C++03 support * GCC 4.2.1 due to OpenBSD Note that the above does not say "No, we don't support C++11". We just have to maintain sources that are compatible with the project's goals and objectives. I've already started exploring this issue at "How to guard move constructors for C++03 and C++11?", http://stackoverflow.com/q/30797388. Once we classify an item (like, say GCC 2.9 or 3.x; or Visual Studio 5.0 project files), what do we do with them. So my QUESTION here is: (4) What do we do with obsolete gear once we agree something is obsolete? Jeff -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
