whisperity accepted this revision. whisperity added a comment. Alright, I think we should have this in and let C++17 things to be future work. Please see the inline comment, but otherwise this should be good enough. Can always improve in a future version. 😉
LLVM 15 has branched off, so this should be rebased for the last time against the current main branch, just to ensure everything is good. ================ Comment at: clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp:284-298 +bool isCXXOnlyStmt(const Stmt *S) { + StringRef Name = S->getStmtClassName(); + if (Name.startswith("CXX")) + return true; + // Check for all other class names in ExprCXX.h that have no 'CXX' prefix. + return isa<ArrayTypeTraitExpr, BuiltinBitCastExpr, CUDAKernelCallExpr, + CoawaitExpr, CoreturnStmt, CoroutineBodyStmt, CoroutineSuspendExpr, ---------------- I have an overarching solution idea for this, @balazske, which requires a separate patch independently of this. (I believe this will not be a //hard// thing to implement, just tedious, because of all the classes that need to be changed.) Let's consider adding a new member function to `Decl`, `Stmt`, `Type`, etc. instances. While `bool isCXX() const` seems tempting, I believe it should be something like `bool isAvailableIn(const LangOptions&) const`, which returns whether a particular node (representing a language feature) //is available in// a particular //language option set//. And this way, we could query if a node is available in C++ (whichever version) and not in C, in which case the check can deduce that it is "C++-only". This way, the future maintenance burden will be completely lifted from the check, and the AST library/API gets a useful generic feature that we can start using elsewhere, too! ---- So, e.g., `LambdaExpr` will have: ```lang=cpp bool LambdaExpr::isAvailableIn(const LangOptions& LO) const { return LO.CPlusPlus11; } ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118996/new/ https://reviews.llvm.org/D118996 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits