[clang] b7894eb - [clang][Interp] Initialize remaining InlineDescriptor fields
Timm Bäder via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 20 01:04:29 PST 2023
Author: Timm Bäder
Date: 2023-01-20T10:04:16+01:00
New Revision: b7894ebf8439c0141614fbb8bfc1a27a0a67e946
URL: https://github.com/llvm/llvm-project/commit/b7894ebf8439c0141614fbb8bfc1a27a0a67e946
DIFF: https://github.com/llvm/llvm-project/commit/b7894ebf8439c0141614fbb8bfc1a27a0a67e946.diff
LOG: [clang][Interp] Initialize remaining InlineDescriptor fields
for local variables. Hoping this will please msan.
Added:
Modified:
clang/lib/AST/Interp/EvalEmitter.cpp
clang/lib/AST/Interp/InterpFrame.cpp
Removed:
################################################################################
diff --git a/clang/lib/AST/Interp/EvalEmitter.cpp b/clang/lib/AST/Interp/EvalEmitter.cpp
index 7b6e5561d978a..3c1d48f09f9bf 100644
--- a/clang/lib/AST/Interp/EvalEmitter.cpp
+++ b/clang/lib/AST/Interp/EvalEmitter.cpp
@@ -60,6 +60,10 @@ Scope::Local EvalEmitter::createLocal(Descriptor *D) {
Desc.Desc = D;
Desc.Offset = sizeof(InlineDescriptor);
Desc.IsActive = true;
+ Desc.IsBase = false;
+ Desc.IsMutable = false;
+ Desc.IsConst = false;
+ Desc.IsInitialized = false;
// Register the local.
unsigned Off = Locals.size();
diff --git a/clang/lib/AST/Interp/InterpFrame.cpp b/clang/lib/AST/Interp/InterpFrame.cpp
index 19ac0bd5433a5..f6437771ccbed 100644
--- a/clang/lib/AST/Interp/InterpFrame.cpp
+++ b/clang/lib/AST/Interp/InterpFrame.cpp
@@ -40,6 +40,10 @@ InterpFrame::InterpFrame(InterpState &S, const Function *Func,
ID->Desc = Local.Desc;
ID->IsActive = true;
ID->Offset = sizeof(InlineDescriptor);
+ ID->IsBase = false;
+ ID->IsMutable = false;
+ ID->IsConst = false;
+ ID->IsInitialized = false;
}
}
}
More information about the cfe-commits
mailing list