aaron.ballman added reviewers: cor3ntin, sammccall. aaron.ballman added a comment.
Adding a few more reviewers in case there are differing opinions. ================ Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:5173-5174 +/// Matches consteval function declarations, +/// and if consteval. +/// ---------------- ================ Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:5179 +/// consteval int bar(); +/// void baz() { if consteval {} } +/// \endcode ---------------- It'd be good to show an example of: ``` if ! consteval {} if ! consteval {} else {} ``` as well so users know what to expect. Should there be a matcher so users can distinguish between `if consteval` and `if ! consteval`? Test cases for these sort of things would also be appreciated. ================ Comment at: clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp:1794-1796 + if (!GetParam().isCXX20OrLater()) { + return; + } ---------------- ================ Comment at: clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp:1807-1809 + if (!GetParam().isCXX20OrLater()) { + return; + } ---------------- Izaron wrote: > Actually `if consteval` is a C++23 feature, but there is no > `isCXX23orLater()` method. The `is consteval` construction seems to be > backported to C++20 in clang, as it compiles and just emits a warning > ``` > warning: consteval if is a C++2b extension [-Wc++2b-extensions] > ``` Yes, we support `if consteval` as an extension in older language modes, so I think this is reasonable. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D117613/new/ https://reviews.llvm.org/D117613 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits