diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2021-05-26 17:32:53 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2021-05-26 19:15:34 +0100 |
commit | a49a045b92f982f5617c3bbde97a33157237e25b (patch) | |
tree | ca296da21c602e87ce31d7f632fb834a373cae7a /gcc/function.c | |
parent | 7f0cfeb1ac580edf629874146b349fe7ad7e7718 (diff) | |
download | gcc-a49a045b92f982f5617c3bbde97a33157237e25b.zip gcc-a49a045b92f982f5617c3bbde97a33157237e25b.tar.gz gcc-a49a045b92f982f5617c3bbde97a33157237e25b.tar.bz2 |
libstdc++: Change [range.iter.op] functions to function objects [PR 100768]
The standard specifies std::ranges::distance etc as function templates,
but it also requires them to not be found by ADL, and to suppress ADL
when normal unqualified lookup does find them. That means they need to
be function objects.
libstdc++-v3/ChangeLog:
PR libstdc++/100768
* include/bits/ranges_base.h (advance, distance, next, prev):
Replace function templates with function objects.
* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
Adjust for changes to function objects.
* testsuite/std/ranges/adaptors/elements.cc: Add using
declarations for names from namespace ranges.
* testsuite/std/ranges/adaptors/transform.cc: Likewise.
* testsuite/24_iterators/range_operations/100768.cc: New test.
Diffstat (limited to 'gcc/function.c')
0 files changed, 0 insertions, 0 deletions