If compiling with the Intel oneAPI 2021.1 Beta 20201112, compilation fails:
with -DCMAKE_CXX_STANDARD=11
cd /test/git/fmt/build/test && icpc -DFMT_LOCALE -I/test/git/fmt/include -O3 -DNDEBUG -std=gnu++11 -o CMakeFiles/fmt.dir/src/format.cc.o -c /test/git/fmt/src/format.cc
In file included from /test/git/fmt/include/fmt/format-inl.h(29),
from /test/git/fmt/src/format.cc(8):
/test/git/fmt/include/fmt/format.h(385): warning #1292: unknown attribute "no_sanitize"
__attribute__((no_sanitize("undefined")))
^
In file included from /test/git/fmt/include/fmt/format-inl.h(29),
from /test/git/fmt/src/format.cc(8):
/test/git/fmt/include/fmt/format.h(4049): error: a literal operator template must have a template parameter list equivalent to "<char ...>"
FMT_CONSTEXPR detail::udl_formatter<Char, CHARS...> operator""_format() {
^
compilation aborted for /test/git/fmt/src/format.cc (code 2)
A similar issue #742 has been reported and resolved before (with a fix fba352a)
with -DCMAKE_CXX_STANDARD=14
cd /test/git/fmt/build/test && icpc -DFMT_ENFORCE_COMPILE_STRING -DFMT_LOCALE -DGTEST_HAS_STD_WSTRING=1 -DGTEST_LANG_CXX11=0 -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING=1 -I/test/git/fmt/include -I/test/git/fmt/test/gtest -I/test/git/fmt/test/gmock -I/test/git/fmt/test/. -O3 -DNDEBUG -fno-delete-null-pointer-checks -std=gnu++14 -o CMakeFiles/enforce-compile-string-test.dir/enforce-compile-string-test.cc.o -c /test/git/fmt/test/enforce-compile-string-test.cc
In file included from /test/git/fmt/include/fmt/chrono.h(17),
from /test/git/fmt/test/enforce-compile-string-test.cc(14):
/test/git/fmt/include/fmt/format.h(385): warning #1292: unknown attribute "no_sanitize"
__attribute__((no_sanitize("undefined")))
^
/test/git/fmt/include/fmt/format.h(4018): error: no suitable user-defined conversion from "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>" to "std::__1::basic_string<const char, std::__1::char_traits<const char>, std::__1::allocator<const char>>" exists
return format(FMT_STRING(s), std::forward<Args>(args)...);
^
detected during instantiation of "std::__1::basic_string<Char, std::__1::char_traits<Char>, std::__1::allocator<Char>> fmt::v7::detail::udl_formatter<Char, CHARS...>::operator()(Args &&...) const [with Char=const char, CHARS=<'{', '}', 'c', '{', '}'>, Args=<const char (&)[3], int>]" at line 43 of "/test/git/fmt/test/enforce-compile-string-test.cc"
/test/git/fmt/include/fmt/format.h(4018): error: no suitable user-defined conversion from "std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>" to "std::__1::basic_string<const wchar_t, std::__1::char_traits<const wchar_t>, std::__1::allocator<const wchar_t>>" exists
return format(FMT_STRING(s), std::forward<Args>(args)...);
^
detected during instantiation of "std::__1::basic_string<Char, std::__1::char_traits<Char>, std::__1::allocator<Char>> fmt::v7::detail::udl_formatter<Char, CHARS...>::operator()(Args &&...) const [with Char=const wchar_t, CHARS=<123, 125, 99, 123, 125>, Args=<const wchar_t (&)[3], int>]" at line 44 of "/test/git/fmt/test/enforce-compile-string-test.cc"
compilation aborted for /test/git/fmt/test/enforce-compile-string-test.cc (code 2)
with -DCMAKE_CXX_STANDARD=17
cd /test/git/fmt/build/test && icpc -DFMT_ENFORCE_COMPILE_STRING -DFMT_LOCALE -DGTEST_HAS_STD_WSTRING=1 -DGTEST_LANG_CXX11=0 -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING=1 -I/test/git/fmt/include -I/test/git/fmt/test/gtest -I/test/git/fmt/test/gmock -I/test/git/fmt/test/. -O3 -DNDEBUG -fno-delete-null-pointer-checks -std=gnu++17 -o CMakeFiles/enforce-compile-string-test.dir/enforce-compile-string-test.cc.o -c /test/git/fmt/test/enforce-compile-string-test.cc
In file included from /test/git/fmt/include/fmt/chrono.h(17),
from /test/git/fmt/test/enforce-compile-string-test.cc(14):
/test/git/fmt/include/fmt/format.h(385): warning #1292: unknown attribute "no_sanitize"
__attribute__((no_sanitize("undefined")))
^
/test/git/fmt/include/fmt/format.h(4018): error: no suitable user-defined conversion from "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>" to "std::__1::basic_string<const char, std::__1::char_traits<const char>, std::__1::allocator<const char>>" exists
return format(FMT_STRING(s), std::forward<Args>(args)...);
^
detected during instantiation of "std::__1::basic_string<Char, std::__1::char_traits<Char>, std::__1::allocator<Char>> fmt::v7::detail::udl_formatter<Char, CHARS...>::operator()(Args &&...) const [with Char=const char, CHARS=<'{', '}', 'c', '{', '}'>, Args=<const char (&)[3], int>]" at line 43 of "/test/git/fmt/test/enforce-compile-string-test.cc"
/test/git/fmt/include/fmt/format.h(4018): error: no suitable user-defined conversion from "std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>" to "std::__1::basic_string<const wchar_t, std::__1::char_traits<const wchar_t>, std::__1::allocator<const wchar_t>>" exists
return format(FMT_STRING(s), std::forward<Args>(args)...);
^
detected during instantiation of "std::__1::basic_string<Char, std::__1::char_traits<Char>, std::__1::allocator<Char>> fmt::v7::detail::udl_formatter<Char, CHARS...>::operator()(Args &&...) const [with Char=const wchar_t, CHARS=<123, 125, 99, 123, 125>, Args=<const wchar_t (&)[3], int>]" at line 44 of "/test/git/fmt/test/enforce-compile-string-test.cc"
compilation aborted for /test/git/fmt/test/enforce-compile-string-test.cc (code 2)
with -DCMAKE_CXX_STANDARD=20
cd /test/git/fmt/build/test && icpc -DFMT_ENFORCE_COMPILE_STRING -DFMT_LOCALE -DGTEST_HAS_STD_WSTRING=1 -DGTEST_LANG_CXX11=0 -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING=1 -I/test/git/fmt/include -I/test/git/fmt/test/gtest -I/test/git/fmt/test/gmock -I/test/git/fmt/test/. -O3 -DNDEBUG -fno-delete-null-pointer-checks -std=gnu++20 -o CMakeFiles/enforce-compile-string-test.dir/enforce-compile-string-test.cc.o -c /test/git/fmt/test/enforce-compile-string-test.cc
In file included from /test/git/fmt/include/fmt/chrono.h(17),
from /test/git/fmt/test/enforce-compile-string-test.cc(14):
/test/git/fmt/include/fmt/format.h(385): warning #1292: unknown attribute "no_sanitize"
__attribute__((no_sanitize("undefined")))
^
/test/git/fmt/include/fmt/format.h(4018): error: no suitable user-defined conversion from "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>" to "std::__1::basic_string<const char, std::__1::char_traits<const char>, std::__1::allocator<const char>>" exists
return format(FMT_STRING(s), std::forward<Args>(args)...);
^
detected during instantiation of "std::__1::basic_string<Char, std::__1::char_traits<Char>, std::__1::allocator<Char>> fmt::v7::detail::udl_formatter<Char, CHARS...>::operator()(Args &&...) const [with Char=const char, CHARS=<'{', '}', 'c', '{', '}'>, Args=<const char (&)[3], int>]" at line 43 of "/test/git/fmt/test/enforce-compile-string-test.cc"
/test/git/fmt/include/fmt/format.h(4018): error: no suitable user-defined conversion from "std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>" to "std::__1::basic_string<const wchar_t, std::__1::char_traits<const wchar_t>, std::__1::allocator<const wchar_t>>" exists
return format(FMT_STRING(s), std::forward<Args>(args)...);
^
detected during instantiation of "std::__1::basic_string<Char, std::__1::char_traits<Char>, std::__1::allocator<Char>> fmt::v7::detail::udl_formatter<Char, CHARS...>::operator()(Args &&...) const [with Char=const wchar_t, CHARS=<123, 125, 99, 123, 125>, Args=<const wchar_t (&)[3], int>]" at line 44 of "/test/git/fmt/test/enforce-compile-string-test.cc"
compilation aborted for /test/git/fmt/test/enforce-compile-string-test.cc (code 2)
Host info:
>> sw_vers
ProductName: macOS
ProductVersion: 11.1
BuildVersion: 20C69
Compiler info:
>> icpc --version
icpc (ICC) 2021.1 Beta 20201112
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
If compiling with the Intel oneAPI 2021.1 Beta 20201112, compilation fails:
with
-DCMAKE_CXX_STANDARD=11A similar issue #742 has been reported and resolved before (with a fix fba352a)
with
-DCMAKE_CXX_STANDARD=14with
-DCMAKE_CXX_STANDARD=17with
-DCMAKE_CXX_STANDARD=20Host info:
>> sw_vers ProductName: macOS ProductVersion: 11.1 BuildVersion: 20C69Compiler info:
>> icpc --version icpc (ICC) 2021.1 Beta 20201112 Copyright (C) 1985-2020 Intel Corporation. All rights reserved.