* It normally should not be necessary to use the _Z form of the BOOST_PP_ENUM macro, although it is perfectly legal and helpful to do so, but in this case it is necessary as a workaround for a bug in the new VC++ standard conforming preprocessor. The bug manifests itself when testing the TTI library, which internally uses the Boost MPL code. The bug in the new VC++ standard conforming compiler is fixed in the VS2019 preview product, so that fix is sure to find its way to the official VS2019 product sometime soon. In the meantime this "fix" shortens the macro expansion somewhat and, while it should not be necessary, is still helpful.
* Fix for appveyor.yml file
* Added VS2019 tests, also with new preprocessor. Further MPL Fixes for new preprocessor bug, which are also useful and will speed up preprocessing.
* Can't seem to test msvc-10.0 or msvc-11.0 any more with Appveyor
* Update description
... to express their dependency on this library and retrieve any
configuration information such as the include directory, binary
to link to (if any), transitive dependencies, necessary compiler
options or the required c++ standards level.
The struct member function inside BOOST_MPL_ASSERT_MSG_IMPL was causing
multiple definitions of the same symbol when used inside e.g. template
functions.
An example of where this is a big issue is in the boost/geometry library
where you currently only can call each function once for each geometry
or you get hit by the multiple definitions linking error.
This fix* works around the issue by gracefully degrading to
BOOST_STATIC_ASSERT_MSG instead of failing during linking.
Add PGI C++ to list of compilers that use enums rather than static constants for compile-time assertions, because, like GCC, PGI issues warnings for unused static constants.
* Added default-value for cmdline-option which expects the Boost
source-directory. It points to the Boost source-directory in which the
script "boost_mpl_preprocess.py" is located.
* Adjusted "README.txt" file to reflect these changes.
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
* Extended script "boost_mpl_preprocess.py" to automatically call script
"fix_boost_mpl_preprocess.py" prior to pre-processing and thereby
automatically fix issue #11224.
* Extended script "fix_boost_mpl_preprocess.py" to just allow checking
if the selected Boost source-directory requires fixing because of
issue #11224.
* Adjusted the "README.txt" accordingly.
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>