[all-commits] [llvm/llvm-project] 77b9ab: [libc++] Complete overhaul of constexpr support in...

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu May 28 09:31:45 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 77b9abfc8e89ca627e4f9a1cc206bea131db6db1
      https://github.com/llvm/llvm-project/commit/77b9abfc8e89ca627e4f9a1cc206bea131db6db1
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-05-28 (Thu, 28 May 2020)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/array
    M libcxx/include/version
    A libcxx/test/std/containers/sequences/array/aggregate.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/deduct.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/default.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.creation/to_array.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.fill/fill.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.size/size.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.swap/swap.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.fail.cpp
    M libcxx/test/std/containers/sequences/array/at.pass.cpp
    A libcxx/test/std/containers/sequences/array/at_const.pass.cpp
    R libcxx/test/std/containers/sequences/array/begin.pass.cpp
    M libcxx/test/std/containers/sequences/array/compare.pass.cpp
    M libcxx/test/std/containers/sequences/array/contiguous.pass.cpp
    M libcxx/test/std/containers/sequences/array/empty.pass.cpp
    M libcxx/test/std/containers/sequences/array/front_back.pass.cpp
    A libcxx/test/std/containers/sequences/array/front_back_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/indexing.pass.cpp
    A libcxx/test/std/containers/sequences/array/indexing_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/array/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Complete overhaul of constexpr support in std::array

This commit adds missing support for constexpr in std::array under all
standard modes up to and including C++20. It also transforms the <array>
tests to check for constexpr-friendliness under the right standard modes.

Fixes https://llvm.org/PR40124
Fixes rdar://57522096
Supersedes https://reviews.llvm.org/D60666

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




More information about the All-commits mailing list