[libcxx-commits] [PATCH] D157058: [libc++] Remove generic char_traits implementation
Nico Weber via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Sep 13 10:52:49 PDT 2023
thakis added a comment.
> I think this gets to some recent Clang discussions <https://discourse.llvm.org/t/exposing-the-diagnostic-engine-to-c/73092/1> about adding library diagnostics. After you fix the system header problem, the next problem is that we have one giant `-Wdeprecated-declarations` flag, and in a sufficiently large codebase, it only takes a few deprecation attributes in ...
That's a great point. We talked a bit at this too. It doesn't necessarily need compiler support though, at least for libc++: What MS STL does iirc is to have one define per deprecation annotation to disable that particular deprecation annotation. In that model, when updating libc++ you'll see all new deprecation diags when updating, then disable them with those macros, and then fix the deprecated things async after updating. Then you'll remove your macros to make sure you don't backslide. That way you get scalable deprecation rollouts without clang changes. It "just" needs libc++ to use this model 🙂
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157058/new/
https://reviews.llvm.org/D157058
More information about the libcxx-commits
mailing list