[libcxx-commits] [PATCH] D90569: [libc++] P1645 constexpr for <numeric>

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 23 09:51:26 PST 2020


Mordante updated this revision to Diff 307103.
Mordante retitled this revision from "[RFC] [libc++] P1645 constexpr for <numeric>" to "[libc++] P1645 constexpr for <numeric>".
Mordante added a comment.

This should complete the implementation of P1645 <https://reviews.llvm.org/P1645>
Additional changes

- Since constexpr vector isn't available some test have a workaround to be tested without this feature. The changes are marked with a fixme to be removed once the support is available.
- Enables additional unit tests in `libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp`. These were disabled when added, but that seems an oversight.
- Changes the changed numeric functions to all use `_LIBCPP_INLINE_VISIBILITY` and removed the unneeded `inline`.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90569/new/

https://reviews.llvm.org/D90569

Files:
  libcxx/docs/FeatureTestMacroTable.rst
  libcxx/include/numeric
  libcxx/include/version
  libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.pass.cpp
  libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
  libcxx/test/std/numerics/numeric.ops/accumulate/accumulate.pass.cpp
  libcxx/test/std/numerics/numeric.ops/accumulate/accumulate_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference.pass.cpp
  libcxx/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan.pass.cpp
  libcxx/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_init_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op_init.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inner.product/inner_product.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inner.product/inner_product_comp.pass.cpp
  libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp
  libcxx/test/std/numerics/numeric.ops/partial.sum/partial_sum.pass.cpp
  libcxx/test/std/numerics/numeric.ops/partial.sum/partial_sum_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
  libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
  libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop_init.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_init_bop_uop.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init_op_op.pass.cpp
  libcxx/utils/generate_feature_test_macro_components.py
  libcxx/www/cxx2a_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90569.307103.patch
Type: text/x-patch
Size: 86571 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201123/807be8b2/attachment-0001.bin>


More information about the libcxx-commits mailing list