Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Time | Test | |
---|---|---|
330 ms | libcxx CI C++03 > llvm-libc++-shared-cfg-in.libcxx/lint::lint_headers.sh.py Script:
--
: 'RUN: at line 1'; /usr/bin/python3.8 /home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/libcxx/test/libcxx/lint/lint_headers.sh.py
| |
360 ms | libcxx CI C++03 > llvm-libc++-shared-cfg-in.std/iterators/predef_iterators/move_iterators/move_iter_ops/move_iter_op_const::iter.pass.cpp Script:
--
: 'COMPILED WITH'; /usr/bin/c++ /home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp --target=x86_64-unknown-linux-gnu -nostdinc++ -isystem /home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/build/generic-cxx03/include/c++/v1 -isystem /home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/build/generic-cxx03/include/c++/v1 -I /home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/libcxx/test/support -std=c++03 -Werror -Wall -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wno-atomic-alignment -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_DISABLE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -Wno-macro-redefined -D_LIBCPP_HAS_THREAD_API_PTHREAD -Wno-macro-redefined -D_LIBCPP_ABI_VERSION=1 -lc++experimental -nostdlib++ -L /home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/build/generic-cxx03/lib -Wl,-rpath,/home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/build/generic-cxx03/lib -lc++ -pthread -o /home/libcxx-builder/.buildkite-agent/builds/3d9393666d0e-1/llvm-project/libcxx-ci/build/generic-cxx03/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/Output/iter.pass.cpp.dir/t.tmp.exe
| |
330 ms | libcxx CI C++11 > llvm-libc++-shared-cfg-in.libcxx/lint::lint_headers.sh.py Script:
--
: 'RUN: at line 1'; /usr/bin/python3.8 /home/libcxx-builder/.buildkite-agent/builds/37213b1d5629-1/llvm-project/libcxx-ci/libcxx/test/libcxx/lint/lint_headers.sh.py
| |
440 ms | libcxx CI C++14 > llvm-libc++-shared-cfg-in.libcxx/lint::lint_headers.sh.py Script:
--
: 'RUN: at line 1'; /usr/bin/python3.8 /home/libcxx-builder/.buildkite-agent/builds/04aeedd4a736-1/llvm-project/libcxx-ci/libcxx/test/libcxx/lint/lint_headers.sh.py
| |
330 ms | libcxx CI C++17 > llvm-libc++-shared-cfg-in.libcxx/lint::lint_headers.sh.py Script:
--
: 'RUN: at line 1'; /usr/bin/python3.8 /home/libcxx-builder/.buildkite-agent/builds/7d3f6681b420-1/llvm-project/libcxx-ci/libcxx/test/libcxx/lint/lint_headers.sh.py
| |
View Full Test Results (8 Failed) |
Event Timeline
Added tests for move_sentinel. Still missing: tests for the iterator_traits of move_iterator; tests for three-way comparison; tests for iter_move and iter_swap.
libcxx/include/__iterator/move_iterator.h | ||
---|---|---|
191 | I found that writing the naïve requires requires { __x.base() == __y.base(); } here did not work; Clang complains something about accessing into incomplete type move_iterator<X> when you go to instantiate it. Pulling the constraint out into a concept outside the body of the class seems to fix the issue. |
Rebase, add more tests for comparison operators.
Could still use more tests for
- iterator_traits
- iter_move
- iter_swap
But I think this is pretty much ready to have people start hammering on it.
libcxx/include/__iterator/move_iterator.h | ||
---|---|---|
105 | s/_LIBCPP_CONSTEXPR_AFTER_CXX14/constexpr here and below since we're already guarded with #if _LIBCPP_STD_VER > 17. | |
191 | I'll buy that. I've also run into this several times in other codebases with requires requires expressions in member functions of a class template. It's not great, but the usual "pull it out to a named concept" works. |
Rebase, coalesce some repeated ifdefs, use unadorned constexpr in C++20-only codepaths
This LGTM -- I think we can add a few more tests post-commit, but this looks reasonable as-is too. I'll rebase and ship this.