https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108221
--- Comment #13 from Jan Dubiec <jdx at o2 dot pl> --- FYI, Jonathan. This time the target is msp430-elf. Making all in c++20 make[9]: Entering directory '/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/src/c++20' /bin/sh ../../libtool --tag CXX --tag disable-shared --mode=compile /d/Works/xcomp/gcc-build/./gcc/xgcc -shared-libgcc -B/d/Works/xcomp/gcc-build/./gcc -nostdinc++ -L/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/src -L/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/src/.libs -L/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/libsupc++/.libs -B/usr/local/msp430-elf/bin/ -B/usr/local/msp430-elf/lib/ -isystem /usr/local/msp430-elf/include -isystem /usr/local/msp430-elf/sys-include -mlarge -I/d/Works/gcc/libstdc++-v3/../libgcc -I/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/msp430-elf -I/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include -I/d/Works/gcc/libstdc++-v3/libsupc++ -std=gnu++20 -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=tzdb.lo -fimplicit-templates -isystem /d/Works/xcomp/sysroot/msp430-elf/include -mlarge -c -o tzdb.lo ../../../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc libtool: compile: /d/Works/xcomp/gcc-build/./gcc/xgcc -shared-libgcc -B/d/Works/xcomp/gcc-build/./gcc -nostdinc++ -L/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/src -L/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/src/.libs -L/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/libsupc++/.libs -B/usr/local/msp430-elf/bin/ -B/usr/local/msp430-elf/lib/ -isystem /usr/local/msp430-elf/include -isystem /usr/local/msp430-elf/sys-include -mlarge -I/d/Works/gcc/libstdc++-v3/../libgcc -I/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/msp430-elf -I/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include -I/d/Works/gcc/libstdc++-v3/libsupc++ -std=gnu++20 -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=tzdb.lo -fimplicit-templates -isystem /d/Works/xcomp/sysroot/msp430-elf/include -mlarge -c ../../../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc -o tzdb.o In file included from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/chrono:48, from d:\works\gcc\libstdc++-v3\src\c++20\tzdb.cc:28: D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h: In instantiation of 'constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<chrono::time_zone*, vector<chrono::time_zone> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ranges::__detail::__make_comp_proj<std::ranges::less, std::identity>(std::ranges::less&, std::identity&)::<lambda(auto:45&&, auto:46&&)> >]': D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:4893:18: required from 'constexpr void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<chrono::time_zone*, vector<chrono::time_zone> >; _Compare = ranges::__detail::__make_comp_proj<std::ranges::less, std::identity>(std::ranges::less&, std::identity&)::<lambda(auto:45&&, auto:46&&)>]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1782:22: required from 'constexpr _Iter std::ranges::__sort_fn::operator()(_Iter, _Sent, _Comp, _Proj) const [with _Iter = __gnu_cxx::__normal_iterator<std::chrono::time_zone*, std::vector<std::chrono::time_zone> >; _Sent = __gnu_cxx::__normal_iterator<std::chrono::time_zone*, std::vector<std::chrono::time_zone> >; _Comp = std::ranges::less; _Proj = std::identity]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1793:16: required from 'constexpr std::ranges::borrowed_iterator_t<_Range> std::ranges::__sort_fn::operator()(_Range&&, _Comp, _Proj) const [with _Range = std::vector<std::chrono::time_zone>&; _Comp = std::ranges::less; _Proj = std::identity; std::ranges::borrowed_iterator_t<_Range> = std::ranges::borrowed_iterator_t<std::vector<std::chrono::time_zone>&>]' d:\works\gcc\libstdc++-v3\src\c++20\tzdb.cc:1257:14: required from here D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:1948:42: error: call of overloaded '__lg(__gnu_cxx::__normal_iterator<std::chrono::time_zone*, std::vector<std::chrono::time_zone> >::difference_type)' is ambiguous 1948 | std::__lg(__last - __first) * 2, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/string:51, from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/locale_classes.h:40, from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ios_base.h:41, from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/ios:44, from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/istream:40, from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/sstream:40, from D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/chrono:45: D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1509:3: note: candidate: 'constexpr int std::__lg(int)' 1509 | __lg(int __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1513:3: note: candidate: 'constexpr unsigned int std::__lg(unsigned int)' 1513 | __lg(unsigned __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1517:3: note: candidate: 'constexpr long int std::__lg(long int)' 1517 | __lg(long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1521:3: note: candidate: 'constexpr long unsigned int std::__lg(long unsigned int)' 1521 | __lg(unsigned long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1525:3: note: candidate: 'constexpr long long int std::__lg(long long int)' 1525 | __lg(long long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1529:3: note: candidate: 'constexpr long long unsigned int std::__lg(long long unsigned int)' 1529 | __lg(unsigned long long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h: In instantiation of 'constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<chrono::time_zone_link*, vector<chrono::time_zone_link> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ranges::__detail::__make_comp_proj<std::ranges::less, std::identity>(std::ranges::less&, std::identity&)::<lambda(auto:45&&, auto:46&&)> >]': D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:4893:18: required from 'constexpr void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<chrono::time_zone_link*, vector<chrono::time_zone_link> >; _Compare = ranges::__detail::__make_comp_proj<std::ranges::less, std::identity>(std::ranges::less&, std::identity&)::<lambda(auto:45&&, auto:46&&)>]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1782:22: required from 'constexpr _Iter std::ranges::__sort_fn::operator()(_Iter, _Sent, _Comp, _Proj) const [with _Iter = __gnu_cxx::__normal_iterator<std::chrono::time_zone_link*, std::vector<std::chrono::time_zone_link> >; _Sent = __gnu_cxx::__normal_iterator<std::chrono::time_zone_link*, std::vector<std::chrono::time_zone_link> >; _Comp = std::ranges::less; _Proj = std::identity]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1793:16: required from 'constexpr std::ranges::borrowed_iterator_t<_Range> std::ranges::__sort_fn::operator()(_Range&&, _Comp, _Proj) const [with _Range = std::vector<std::chrono::time_zone_link>&; _Comp = std::ranges::less; _Proj = std::identity; std::ranges::borrowed_iterator_t<_Range> = std::ranges::borrowed_iterator_t<std::vector<std::chrono::time_zone_link>&>]' d:\works\gcc\libstdc++-v3\src\c++20\tzdb.cc:1258:14: required from here D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:1948:42: error: call of overloaded '__lg(__gnu_cxx::__normal_iterator<std::chrono::time_zone_link*, std::vector<std::chrono::time_zone_link> >::difference_type)' is ambiguous 1948 | std::__lg(__last - __first) * 2, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1509:3: note: candidate: 'constexpr int std::__lg(int)' 1509 | __lg(int __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1513:3: note: candidate: 'constexpr unsigned int std::__lg(unsigned int)' 1513 | __lg(unsigned __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1517:3: note: candidate: 'constexpr long int std::__lg(long int)' 1517 | __lg(long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1521:3: note: candidate: 'constexpr long unsigned int std::__lg(long unsigned int)' 1521 | __lg(unsigned long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1525:3: note: candidate: 'constexpr long long int std::__lg(long long int)' 1525 | __lg(long long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1529:3: note: candidate: 'constexpr long long unsigned int std::__lg(long long unsigned int)' 1529 | __lg(unsigned long long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h: In instantiation of 'constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<chrono::time_zone*, vector<chrono::time_zone> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ranges::__detail::__make_comp_proj<std::ranges::less, std::basic_string_view<char> (std::chrono::time_zone::*)() const noexcept>(std::ranges::less&, std::basic_string_view<char> (std::chrono::time_zone::*&)() const noexcept)::<lambda(auto:45&&, auto:46&&)> >]': D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:4893:18: required from 'constexpr void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<chrono::time_zone*, vector<chrono::time_zone> >; _Compare = ranges::__detail::__make_comp_proj<std::ranges::less, std::basic_string_view<char> (std::chrono::time_zone::*)() const noexcept>(std::ranges::less&, std::basic_string_view<char> (std::chrono::time_zone::*&)() const noexcept)::<lambda(auto:45&&, auto:46&&)>]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1782:22: required from 'constexpr _Iter std::ranges::__sort_fn::operator()(_Iter, _Sent, _Comp, _Proj) const [with _Iter = __gnu_cxx::__normal_iterator<std::chrono::time_zone*, std::vector<std::chrono::time_zone> >; _Sent = __gnu_cxx::__normal_iterator<std::chrono::time_zone*, std::vector<std::chrono::time_zone> >; _Comp = std::ranges::less; _Proj = std::basic_string_view<char> (std::chrono::time_zone::*)() const noexcept]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1793:16: required from 'constexpr std::ranges::borrowed_iterator_t<_Range> std::ranges::__sort_fn::operator()(_Range&&, _Comp, _Proj) const [with _Range = std::vector<std::chrono::time_zone>&; _Comp = std::ranges::less; _Proj = std::basic_string_view<char> (std::chrono::time_zone::*)() const noexcept; std::ranges::borrowed_iterator_t<_Range> = std::ranges::borrowed_iterator_t<std::vector<std::chrono::time_zone>&>]' d:\works\gcc\libstdc++-v3\src\c++20\tzdb.cc:1395:17: required from here D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:1948:42: error: call of overloaded '__lg(__gnu_cxx::__normal_iterator<std::chrono::time_zone*, std::vector<std::chrono::time_zone> >::difference_type)' is ambiguous 1948 | std::__lg(__last - __first) * 2, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1509:3: note: candidate: 'constexpr int std::__lg(int)' 1509 | __lg(int __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1513:3: note: candidate: 'constexpr unsigned int std::__lg(unsigned int)' 1513 | __lg(unsigned __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1517:3: note: candidate: 'constexpr long int std::__lg(long int)' 1517 | __lg(long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1521:3: note: candidate: 'constexpr long unsigned int std::__lg(long unsigned int)' 1521 | __lg(unsigned long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1525:3: note: candidate: 'constexpr long long int std::__lg(long long int)' 1525 | __lg(long long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1529:3: note: candidate: 'constexpr long long unsigned int std::__lg(long long unsigned int)' 1529 | __lg(unsigned long long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h: In instantiation of 'constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<chrono::time_zone_link*, vector<chrono::time_zone_link> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ranges::__detail::__make_comp_proj<std::ranges::less, std::basic_string_view<char> (std::chrono::time_zone_link::*)() const noexcept>(std::ranges::less&, std::basic_string_view<char> (std::chrono::time_zone_link::*&)() const noexcept)::<lambda(auto:45&&, auto:46&&)> >]': D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:4893:18: required from 'constexpr void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<chrono::time_zone_link*, vector<chrono::time_zone_link> >; _Compare = ranges::__detail::__make_comp_proj<std::ranges::less, std::basic_string_view<char> (std::chrono::time_zone_link::*)() const noexcept>(std::ranges::less&, std::basic_string_view<char> (std::chrono::time_zone_link::*&)() const noexcept)::<lambda(auto:45&&, auto:46&&)>]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1782:22: required from 'constexpr _Iter std::ranges::__sort_fn::operator()(_Iter, _Sent, _Comp, _Proj) const [with _Iter = __gnu_cxx::__normal_iterator<std::chrono::time_zone_link*, std::vector<std::chrono::time_zone_link> >; _Sent = __gnu_cxx::__normal_iterator<std::chrono::time_zone_link*, std::vector<std::chrono::time_zone_link> >; _Comp = std::ranges::less; _Proj = std::basic_string_view<char> (std::chrono::time_zone_link::*)() const noexcept]' D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/ranges_algo.h:1793:16: required from 'constexpr std::ranges::borrowed_iterator_t<_Range> std::ranges::__sort_fn::operator()(_Range&&, _Comp, _Proj) const [with _Range = std::vector<std::chrono::time_zone_link>&; _Comp = std::ranges::less; _Proj = std::basic_string_view<char> (std::chrono::time_zone_link::*)() const noexcept; std::ranges::borrowed_iterator_t<_Range> = std::ranges::borrowed_iterator_t<std::vector<std::chrono::time_zone_link>&>]' d:\works\gcc\libstdc++-v3\src\c++20\tzdb.cc:1396:17: required from here D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algo.h:1948:42: error: call of overloaded '__lg(__gnu_cxx::__normal_iterator<std::chrono::time_zone_link*, std::vector<std::chrono::time_zone_link> >::difference_type)' is ambiguous 1948 | std::__lg(__last - __first) * 2, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1509:3: note: candidate: 'constexpr int std::__lg(int)' 1509 | __lg(int __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1513:3: note: candidate: 'constexpr unsigned int std::__lg(unsigned int)' 1513 | __lg(unsigned __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1517:3: note: candidate: 'constexpr long int std::__lg(long int)' 1517 | __lg(long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1521:3: note: candidate: 'constexpr long unsigned int std::__lg(long unsigned int)' 1521 | __lg(unsigned long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1525:3: note: candidate: 'constexpr long long int std::__lg(long long int)' 1525 | __lg(long long __n) | ^~~~ D:/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:1529:3: note: candidate: 'constexpr long long unsigned int std::__lg(long long unsigned int)' 1529 | __lg(unsigned long long __n) | ^~~~ make[9]: *** [Makefile:562: tzdb.lo] Error 1 make[9]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/src/c++20' make[8]: *** [Makefile:784: all-recursive] Error 1 make[8]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3/src' make[7]: *** [Makefile:576: all-recursive] Error 1 make[7]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3' make[6]: *** [Makefile:501: all] Error 2 make[6]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/large/libstdc++-v3' make[5]: *** [Makefile:870: multi-do] Error 1 make[5]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/libstdc++-v3' make[4]: *** [Makefile:840: all-multi] Error 2 make[4]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/libstdc++-v3' make[3]: *** [Makefile:576: all-recursive] Error 1 make[3]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/libstdc++-v3' make[2]: *** [Makefile:501: all] Error 2 make[2]: Leaving directory '/d/Works/xcomp/gcc-build/msp430-elf/libstdc++-v3' make[1]: *** [Makefile:12305: all-target-libstdc++-v3] Error 2 make[1]: Leaving directory '/d/Works/xcomp/gcc-build' make: *** [Makefile:1051: all] Error 2