C++17 does not allow dynamic exception specifications
|User & Date:||tangent 2018-05-02 14:45:58|
- Change icomment to:
> Some conditional compilation might be in order here
The trick is how to do that portably.
The wrong way is to simply test for a particular GCC version, since that doesn't test whether C++17 compatibility is enabled on any given build. It also wouldn't get you Clang or VC++ compatibility.
The right way is to create a set of Autoconf and C++ macro tests that end up defining macros like MYSQLPP_HAVE_CPP17, which in turn you could ifdef against to remove these throwspecs.
I can't just blindly remove the throwspecs, since I assume they affect the ABI of the built library. MySQL++ 3's ABI has been stable for many years now, so I don't want to break it now.
Patches will be thoughtfully considered if you have any idea of how to do this properly. Otherwise, I suggest that you just locally hack your copy of the library to remove the throwspecs.
- Change login to "tangent"
- Change mimetype to "text/x-fossil-plain"
- Change priority to "Immediate"
- Change resolution to "Open"
- Change subsystem to "Library"