[libcxx-commits] [PATCH] D62428: [libcxx] Slightly improved policy for handling experimental features

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri May 31 12:39:19 PDT 2019


ldionne added inline comments.


================
Comment at: libcxx/docs/DesignDocs/ExperimentalFeatures.rst:46
+
+After **2 releases**, the experimental feature is removed completely (and the
+deprecation notice too). Using the experimental feature simply becomes an
----------------
jfb wrote:
> 2 releases of LLVM? What do we call "open source public Official LLVM"?
I think saying "2 releases of LLVM" is unambiguous, as vendors are downstream (and hence in some sense invisible to the eyes of this document).


================
Comment at: libcxx/include/experimental/filesystem:241
+#   if defined(_LIBCPP_WARNING)
+        _LIBCPP_WARNING("std::experimental::filesystem has now been deprecated in favor of C++17's std::filesystem. Please stop using it and start using std::filesystem. This experimental version will be removed in LLVM 11. You can remove this warning by defining the _LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM macro.")
+#   else
----------------
dexonsmith wrote:
> IMO, we should find a way to allow users to opt-out via `-Wno-deprecated`, in addition to (or instead of) macros.
We definitely want to allow users to disable warnings for each feature, because otherwise when they disable the warnings for one feature, they stop getting warnings for all other experimental features, which defeats the purpose of this proposal.

However, using the `[[deprecated]]` attribute does make sense since it _allows_ users to turn the warnings off globally if they want to do so, but they can also turn off just the warnings they want.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D62428





More information about the libcxx-commits mailing list