[all-commits] [llvm/llvm-project] a45d22: [libc++] Unspecified behavior randomization in libc++

Danila Kutenin via All-commits all-commits at lists.llvm.org
Tue Nov 16 12:57:04 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a45d2287adf7942a26be02193731701e61eda7b4
      https://github.com/llvm/llvm-project/commit/a45d2287adf7942a26be02193731701e61eda7b4
  Author: Danila Kutenin <kutdanila at yandex.ru>
  Date:   2021-11-16 (Tue, 16 Nov 2021)

  Changed paths:
    M libcxx/docs/DesignDocs/DebugMode.rst
    A libcxx/docs/DesignDocs/UnspecifiedBehaviorRandomization.rst
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/index.rst
    M libcxx/include/__algorithm/comp_ref_type.h
    M libcxx/include/__algorithm/nth_element.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/shuffle.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__config
    A libcxx/test/libcxx/algorithms/nth_element_stability.pass.cpp
    A libcxx/test/libcxx/algorithms/partial_sort_stability.pass.cpp
    A libcxx/test/libcxx/algorithms/sort_stability.pass.cpp

  Log Message:
  -----------
  [libc++] Unspecified behavior randomization in libc++

This effort is dedicated to deflake the tests of the users which depend
on the unspecified behavior of algorithms and containers. This also
might help updating the sorting algorithm in libcxx which has the
quadratic worst case in the future or at least create a new one under
flag.

For detailed design, please see the design doc I provide in the patch.

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




More information about the All-commits mailing list