Skip to content

compilation fails with Intel oneAPI 2021.1 #2105

Description

@yafshar

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions