<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Apr 11, 2011, at 10:22 AM, John McCall wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On Apr 11, 2011, at 7:13 AM, Anders Carlsson wrote:<br><font class="Apple-style-span" color="#07731d"><br></font><blockquote type="cite">+static void EmitBadTypeidCall(CodeGenFunction &CGF) {<br></blockquote><blockquote type="cite">+  llvm::Value *F = getBadTypeidFn(CGF);<br></blockquote><blockquote type="cite">+  if (llvm::BasicBlock *InvokeDest = CGF.getInvokeDest()) {<br></blockquote><blockquote type="cite">+    llvm::BasicBlock *Cont = CGF.createBasicBlock("invoke.cont");<br></blockquote><blockquote type="cite">+    CGF.Builder.CreateInvoke(F, Cont, InvokeDest)->setDoesNotReturn();<br></blockquote><blockquote type="cite">+    CGF.EmitBlock(Cont);<br></blockquote><blockquote type="cite">+  } else<br></blockquote><blockquote type="cite">+    CGF.Builder.CreateCall(F)->setDoesNotReturn();<br></blockquote><blockquote type="cite">+  <br></blockquote><blockquote type="cite">+  CGF.Builder.CreateUnreachable();<br></blockquote><blockquote type="cite">+}<br></blockquote><blockquote type="cite">+<br></blockquote><br>CGF.EmitCallOrInvoke(...).setDoesNotReturn();<br>CGF.Builder.CreateUnreachable();<br><br></div></blockquote><div><br></div>I was thinking about adding an "emit call or invoke" function, but now I don't need to!</div><div><br></div><div>- Anders</div><div><br></div></body></html>