<div dir="rtl"><div dir="ltr">msan uninitialized use diagnostic may be more useful to value variables, as nullptr pointer access will core dump without msan. Initializing pointers to nullptr is done everywhere in llvm and clang (search for '(nullptr)') such as</div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr"><div dir="ltr">DIBuilder::DIBuilder(Module &m, bool AllowUnresolvedNodes)</div><div dir="ltr">    : M(m), VMContext(M.getContext()), TempEnumTypes(nullptr),</div><div dir="ltr">      TempRetainTypes(nullptr), TempSubprograms(nullptr), TempGVs(nullptr),</div><div dir="ltr">      DeclareFn(nullptr), ValueFn(nullptr),</div><div dir="ltr">      AllowUnresolvedNodes(AllowUnresolvedNodes) {}</div><div><br></div><div>isn't init to nullptr the "right" thing to do?</div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div dir="ltr">2014-12-25 18:46 GMT+02:00 David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Any particular reason? It's sometimes handy to leave things uninitialized if they stents intended to be read until after some other write - in that way, msan can catch bugs when that constraint is violated.</p><div class="HOEnZb"><div class="h5">
<div class="gmail_quote">On Dec 25, 2014 3:41 AM, "Yaron Keren" <<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: yrnkrn<br>
Date: Thu Dec 25 05:38:15 2014<br>
New Revision: 224835<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=224835&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=224835&view=rev</a><br>
Log:<br>
Initialize CodeGeneratorImpl::Ctx in constructor.<br>
<br>
<br>
Modified:<br>
    cfe/trunk/lib/CodeGen/ModuleBuilder.cpp<br>
<br>
Modified: cfe/trunk/lib/CodeGen/ModuleBuilder.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/ModuleBuilder.cpp?rev=224835&r1=224834&r2=224835&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/ModuleBuilder.cpp?rev=224835&r1=224834&r2=224835&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/ModuleBuilder.cpp (original)<br>
+++ cfe/trunk/lib/CodeGen/ModuleBuilder.cpp Thu Dec 25 05:38:15 2014<br>
@@ -59,7 +59,7 @@ namespace {<br>
     CodeGeneratorImpl(DiagnosticsEngine &diags, const std::string& ModuleName,<br>
                       const CodeGenOptions &CGO, llvm::LLVMContext& C,<br>
                       CoverageSourceInfo *CoverageInfo = nullptr)<br>
-      : Diags(diags), CodeGenOpts(CGO), HandlingTopLevelDecls(0),<br>
+      : Diags(diags), Ctx(nullptr), CodeGenOpts(CGO), HandlingTopLevelDecls(0),<br>
         CoverageInfo(CoverageInfo),<br>
         M(new llvm::Module(ModuleName, C)) {}<br>
<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>
</div></div></blockquote></div><br></div>