[PATCH] D132877: Downgrade the UAX31 diagnostic to a warning which defaults to an error

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 29 11:46:57 PDT 2022


efriedma added a comment.

If we don't specifically call out the deprecation period in the diagnostic, usage will grow beyond what we expect.  (Most people don't read the release notes; they'll just see it's possible to turn off the error message, and turn it off.)

If we're okay with people deciding their own rules for what they want to allow in identifiers, we can just make the flag permanently available, though, and just drop the whole "deprecation period" discussion.  Or alternatively, we could add a separate diagnostic specifically for older standard modes: allow only the characters that were allowed by the older standards, and don't emit it for C++23 and newer.  That way, usage naturally goes away as people upgrade their code to newer standard modes.



================
Comment at: clang/docs/ReleaseNotes.rst:128
+  advised because we intend to turn the warning back into a hard error in Clang
+  18 after giving users a chance to update their code.
 
----------------
If this makes it into clang 15, we don't want to relnote it for clang 16.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132877



More information about the cfe-commits mailing list