Author: Timm Bäder Date: 2023-08-20T10:37:58+02:00 New Revision: e1dfbc4e24dde8d09aa9f0e9f2228d732e002d0a
URL: https://github.com/llvm/llvm-project/commit/e1dfbc4e24dde8d09aa9f0e9f2228d732e002d0a DIFF: https://github.com/llvm/llvm-project/commit/e1dfbc4e24dde8d09aa9f0e9f2228d732e002d0a.diff LOG: [clang][Sema][NFC] Modernize ActOnCallExpr Added: Modified: clang/lib/Sema/SemaExpr.cpp Removed: ################################################################################ diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 2848f1d4f96904..34284a8d9381c2 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -7052,15 +7052,16 @@ tryImplicitlyCaptureThisIfImplicitMemberFunctionAccessWithDependentArgs( // Once a call is fully resolved, warn for unqualified calls to specific // C++ standard functions, like move and forward. -static void DiagnosedUnqualifiedCallsToStdFunctions(Sema &S, CallExpr *Call) { +static void DiagnosedUnqualifiedCallsToStdFunctions(Sema &S, + const CallExpr *Call) { // We are only checking unary move and forward so exit early here. if (Call->getNumArgs() != 1) return; - Expr *E = Call->getCallee()->IgnoreParenImpCasts(); + const Expr *E = Call->getCallee()->IgnoreParenImpCasts(); if (!E || isa<UnresolvedLookupExpr>(E)) return; - DeclRefExpr *DRE = dyn_cast_or_null<DeclRefExpr>(E); + const DeclRefExpr *DRE = dyn_cast_if_present<DeclRefExpr>(E); if (!DRE || !DRE->getLocation().isValid()) return; @@ -7092,22 +7093,20 @@ ExprResult Sema::ActOnCallExpr(Scope *Scope, Expr *Fn, SourceLocation LParenLoc, // Diagnose uses of the C++20 "ADL-only template-id call" feature in earlier // language modes. - if (auto *ULE = dyn_cast<UnresolvedLookupExpr>(Fn)) { - if (ULE->hasExplicitTemplateArgs() && - ULE->decls_begin() == ULE->decls_end()) { - Diag(Fn->getExprLoc(), getLangOpts().CPlusPlus20 - ? diag::warn_cxx17_compat_adl_only_template_id - : diag::ext_adl_only_template_id) - << ULE->getName(); - } + if (const auto *ULE = dyn_cast<UnresolvedLookupExpr>(Fn); + ULE && ULE->hasExplicitTemplateArgs() && + ULE->decls_begin() == ULE->decls_end()) { + Diag(Fn->getExprLoc(), getLangOpts().CPlusPlus20 + ? diag::warn_cxx17_compat_adl_only_template_id + : diag::ext_adl_only_template_id) + << ULE->getName(); } if (LangOpts.OpenMP) Call = ActOnOpenMPCall(Call, Scope, LParenLoc, ArgExprs, RParenLoc, ExecConfig); if (LangOpts.CPlusPlus) { - CallExpr *CE = dyn_cast<CallExpr>(Call.get()); - if (CE) + if (const auto *CE = dyn_cast<CallExpr>(Call.get())) DiagnosedUnqualifiedCallsToStdFunctions(*this, CE); } return Call; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits