https://github.com/ZERO-N created https://github.com/llvm/llvm-project/pull/84181
None >From 470e3fc13b66d53920f579a7fb848741418e5c0f Mon Sep 17 00:00:00 2001 From: nwh <1416312...@qq.com> Date: Wed, 6 Mar 2024 22:45:59 +0800 Subject: [PATCH] [Clang][Sema][NFC]Use isa_and_nonnull to simplify the code Signed-off-by: nwh <1416312...@qq.com> --- clang/lib/Sema/SemaExceptionSpec.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/clang/lib/Sema/SemaExceptionSpec.cpp b/clang/lib/Sema/SemaExceptionSpec.cpp index 3563b4f683f079..0ce00dd0f847ec 100644 --- a/clang/lib/Sema/SemaExceptionSpec.cpp +++ b/clang/lib/Sema/SemaExceptionSpec.cpp @@ -21,6 +21,7 @@ #include "clang/Basic/SourceManager.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallString.h" +#include "llvm/Support/Casting.h" #include <optional> namespace clang { @@ -1017,13 +1018,13 @@ CanThrowResult Sema::canCalleeThrow(Sema &S, const Expr *E, const Decl *D, SourceLocation Loc) { // As an extension, we assume that __attribute__((nothrow)) functions don't // throw. - if (D && isa<FunctionDecl>(D) && D->hasAttr<NoThrowAttr>()) + if (isa_and_nonnull<FunctionDecl>(D) && D->hasAttr<NoThrowAttr>()) return CT_Cannot; QualType T; // In C++1z, just look at the function type of the callee. - if (S.getLangOpts().CPlusPlus17 && E && isa<CallExpr>(E)) { + if (S.getLangOpts().CPlusPlus17 && isa_and_nonnull<CallExpr>(E)) { E = cast<CallExpr>(E)->getCallee(); T = E->getType(); if (T->isSpecificPlaceholderType(BuiltinType::BoundMember)) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits