Workaround broken UDL templates in GCC < 6.4

This commit is contained in:
Victor Zverovich 2020-02-10 17:08:14 +01:00
parent 1f1b50707c
commit dc22360c34

View File

@ -131,11 +131,11 @@ FMT_END_NAMESPACE
#endif
#ifndef FMT_USE_UDL_TEMPLATE
// EDG front end based compilers (icc, nvcc) do not support UDL templates yet
// and GCC 9 warns about them.
// EDG front end based compilers (icc, nvcc) and GCC < 6.4 do not propertly
// support UDL templates and GCC >= 9 warns about them.
# if FMT_USE_USER_DEFINED_LITERALS && FMT_ICC_VERSION == 0 && \
FMT_CUDA_VERSION == 0 && \
((FMT_GCC_VERSION >= 600 && FMT_GCC_VERSION <= 900 && \
((FMT_GCC_VERSION >= 604 && FMT_GCC_VERSION <= 900 && \
__cplusplus >= 201402L) || \
FMT_CLANG_VERSION >= 304)
# define FMT_USE_UDL_TEMPLATE 1