[all-commits] [llvm/llvm-project] 78059c: [libc++][doc] Updates status documents.

Louis Dionne via All-commits all-commits at lists.llvm.org
Fri Aug 5 01:05:16 PDT 2022


  Branch: refs/heads/release/15.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 78059c7a19cd425651ec3c1b6ab3a5f0893b593f
      https://github.com/llvm/llvm-project/commit/78059c7a19cd425651ec3c1b6ab3a5f0893b593f
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/docs/Status/Cxx2bPapers.csv

  Log Message:
  -----------
  [libc++][doc] Updates status documents.

Adds the papers and LWG issues voted in during the July 2022 plenary.

Note the updating of the project based statuses is left to the active
contributors of these projects.

Reviewed By: #libc, huixie90, philnik

Differential Revision: https://reviews.llvm.org/D130595

(cherry picked from commit 759efa763abf0b9299683e8cf3ec161c0c97f13d)


  Commit: 544ac3d2cc4daf6a0e121f72021f413ef9802fa7
      https://github.com/llvm/llvm-project/commit/544ac3d2cc4daf6a0e121f72021f413ef9802fa7
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][format] Enables feature-test macro.

The macro is only enabled when the Clang is used with
-fexperimental-library.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D130792

(cherry picked from commit 679169b7dd74c6f9161353f07e716ec25e80d1b8)


  Commit: 8cc61095c6b44b7dea0dee46acdb32ee1e4c7fd0
      https://github.com/llvm/llvm-project/commit/8cc61095c6b44b7dea0dee46acdb32ee1e4c7fd0
  Author: Casey Carter <Casey at Carter.net>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/test/support/test_iterators.h
    M libcxx/test/support/test_range.h

  Log Message:
  -----------
  [libcxx][test] Test code should inspect `TEST_STD_VER`, not `_LIBCPP_STD_VER`.

(cherry picked from commit a1a30dc933b928a7a8277d5b5f7bd25670e68884)


  Commit: 62a63283c9954eed4a3ef4ba3865b4377b2bfd88
      https://github.com/llvm/llvm-project/commit/62a63283c9954eed4a3ef4ba3865b4377b2bfd88
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/TestingLibcxx.rst

  Log Message:
  -----------
  [libc++] Update documentation on testing libc++

(cherry picked from commit ce6aff8d13894bdb6ec492858a66e8f8ab42c33b)


  Commit: 90351d02c98a8feaac5217bee7342afd0892b525
      https://github.com/llvm/llvm-project/commit/90351d02c98a8feaac5217bee7342afd0892b525
  Author: Igor Zhukov <fsb4000 at yandex.ru>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp

  Log Message:
  -----------
  [libc++] Fix warning C4244 in std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp

