[clang] [Clang][Sema][NFC]Use isa_and_nonnull to simplify the code and avoid build warning (PR #84181)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 6 06:56:20 PST 2024
https://github.com/ZERO-N updated https://github.com/llvm/llvm-project/pull/84181
>From edf4b035294923b38330081d2c930172870d8886 Mon Sep 17 00:00:00 2001
From: nwh <1416312228 at 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 <1416312228 at 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)) {
More information about the cfe-commits
mailing list