[libcxx] Implement P1956 rename low-level bit functions
authorMark de Wever <koraq@xs4all.nl>
Tue, 24 Nov 2020 13:50:49 +0000 (14:50 +0100)
committerMark de Wever <koraq@xs4all.nl>
Tue, 24 Nov 2020 16:37:06 +0000 (17:37 +0100)
commit1a036e9cc82a7f6d6f4675d631fa5eecd8748784
treeb572cf452a9e526e1077f5763481fcca55f0c8e7
parent11b76258331659daa57e15fe86c1f1234267a78d
[libcxx] Implement P1956 rename low-level bit functions

Implements P1956: On the names of low-level bit manipulation functions.

Users may use older versions of libc++ or other standard libraries with the old names. In order to keep compatibility the old functions are kept, but marked as deprecated.

The patch also adds a new config macro `_LIBCPP_DEPRECATED_MSG`. Do you prefer a this is a separate patch?

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D90551
14 files changed:
libcxx/docs/FeatureTestMacroTable.rst
libcxx/docs/ReleaseNotes.rst
libcxx/include/bit
libcxx/include/version
libcxx/test/libcxx/numerics/bit.ops.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.fail.cpp [moved from libcxx/test/std/numerics/bit/bit.pow.two/ceil2.fail.cpp with 96% similarity]
libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp [moved from libcxx/test/std/numerics/bit/bit.pow.two/ceil2.pass.cpp with 77% similarity]
libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp [moved from libcxx/test/std/numerics/bit/bit.pow.two/floor2.pass.cpp with 73% similarity]
libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp [moved from libcxx/test/std/numerics/bit/bit.pow.two/log2p1.pass.cpp with 69% similarity]
libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp [moved from libcxx/test/std/numerics/bit/bit.pow.two/ispow2.pass.cpp with 75% similarity]
libcxx/utils/generate_feature_test_macro_components.py
libcxx/www/cxx2a_status.html