[all-commits] [llvm/llvm-project] 466df1: [libc++] Update generate_feature_test_macro_compon...

Quuxplusone via All-commits all-commits at lists.llvm.org
Fri Jan 8 08:45:32 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 466df1718e41fe2fca6ce6bd98c01b18f42c05e4
      https://github.com/llvm/llvm-project/commit/466df1718e41fe2fca6ce6bd98c01b18f42c05e4
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2021-01-08 (Fri, 08 Jan 2021)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Update generate_feature_test_macro_components.py to match SD-6.

It's still a little confusing because in many cases C++17 and C++20
have different values, and libc++ implements the C++17 behavior but
not the C++20 behavior; 'unimplemented' can't represent that scenario.
Ultimately we probably ought to completely redesign the script to be
in terms of paper numbers, rather than language revisions, and make
it generate the CSV files like "Cxx2aStatusPaperStatus.csv" as well.

Most newly added macros are unimplemented. I've marked a few as implemented,
though, based on my reading of the code; for example I was pretty sure
`__cpp_lib_latch` is implemented since we have `<latch>`.

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




More information about the All-commits mailing list