[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