[clang] 6905438 - [clang][Sema][NFC] Simplify ActOnCXXThrow
Timm Bäder via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 19 05:47:58 PST 2023
Author: Timm Bäder
Date: 2023-12-19T14:47:48+01:00
New Revision: 6905438204b194973b6d6e56ddfe787ee4ce1e2d
URL: https://github.com/llvm/llvm-project/commit/6905438204b194973b6d6e56ddfe787ee4ce1e2d
DIFF: https://github.com/llvm/llvm-project/commit/6905438204b194973b6d6e56ddfe787ee4ce1e2d.diff
LOG: [clang][Sema][NFC] Simplify ActOnCXXThrow
Added:
Modified:
clang/lib/Sema/SemaExprCXX.cpp
Removed:
################################################################################
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 081b568762ae22..4ae04358d5df7c 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -843,21 +843,21 @@ Sema::ActOnCXXThrow(Scope *S, SourceLocation OpLoc, Expr *Ex) {
// operation from the operand to the exception object (15.1) can be
// omitted by constructing the automatic object directly into the
// exception object
- if (DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(Ex->IgnoreParens()))
- if (VarDecl *Var = dyn_cast<VarDecl>(DRE->getDecl())) {
- if (Var->hasLocalStorage() && !Var->getType().isVolatileQualified()) {
- for( ; S; S = S->getParent()) {
- if (S->isDeclScope(Var)) {
- IsThrownVarInScope = true;
- break;
- }
-
- // FIXME: Many of the scope checks here seem incorrect.
- if (S->getFlags() &
- (Scope::FnScope | Scope::ClassScope | Scope::BlockScope |
- Scope::ObjCMethodScope | Scope::TryScope))
- break;
+ if (const auto *DRE = dyn_cast<DeclRefExpr>(Ex->IgnoreParens()))
+ if (const auto *Var = dyn_cast<VarDecl>(DRE->getDecl());
+ Var && Var->hasLocalStorage() &&
+ !Var->getType().isVolatileQualified()) {
+ for (; S; S = S->getParent()) {
+ if (S->isDeclScope(Var)) {
+ IsThrownVarInScope = true;
+ break;
}
+
+ // FIXME: Many of the scope checks here seem incorrect.
+ if (S->getFlags() &
+ (Scope::FnScope | Scope::ClassScope | Scope::BlockScope |
+ Scope::ObjCMethodScope | Scope::TryScope))
+ break;
}
}
}
More information about the cfe-commits
mailing list