diff options
author | Louis Dionne <ldionne@apple.com> | 2018-09-23 18:35:00 +0000 |
---|---|---|
committer | Louis Dionne <ldionne@apple.com> | 2018-09-23 18:35:00 +0000 |
commit | ea5cd3b4760ebe1b0ad4469aa9ba221e00795c51 (patch) | |
tree | 9c7905f4a666a957d0e4e88fb734da604a61012d /libcxx/docs/UsingLibcxx.rst | |
parent | 19952add7cea53050ee9b80b99494ebc00acefda (diff) | |
download | bcm5719-llvm-ea5cd3b4760ebe1b0ad4469aa9ba221e00795c51.tar.gz bcm5719-llvm-ea5cd3b4760ebe1b0ad4469aa9ba221e00795c51.zip |
[libc++] Add deprecated attributes to many deprecated components
Summary:
These deprecation warnings are opt-in: they are only enabled when the
_LIBCXX_DEPRECATION_WARNINGS macro is defined, which is not the case
by default. Note that this is a first step in the right direction, but
I wasn't able to get an exhaustive list of all deprecated components
per standard, so there's certainly stuff that's missing. The list of
components this commit marks as deprecated is:
in C++11:
- auto_ptr, auto_ptr_ref
- binder1st, binder2nd, bind1st(), bind2nd()
- pointer_to_unary_function, pointer_to_binary_function, ptr_fun()
- mem_fun_t, mem_fun1_t, const_mem_fun_t, const_mem_fun1_t, mem_fun()
- mem_fun_ref_t, mem_fun1_ref_t, const_mem_fun_ref_t, const_mem_fun1_ref_t, mem_fun_ref()
in C++14:
- random_shuffle()
in C++17:
- unary_negate, binary_negate, not1(), not2()
<rdar://problem/18168350>
Reviewers: mclow.lists, EricWF
Subscribers: christof, dexonsmith, llvm-commits
Differential Revision: https://reviews.llvm.org/D48912
llvm-svn: 342843
Diffstat (limited to 'libcxx/docs/UsingLibcxx.rst')
-rw-r--r-- | libcxx/docs/UsingLibcxx.rst | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libcxx/docs/UsingLibcxx.rst b/libcxx/docs/UsingLibcxx.rst index 993c8d7c41e..41f4106846b 100644 --- a/libcxx/docs/UsingLibcxx.rst +++ b/libcxx/docs/UsingLibcxx.rst @@ -240,6 +240,11 @@ thread safety annotations. purely as an extension. See :ref:`Extended Applications of [[nodiscard]] <nodiscard extension>` for more information. +**_LIBCPP_ENABLE_DEPRECATION_WARNINGS**: + This macro enables warnings when using deprecated components. For example, + when compiling in C++11 mode, using `std::auto_ptr` with the macro defined + will trigger a warning saying that `std::auto_ptr` is deprecated. By default, + this macro is not defined. C++17 Specific Configuration Macros ----------------------------------- |