https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/224663
We can avoid this if we only return false anyway. Also rename a variable. >From 67566e0ccf2e50f53c0ffe5a4aee5eaed091f450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= <[email protected]> Date: Fri, 18 Sep 2026 16:43:02 +0200 Subject: [PATCH] [clang][bytecode] Only call getSource() if we diagnose We can avoid this if we only return false anyway. Also rename a variable. --- clang/lib/AST/ByteCode/Interp.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/clang/lib/AST/ByteCode/Interp.cpp b/clang/lib/AST/ByteCode/Interp.cpp index b6975f250b3c1..ab6b474503a3b 100644 --- a/clang/lib/AST/ByteCode/Interp.cpp +++ b/clang/lib/AST/ByteCode/Interp.cpp @@ -489,23 +489,23 @@ bool CheckArray(InterpState &S, CodePtr OpPC, const Pointer &Ptr) { bool CheckLive(InterpState &S, CodePtr OpPC, const Pointer &Ptr, AccessKinds AK) { if (Ptr.isZero()) { - const auto &Src = S.Current->getSource(OpPC); + const auto Loc = S.Current->getSource(OpPC); if (Ptr.isField()) - S.FFDiag(Src, diag::note_constexpr_null_subobject) << CSK_Field; + S.FFDiag(Loc, diag::note_constexpr_null_subobject) << CSK_Field; else - S.FFDiag(Src, diag::note_constexpr_access_null) << AK; + S.FFDiag(Loc, diag::note_constexpr_access_null) << AK; return false; } if (!Ptr.isLive()) { - const auto &Src = S.Current->getSource(OpPC); - if (Ptr.isDynamic()) { - S.FFDiag(Src, diag::note_constexpr_access_deleted_object) << AK; + S.FFDiag(S.Current->getSource(OpPC), + diag::note_constexpr_access_deleted_object) + << AK; } else if (!S.checkingPotentialConstantExpression()) { - S.FFDiag(Src, diag::note_constexpr_access_uninit) + S.FFDiag(S.Current->getSource(OpPC), diag::note_constexpr_access_uninit) << AK << /*uninitialized=*/false << S.Current->getRange(OpPC); noteValueLocation(S, Ptr); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
