<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">I am trying to update the initializer of a global value and I have encounter two issues:</div><div class=""><br class=""></div><div class="">The first one is that I can not change the type of the global value. Let say that I have the following variable: <i class="">@.str = private unnamed_addr constant [6 x i8] c”Test0A\00", align 1</i></div><div class=""><i class=""><br class=""></i></div><div class="">How can I change the <i class="">”Test0A\00” </i>to<i class=""> </i><i class="">”OtherTest0A\00”. </i>Is this possible? I know that you can change the <i class="">initializer</i> with <i class="">setInitializer</i> but the global value’s type will not be the same.</div><div class=""><br class=""></div><div class="">For now, the only way I found was to create a new global value and to change all theses uses.</div><div class=""><br class=""></div><div class="">The second problem that I have is with the function <i class="">Verifier::visitGlobalVariable</i>. Sometimes, the verifier tells me that the initializer type does not match the global variable type even when this is the case.</div><div class=""><br class=""></div><div class=""> This function will do the following check: </div><div class=""><br class=""></div><div class=""><div class=""><i class="">if (GV.hasInitializer()) {</i></div><div class=""><i class="">    Assert(GV.getInitializer()->getType() == GV.getType()->getElementType(),</i></div><div class=""><i class="">           "Global variable initializer type does not match global "</i></div><div class=""><i class="">           "variable type!",</i></div><div class=""><i class="">           &GV);</i></div></div><div class=""><br class=""></div><div class="">But I did not find any overload for the comparator operator (in the type class). So this will only check if the addresses of the type are the same and not if this is the same type.</div><div class=""><br class=""></div><div class="">To have the same type, I need to create the initializer with the same context as the global variable:</div><div class=""><br class=""></div><div class=""><div class=""><i class="">LLVMContext &C = gv->getContext();</i></div><div class=""><i class="">ConstantDataArray *data = cast<ConstantDataArray>(ConstantDataArray::getString(C, ref, false));       </i></div><div class=""><i class="">gv->setInitializer(data);</i></div></div><div class=""><br class=""></div><div class="">Is this normal? I am missing something?</div><div class=""><br class=""></div><div class="">Greetings,<br class=""><div class="">

<meta http-equiv="content-type" content="text/html; charset=windows-1252" class=""><p class="p1">
  <img alt="" src="data:image/png;base64,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" style="width: 256px; height: 50px;" class="">
</p>
<p class="p1">
  <span style="color:#da291c;" class="">
    <span style="font-family:futura,helvetica,sans-serif;" class="">
      <span class="s1">
          JOHAN WEHRLI - Product and development
      </span>
    </span>
  </span>
</p>

<p class="p3">
  <span style="font-family:futura,helvetica,sans-serif;" class="">
    <span class="s2">
        Rue Galilée 7<br class="">
        CH-1400 Yverdon-les-Bains<br class="">
        <a href="https://strong.codes/" class="">https://strong.codes</a><br class="">
    </span>
  </span>
</p>


</div>
<br class=""></div></body></html>