Izaron added a comment. I will provide more context in this comment.
**Why this patch?** Clang currently has a warning for duplicating specifiers (`inline inline`, `extern extern`, `consteval consteval`, etc.), but has no warnings for redundant weaker specifiers. I suggest to add such a group of warnings, starting from `inline constexpr`/`inline consteval` functions. The Standard says (dcl.constexpr <http://eel.is/c++draft/dcl.constexpr#1.sentence-3>) that `constexpr`/`consteval` functions are implicitly `inline`. But Clang doesn't tell programmers that. The volume of affected code can be seen in GitHub Search: inline constexpr <https://github.com/search?q=inline+constexpr&type=Code>, inline consteval <https://github.com/search?q=inline+consteval&type=Code>. **What about the other meaning of `inline`?** Some years ago, the `inline` keyword meant not only "there may be multiple definitions", but also "there will be `inlinehint` attribute added in LLVM IR". Fortunately, this is no more since Clang 3.3 release. `constexpr` and `inline constexpr` functions emit the same LLVM IR attributes. (`consteval` function aren't even emitted to LLVM IR, executing exclusively at compile-time) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D117435/new/ https://reviews.llvm.org/D117435 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits