[all-commits] [llvm/llvm-project] aade74: [libc++][PSTL] Overhaul exceptions handling

philnik777 via All-commits all-commits at lists.llvm.org
Fri Oct 6 14:01:45 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aade74675c15d3bae5fdfa67f7b4b6ed9dac3d20
      https://github.com/llvm/llvm-project/commit/aade74675c15d3bae5fdfa67f7b4b6ed9dac3d20
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2023-10-06 (Fri, 06 Oct 2023)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl_any_all_none_of.h
    M libcxx/include/__algorithm/pstl_backend.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backend.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
    M libcxx/include/__algorithm/pstl_copy.h
    M libcxx/include/__algorithm/pstl_count.h
    M libcxx/include/__algorithm/pstl_fill.h
    M libcxx/include/__algorithm/pstl_find.h
    M libcxx/include/__algorithm/pstl_for_each.h
    M libcxx/include/__algorithm/pstl_generate.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/pstl_merge.h
    M libcxx/include/__algorithm/pstl_replace.h
    M libcxx/include/__algorithm/pstl_sort.h
    M libcxx/include/__algorithm/pstl_stable_sort.h
    M libcxx/include/__algorithm/pstl_transform.h
    M libcxx/include/__numeric/pstl_reduce.h
    M libcxx/include/__numeric/pstl_transform_reduce.h
    A libcxx/include/__utility/empty.h
    R libcxx/include/__utility/terminate_on_exception.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/algorithms/pstl.robust_against_customization_points_not_working.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy_if.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_if.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
    A libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
    A libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
    M libcxx/test/support/check_assertion.h
    M libcxx/test/support/test_execution_policies.h
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libc++][PSTL] Overhaul exceptions handling

This makes exception handling a lot simpler, since we don't have to convert any exceptions this way. Is also properly handles all the user-thrown exceptions.

Reviewed By: ldionne, #libc

Spies: arichardson, mstorsjo, libcxx-commits

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




More information about the All-commits mailing list