Fix user-defined literal detection for Intel C++ compiler (#311) #312
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #311.
The
FMT_USE_USER_DEFINED_LITERALS
check is beginning to resemble a dumpster fire, but as per Intel's C++11 feature notes both the system compiler (gcc/msc) and icc itself must support the given feature:To make sure the UDL detection still works on any compiler I added a new compile test which checks that the feature detection in the header matches the one in CMake.
CMAKE_CXX_COMPILER
andCPP11_FLAG
are passed tocompile-test
to ensure the same configuration.Tested and working with Intel C++ 14.0-16.0 on Linux and 16.0 on Windows.