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;
     }
   }
 }


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to