[clang] [clang][bytecode] Only call getSource() if we diagnose (PR #224663)
Timm Baeder via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 18 07:47:13 PDT 2026
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?= <tbaeder at redhat.com>
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);
}
More information about the cfe-commits
mailing list