frederick-vs-ja noticed that https://github.com/microsoft/STL/pull/2976#issuecomment-1201926893
while we are working on updating LLVM submodule for MS STL:

    [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(33): error C2220: the following warning is treated as an error
    [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(287): note: see reference to function template instantiation 'void tests<__int64>(void)' being compiled
    [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(33): warning C4244: 'argument': conversion from '__int64' to 'const unsigned int', possible loss of data

Differential Revision: https://reviews.llvm.org/D130963

(cherry picked from commit db0ac307c9df26d26a629552aec0a78f1b492dfd)


  Commit: e1f8795f90215091c1c12c9b1568a52e510ca74a
      https://github.com/llvm/llvm-project/commit/e1f8795f90215091c1c12c9b1568a52e510ca74a
  Author: Igor Zhukov <fsb4000 at yandex.ru>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Don't rely on `<algorithm>` transitively including `<memory>` in tests

Found by @cpplearner (https://github.com/microsoft/STL/pull/2976#discussion_r935440806)

Differential Revision: https://reviews.llvm.org/D130997

(cherry picked from commit 495519e5f8232d144ed26e9c18dbcbac6a5f25eb)


  Commit: b0eab153405eaa29653f86ff13fa1832e0fbf991
      https://github.com/llvm/llvm-project/commit/b0eab153405eaa29653f86ff13fa1832e0fbf991
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    M libcxx/utils/libcxx/test/newconfig.py

  Log Message:
  -----------
  [libc++][test] Propagate host environment to libc++ test suite

Propagate the complete host environment to the tests run via the new
testconfig. This ensures that all envvars needed e.g. for the compiler
to work correctly are present. This mimics the behavior explicitly
implemented in the legacy config.

https://github.com/llvm/llvm-project/issues/56816

Differential Revision: https://reviews.llvm.org/D130843

(cherry picked from commit 39d4e169d35b59a39ad2fcfe1a568ba979079d83)


  Commit: 33a5980f2f332e748c86c2a03757e078e967407b
      https://github.com/llvm/llvm-project/commit/33a5980f2f332e748c86c2a03757e078e967407b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/include/__algorithm/ranges_remove_copy.h
    M libcxx/include/__algorithm/ranges_remove_copy_if.h
    M libcxx/include/algorithm
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
    M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/support/counting_projection.h

  Log Message:
  -----------
  [libc++][ranges] Implement `ranges::remove_copy{, _if}`.

Co-authored-by: Hui Xie <hui.xie1990 at gmail.com>

Differential Revision: https://reviews.llvm.org/D130599

(cherry picked from commit 760d2b462c04537d119d76d3cc37d2cb53774a05)


  Commit: e38e97d804e64507fcc0a123038fceb4aab5590c
      https://github.com/llvm/llvm-project/commit/e38e97d804e64507fcc0a123038fceb4aab5590c
  Author: Konstantin Varlamov <varconst at apple.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/ranges_move_backward.h
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Fix the return value of `{copy,move}_backward`.

The return value for both of these algorithms is specified as
```
`{last, result - N}` for the overloads in namespace `ranges`.
```
But the current implementation instead returns `{first, result - N}`.

Also add both algorithms to the relevant "robust" tests.

Differential Revision: https://reviews.llvm.org/D130968

(cherry picked from commit f537a01d3989d37aafc050a92c74e69d35381f8c)


  Commit: 40c79a4d5180273c9cc265adf715d225a9cc7d33
      https://github.com/llvm/llvm-project/commit/40c79a4d5180273c9cc265adf715d225a9cc7d33
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/include/__algorithm/ranges_replace_copy.h
    M libcxx/include/__algorithm/ranges_replace_copy_if.h
    M libcxx/include/algorithm
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
    M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/support/counting_predicates.h

  Log Message:
  -----------
  [libc++][ranges] Implement `ranges::replace_copy{,_if}`.

Co-authored-by: Konstantin Varlamov <varconst at apple.com>

Differential Revision: https://reviews.llvm.org/D129806

(cherry picked from commit 93172c1c2b10066628c85c9ff78eb882222fb304)


  Commit: 732cb12370d9944fbb50e8fa2db9b8f0786d1531
      https://github.com/llvm/llvm-project/commit/732cb12370d9944fbb50e8fa2db9b8f0786d1531
  Author: Konstantin Varlamov <varconst at apple.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/iterator_operations.h
    A libcxx/include/__algorithm/ranges_sample.h
    M libcxx/include/__algorithm/ranges_shuffle.h
    M libcxx/include/__algorithm/sample.h
    A libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/private_headers.verify.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Implement `ranges::sample`.

Differential Revision: https://reviews.llvm.org/D130865

(cherry picked from commit 6bdb64223473585f783572c9fbf0673b4b324a35)


  Commit: 24186f723b91c8d05a269c05579aad3753bc0153
      https://github.com/llvm/llvm-project/commit/24186f723b91c8d05a269c05579aad3753bc0153
  Author: cpplearner <cpplearner at outlook.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp

  Log Message:
  -----------
  [libc++][test] Replace `_LIBCPP_STD_VER` with `TEST_STD_VER`

Differential Revision: https://reviews.llvm.org/D130979

(cherry picked from commit 8a78b72289c5b1cb2ea2f0794d5bb9836b0895d8)


  Commit: 1ee16f1049e2f79f590d6982c6a23bb4cde44a89
      https://github.com/llvm/llvm-project/commit/1ee16f1049e2f79f590d6982c6a23bb4cde44a89
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/next_permutation.h
    M libcxx/include/__algorithm/prev_permutation.h
    A libcxx/include/__algorithm/ranges_next_permutation.h
    A libcxx/include/__algorithm/ranges_prev_permutation.h
    M libcxx/include/__algorithm/reverse.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/private_headers.verify.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.next_permutation.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.prev_permutation.pass.cpp
    M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
    M libcxx/test/support/almost_satisfies_types.h

  Log Message:
  -----------
  [libc++][ranges] Implement `ranges::{prev, next}_permutation`.

Co-authored-by: Konstantin Varlamov <varconst at apple.com>

Differential Revision: https://reviews.llvm.org/D129859

(cherry picked from commit 68264b649461206dc095e672eacf8a003e0b9e49)


  Commit: f408ea0cea262a12e08cbedf2cd6825e5435044d
      https://github.com/llvm/llvm-project/commit/f408ea0cea262a12e08cbedf2cd6825e5435044d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M libcxx/docs/TestingLibcxx.rst

  Log Message:
  -----------
  [libc++] More documentation improvements about running tests

(cherry picked from commit 3d5d44269c933849068c073f356002940f85bce4)


  Commit: b8f8e4530c47754f0384c9a824ae9917a449436c
      https://github.com/llvm/llvm-project/commit/b8f8e4530c47754f0384c9a824ae9917a449436c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    R libcxx/cmake/Modules/DefineLinkerScript.cmake
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Simplify how we define the linker script for libc++

Trying to be generic didn't work properly because we had to special-case
some interface libraries that we didn't want in the linker script. Instead,
only look at the ABI and the unwinding libraries explicitly.

This should solve the issue reported by @dim in [1].

[1]: https://discourse.llvm.org/t/15-0-0-rc1-has-been-tagged/64174/22

Differential Revision: https://reviews.llvm.org/D131037

(cherry picked from commit b7fb8563974d83f9eb8191fdfbebfd04147a2cbd)


Compare: https://github.com/llvm/llvm-project/compare/e4b3fad1facd...b8f8e4530c47


More information about the All-commits mailing list