<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/142367>142367</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            AddNamedMetadata fails for strings in the C interface
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          demoitem
      </td>
    </tr>
</table>

<pre>
    Calling this via the C interface

 LLVMAddNamedMetadataOperand(M, "llvm.ident",
 LLVMMetadataAsValue(LLVMGetModuleContext(M),
 LLVMMDStringInContext2(LLVMGetModuleContext(M), "foo", 3)));

produces an assert 

Core.cpp:1094: llvm::MDNode* extractMDNode(llvm::MetadataAsValue*): Assertion `(isa<MDNode>(MD) || isa<ConstantAsMetadata>(MD)) && "Expected a metadata node or a canonicalized constant"' failed.



</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEUsGK6zgQ_Jr2pZmgtJzYOfigcSbLwmT2sDB3RWonWhQpSPLsvPf1D9sJb5jLA4NBXVVdJZXO2Z0DcwebZ9jsKz2WS0yd5Wt0ha_VKdofXa-9d-GM5eIyfjiN5cLYowuF06ANg1AgFL6-vh-VtW_6yvbIRVtd9D83TjpYoPYI1CMQef9xXTnLoQARUP9gPhgqv2s_MlA7nf7F5Rjt6LmPofBnWYR2X3n7f0ty4fx3uEPoj9TJxhDjsh_lfDh_8nmJckvRjoYz6oA6Z04Fl0EfE6_M7QZSrcWuBqlwygNSgVTH_Vu0DKSQP0vSpjwO2i-Y7ynVvFehmte4GBC2Aqh1WYPs7wryZTK_B9ohND00PS7jPoZcdCgqP3S_QGc0bYG2U96XzxubwhY1Xu9YDNEyxoQajQ4xOKO9-8kWzV12vqAGB-0829VyAyBUZTtpd3KnK-7WTd22W9mKurp0urVGWzKSrBjINJu14ZNhQ4NtW72pK9eRoI3YClqvpRD1SjbDYJvG2Jql3TBDLfiqnV_NLYnpXLmcR-7WNcltU3l9Yp_nrhIF_h_n6WRzs69SN5GeTuM5Qy28yyX_limueO6-t3OOlnGICfNcoowufG93NSbfXUq55ekJ6QB0OLtyGU8rE69Ah_lxl9_TLcX_2BSgw-wsAx3u1j86-hUAAP__H28SeA">