[llvm-bugs] [Bug 44955] New: clang++ 10.0 fails with libstdc++ from gcc 10-20200216
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Feb 18 12:41:44 PST 2020
https://bugs.llvm.org/show_bug.cgi?id=44955
Bug ID: 44955
Summary: clang++ 10.0 fails with libstdc++ from gcc 10-20200216
Product: new-bugs
Version: 10.0
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: bero at lindev.ch
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
Not 100% sure whether this is a libstdc++ bug or a clang bug. (Also filed a bug
report against libstdc++ at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93818).
Using libstdc++ from gcc 10-20200216 breaks using it with clang 10 in C++20
mode.
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1329:17:
error: missing 'typename' prior to dependent type name
'iterator_traits<iterator_t<_Vp> >::iterator_category'
using _Cat = iterator_traits<iterator_t<_Vp>>::iterator_category;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1512:47:
error: ambiguous deduction for template arguments of '_RangeAdaptor'
inline constexpr __adaptor::_RangeAdaptor filter
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1073:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1513:9)]
_RangeAdaptor(const _Callable& = {})
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1078:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1513:9)]
_RangeAdaptor(_Callable __callable)
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1552:19:
error: missing 'typename' prior to dependent type name
'iterator_traits<iterator_t<_Base> >::iterator_category'
using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1853:47:
error: ambiguous deduction for template arguments of '_RangeAdaptor'
inline constexpr __adaptor::_RangeAdaptor transform
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1073:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1854:9)]
_RangeAdaptor(const _Callable& = {})
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1078:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1854:9)]
_RangeAdaptor(_Callable __callable)
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2000:47:
error: ambiguous deduction for template arguments of '_RangeAdaptor'
inline constexpr __adaptor::_RangeAdaptor take
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1073:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2001:9)]
_RangeAdaptor(const _Callable& = {})
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1078:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2001:9)]
_RangeAdaptor(_Callable __callable)
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2092:47:
error: ambiguous deduction for template arguments of '_RangeAdaptor'
inline constexpr __adaptor::_RangeAdaptor take_while
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1073:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2093:9)]
_RangeAdaptor(const _Callable& = {})
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1078:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2093:9)]
_RangeAdaptor(_Callable __callable)
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2169:47:
error: ambiguous deduction for template arguments of '_RangeAdaptor'
inline constexpr __adaptor::_RangeAdaptor drop
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1073:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2170:9)]
_RangeAdaptor(const _Callable& = {})
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1078:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2170:9)]
_RangeAdaptor(_Callable __callable)
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2225:47:
error: ambiguous deduction for template arguments of '_RangeAdaptor'
inline constexpr __adaptor::_RangeAdaptor drop_while
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1073:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2226:9)]
_RangeAdaptor(const _Callable& = {})
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1078:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2226:9)]
_RangeAdaptor(_Callable __callable)
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2297:10:
error: missing 'typename' prior to dependent type name
'iterator_traits<iterator_t<_Base> >::iterator_category'
= iterator_traits<iterator_t<_Base>>::iterator_category;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2299:10:
error: missing 'typename' prior to dependent type name
'iterator_traits<iterator_t<range_reference_t<_Base> > >::iterator_category'
= iterator_traits<iterator_t<range_reference_t<_Base>>>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2768:19:
error: missing 'typename' prior to dependent type name
'iterator_traits<iterator_t<_Base> >::iterator_category'
using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2942:47:
error: ambiguous deduction for template arguments of '_RangeAdaptor'
inline constexpr __adaptor::_RangeAdaptor split
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1073:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2943:9)]
_RangeAdaptor(const _Callable& = {})
^
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:1078:2:
note: candidate function [with _Callable = std::ranges::views::(lambda at
/usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/ranges:2943:9)]
_RangeAdaptor(_Callable __callable)
^
12 errors generated.
libstdc++ from gcc 10-20200209 works perfectly with both gcc and clang.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200218/619a7001/attachment.html>
More information about the llvm-bugs
mailing list