<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 16, 2013, at 6:11 AM, Timur Iskhodzhanov <<a href="mailto:timurrrr@google.com">timurrrr@google.com</a>> wrote:</div><blockquote type="cite"><div dir="ltr"><div>2013/1/16 John McCall <span dir="ltr"><<a href="mailto:rjmccall@apple.com" target="_blank" class="cremed">rjmccall@apple.com</a>></span><br></div><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "><div>On Dec 29, 2012, at 6:48 AM, Timur Iskhodzhanov <<a href="mailto:timurrrr@google.com" target="_blank" class="cremed">timurrrr@google.com</a>> wrote:<br>
> Please review the new patch attached.<br>
><br>
> I've put an extra FIXME for the RTTI handling<br>
> and added a new check to the constructor CodeGen test.<br>
<br>
</div>Sorry about the delay.<br></blockquote><div>Please tell me if there's something actionable for me to improve my emails/patches to reduce delays/number of iterations.</div><div>e.g. read these and these docs, read XYZ more carefully, do ABC rather than KLM, etc.</div></div></div></div></blockquote><div><br></div>It's really just that I've been very busy recently, as you can probably tell from my commit history. :) I don't have an immediate solution.</div><div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">
Instead of repeating<br>
Context.getTargetInfo().getCXXABI() != CXXABI_Microsoft<br>
all over the place, please introduce an isItaniumABI() predicate.<br>
Also, consider caching it as a field of VTableContext.<br></blockquote><div>Unfortunately, I'm afraid havin isItaniumABI() is not very helpful as we may also see CXXABI_ARM.</div><div>Am I right?</div></div></div></div></blockquote><div><br></div><div>The ARM ABI is a variant of the Itanium ABI; my intent was that isItaniumABI would return true for it. But it's not that important; caching IsMicrosoftABI is fine for now.</div><div><br></div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">+ assert(!isMicrosoft &&<br>
+ "Implicit virtual dtors are not yet supported in MS ABI");<br>
+<br>
<br>
This is not an appropriate use of assert.<br></blockquote><div>I've switched back to llvm_unreachable.</div><div>Please tell me if I'm doing it wrong too!</div></div></div></div></blockquote><div><br></div><div>Neither of these is appropriate! The compiler should never crash just</div><div>because something is unsupported. Consider adding a method to emit</div><div>an "unsupported" diagnostic here (you can follow IRGen's lead).</div></div><br><div>John.</div></body></html>