<html><head></head><body 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"><div>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></div></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 type="cite"><div>but I<br>think there were also some bugs in this area that were fixed in 3.2.</div></blockquote><br></div><div>Great, I'll also test on 3.2 when I get a chance. Thanks. </div><div><br></div></body></html>