* [Bug libstdc++/108062] Test spdlog c++20 std::format
2022-12-11 15:10 [Bug libstdc++/108062] New: Test spdlog c++20 std::format lukaszcz18 at wp dot pl
` (4 preceding siblings ...)
2022-12-12 14:03 ` redi at gcc dot gnu.org
@ 2022-12-12 18:22 ` lukaszcz18 at wp dot pl
2022-12-12 20:20 ` redi at gcc dot gnu.org
2022-12-12 21:27 ` lukaszcz18 at wp dot pl
7 siblings, 0 replies; 9+ messages in thread
From: lukaszcz18 at wp dot pl @ 2022-12-12 18:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108062
--- Comment #6 from Jamaika <lukaszcz18 at wp dot pl> ---
Thanks Jonathan
Thanks for the quick fix of the given errors. I realize that there may be other
errors not necessarily from gcc.
Test new codecs HTJPEG2000 C++20 Grok with spdlog 1.11.0 for Windows 10
In file included from
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\fmt\fmt.h:14,
from c:\gcc1300\x86_64-w64-mingw32\include\spdlog\common.h:50,
from c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:12,
from common.h:40,
from PNMFormat.cpp:29:
c:\gcc1300\include\c++\13.0.0\format: In instantiation of 'static
std::basic_format_args<_Context>::_Store<_Args>::_Element_t
std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp =
PNM_COLOUR_SPACE; _Args =
{std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle}; _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Element_t =
std::basic_format_args<std::basic_format_context<std::__format::_Sink_iter<char>,
char>
>::_Store<std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle>::_Element_t]':
c:\gcc1300\include\c++\13.0.0\format:3248:25: required from
'std::basic_format_args<_Context>::_Store<_Args>::_Store(_Tp& ...) [with _Tp =
{PNM_COLOUR_SPACE, PNM_COLOUR_SPACE}; _Args =
{std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle}; _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>]'
c:\gcc1300\include\c++\13.0.0\format:3300:14: required from 'auto
std::make_format_args(_Args&& ...) [with _Context =
basic_format_context<__format::_Sink_iter<char>, char>; _Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:372:88: required from
'void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum,
spdlog::string_view_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::string_view_t = std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:90:13: required from
'void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum,
spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> =
std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:96:12: required from
'void spdlog::logger::log(spdlog::level::level_enum,
spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> =
std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:164:12: required from
'void spdlog::logger::warn(spdlog::format_string_t<Args ...>, Args&& ...) [with
Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args
...> = std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:167:31: required from
'void spdlog::warn(format_string_t<Args ...>, Args&& ...) [with Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; format_string_t<Args ...> =
std::basic_string_view<char>]'
PNMFormat.cpp:600:16: required from here
c:\gcc1300\include\c++\13.0.0\format:3237:40: error: no matching function for
call to
'std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::basic_format_arg(PNM_COLOUR_SPACE&)'
3237 | basic_format_arg<_Context> __arg(__v);
| ^~~~~
c:\gcc1300\include\c++\13.0.0\format:3005:9: note: candidate: 'template<class
_Tp> requires __formattable_with<_Tp, _Context, typename
_Context::formatter_type<typename std::remove_const<_Tp>::type>,
std::basic_format_parse_context<typename _Context::char_type> >
std::basic_format_arg<_Context>::basic_format_arg(_Tp&) [with _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>]'
3005 | basic_format_arg(_Tp& __v) noexcept
| ^~~~~~~~~~~~~~~~
c:\gcc1300\include\c++\13.0.0\format:3005:9: note: template argument
deduction/substitution failed:
c:\gcc1300\include\c++\13.0.0\format:3005:9: note: constraints not satisfied
In file included from c:\gcc1300\include\c++\13.0.0\compare:37,
from c:\gcc1300\include\c++\13.0.0\bits\char_traits.h:48,
from c:\gcc1300\include\c++\13.0.0\string:42,
from IImageFormat.h:21,
from ImageFormat.h:20,
from PNMFormat.h:19,
from PNMFormat.cpp:26:
c:\gcc1300\include\c++\13.0.0\concepts: In substitution of 'template<class _Tp>
requires __formattable_with<_Tp, _Context, typename
_Context::formatter_type<typename std::remove_const<_Tp>::type>,
std::basic_format_parse_context<typename _Context::char_type> >
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::basic_format_arg(_Tp&) [with _Tp =
std::basic_format_context<std::__format::_Sink_iter<char>, char>]':
c:\gcc1300\include\c++\13.0.0\format:3237:33: required from 'static
std::basic_format_args<_Context>::_Store<_Args>::_Element_t
std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp =
PNM_COLOUR_SPACE; _Args =
{std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle}; _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Element_t =
std::basic_format_args<std::basic_format_context<std::__format::_Sink_iter<char>,
char>
>::_Store<std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle>::_Element_t]'
c:\gcc1300\include\c++\13.0.0\format:3248:25: required from
'std::basic_format_args<_Context>::_Store<_Args>::_Store(_Tp& ...) [with _Tp =
{PNM_COLOUR_SPACE, PNM_COLOUR_SPACE}; _Args =
{std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle}; _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>]'
c:\gcc1300\include\c++\13.0.0\format:3300:14: required from 'auto
std::make_format_args(_Args&& ...) [with _Context =
basic_format_context<__format::_Sink_iter<char>, char>; _Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:372:88: required from
'void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum,
spdlog::string_view_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::string_view_t = std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:90:13: required from
'void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum,
spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> =
std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:96:12: required from
'void spdlog::logger::log(spdlog::level::level_enum,
spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> =
std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:164:12: required from
'void spdlog::logger::warn(spdlog::format_string_t<Args ...>, Args&& ...) [with
Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args
...> = std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:167:31: required from
'void spdlog::warn(format_string_t<Args ...>, Args&& ...) [with Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; format_string_t<Args ...> =
std::basic_string_view<char>]'
PNMFormat.cpp:600:16: required from here
c:\gcc1300\include\c++\13.0.0\concepts:152:13: required for the satisfaction
of 'constructible_from<_Tp, _Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE,
char>]
c:\gcc1300\include\c++\13.0.0\concepts:166:13: required for the satisfaction
of 'move_constructible<_Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE,
char>]
c:\gcc1300\include\c++\13.0.0\concepts:171:13: required for the satisfaction
of 'copy_constructible<_Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE,
char>]
c:\gcc1300\include\c++\13.0.0\concepts:267:13: required for the satisfaction
of 'copyable<_Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE, char>]
c:\gcc1300\include\c++\13.0.0\concepts:272:13: required for the satisfaction
of 'semiregular<_Formatter>' [with _Formatter =
std::formatter<PNM_COLOUR_SPACE, char>]
c:\gcc1300\include\c++\13.0.0\format:2213:13: required for the satisfaction
of '__formattable_with<_Tp, _Context, typename
_Context::formatter_type<typename std::remove_const<_Tp>::type>,
std::basic_format_parse_context<typename _Context::char_type> >' [with _Tp =
PNM_COLOUR_SPACE; _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>]
c:\gcc1300\include\c++\13.0.0\concepts:153:30: note: the expression
'is_constructible_v<_Tp, _Args ...> [with _Tp =
std::formatter<PNM_COLOUR_SPACE, char>; _Args =
{std::formatter<PNM_COLOUR_SPACE, char>}]' evaluated to 'false'
153 | = destructible<_Tp> && is_constructible_v<_Tp, _Args...>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\gcc1300\include\c++\13.0.0\format: In instantiation of 'static
std::basic_format_args<_Context>::_Store<_Args>::_Element_t
std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp =
PNM_COLOUR_SPACE; _Args =
{std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle}; _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Element_t =
std::basic_format_args<std::basic_format_context<std::__format::_Sink_iter<char>,
char>
>::_Store<std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle>::_Element_t]':
c:\gcc1300\include\c++\13.0.0\format:3248:25: required from
'std::basic_format_args<_Context>::_Store<_Args>::_Store(_Tp& ...) [with _Tp =
{PNM_COLOUR_SPACE, PNM_COLOUR_SPACE}; _Args =
{std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle,
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::handle}; _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>]'
c:\gcc1300\include\c++\13.0.0\format:3300:14: required from 'auto
std::make_format_args(_Args&& ...) [with _Context =
basic_format_context<__format::_Sink_iter<char>, char>; _Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:372:88: required from
'void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum,
spdlog::string_view_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::string_view_t = std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:90:13: required from
'void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum,
spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> =
std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:96:12: required from
'void spdlog::logger::log(spdlog::level::level_enum,
spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> =
std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:164:12: required from
'void spdlog::logger::warn(spdlog::format_string_t<Args ...>, Args&& ...) [with
Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args
...> = std::basic_string_view<char>]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:167:31: required from
'void spdlog::warn(format_string_t<Args ...>, Args&& ...) [with Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; format_string_t<Args ...> =
std::basic_string_view<char>]'
PNMFormat.cpp:600:16: required from here
c:\gcc1300\include\c++\13.0.0\format:2820:7: note: candidate:
'std::basic_format_arg<_Context>::basic_format_arg() [with _Context =
std::basic_format_context<std::__format::_Sink_iter<char>, char>]'
2820 | basic_format_arg() noexcept : _M_type(__format::_Arg_none) { }
| ^~~~~~~~~~~~~~~~
c:\gcc1300\include\c++\13.0.0\format:2820:7: note: candidate expects 0
arguments, 1 provided
c:\gcc1300\include\c++\13.0.0\format:2758:11: note: candidate: 'constexpr
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >::basic_format_arg(const
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >&)'
2758 | class basic_format_arg
| ^~~~~~~~~~~~~~~~
c:\gcc1300\include\c++\13.0.0\format:2758:11: note: no known conversion for
argument 1 from 'PNM_COLOUR_SPACE' to 'const
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >&'
c:\gcc1300\include\c++\13.0.0\format:2758:11: note: candidate: 'constexpr
std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char>
>::basic_format_arg(std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >&&)'
c:\gcc1300\include\c++\13.0.0\format:2758:11: note: no known conversion for
argument 1 from 'PNM_COLOUR_SPACE' to
'std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>,
char> >&&'
TIFFFormat.cpp: In function 'void set_resolution(double*, float, float, short
int)':
TIFFFormat.cpp:697:18: error: 'floor' was not declared in this scope; did you
mean 'std::chrono::floor'?
697 | res[i] = floor(res[i]+0.5);
| ^~~~~
| std::chrono::floor
In file included from c:\gcc1300\include\c++\13.0.0\mutex:44,
from ImageFormat.h:25,
from TIFFFormat.h:30,
from TIFFFormat.cpp:29:
c:\gcc1300\include\c++\13.0.0\bits\chrono.h:1023:7: note: 'std::chrono::floor'
declared here
1023 | floor(const time_point<_Clock, _Dur>& __tp)
| ^~~~~
^ permalink raw reply [flat|nested] 9+ messages in thread