<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Le 14 déc. 2012 à 17:08, Jaymie Strecker <<a href="mailto:jstrecker@kosada.com">jstrecker@kosada.com</a>> a écrit :</div><div><div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Duncan, thanks for your reply. </div><br><div><blockquote type="cite">Probably the types are not defined precisely the same in each module (maybe you<br>could send the exact definitions in each module to the mailing list?), <br></blockquote></div><div><br></div><div>In the module loaded in Step 1 (otherModule): </div><div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>%struct.dispatch_group_s = type opaque</div><div>%union.dispatch_object_t = type { %struct.dispatch_object_s* }</div><div>%struct.dispatch_object_s = type opaque</div></blockquote><div><br></div><div>In the module generated in Step 2 (mainModule): </div><div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>%struct.dispatch_group_s = type {}</div><div>%union.dispatch_object_t = type { %struct.dispatch_object_s* }</div><div>%struct.dispatch_object_s = type {}</div></blockquote><div><br></div><div>(The LLVM API calls to generate mainModule were generated by calling `llc -march=cpp` on otherModule.) </div><div><br></div></div></blockquote><div><br></div>Is there any chance one module was compiled in C mode and the other one in C++ mode ?</div><div><br></div><div>The dispatch_object declarations are not the same for both languages:</div><div><br></div><div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42); ">#if defined(__cplusplus)</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0); ">/*</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0); "> * Dispatch objects are NOT C++ objects. Nevertheless, we can at least keep C++</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0); "> * aware of type compatibility.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0); "> */</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; "><span style="color: #bb2ca2">typedef</span> <span style="color: #bb2ca2">struct</span> dispatch_object_s {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(187, 44, 162); ">private<span style="color: #000000">:</span></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; "><span class="Apple-tab-span" style="white-space:pre"> </span>dispatch_object_s();</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; "><span class="Apple-tab-span" style="white-space:pre"> </span>~dispatch_object_s();</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; "><span class="Apple-tab-span" style="white-space:pre"> </span>dispatch_object_s(<span style="color: #bb2ca2">const</span> dispatch_object_s &);</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #bb2ca2">void</span> <span style="color: #bb2ca2">operator</span>=(<span style="color: #bb2ca2">const</span> dispatch_object_s &);</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; ">} *dispatch_object_t;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; "><br></div></div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite">but I<br>think there were also some bugs in this area that were fixed in 3.2.</blockquote><br></div><div>Great, I'll also test on 3.2 when I get a chance. Thanks. </div><div><br></div></div>_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><div>-- Jean-Daniel</div><div><br></div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></div></body></html>