<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 18, 2015 at 6:19 PM, Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span> wrote:<br><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"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Thu, Jun 18, 2015 at 5:26 PM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<br><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"><div dir="ltr">Hi Sean,<div><br></div><div>Daniel is a few time zones ahead and likely won't get this, probably best if you do.</div><div><br></div><div>That said, we should also talk to David (on the to: line) who put in the personality function change in the first place :)</div></div></blockquote><div><br></div></span><div>Yeah. David, is there something reasonable we can do here to avoid breaking compatibility? It looks like this just moved from the instruction to the function. Could we set it on the function instead? (From your commit message on r239940, it seems like any existing correct code already had all of the personality functions within a given function the same, so can we just set the landingpad on the function?)</div></div></div></div></blockquote><div><br></div><div>We could do that but it would be inconsistent with what we have done with linkage.  For example: LLVMSetLinkage with LLVMDLLImportLinkage doesn't call setDLLStorageClass for you.<br><br></div><div>I wasn't under the impression that LLVMBuildLandingPad was part of a stable interface.  Do we have any documentation or comments to that effect?  I couldn't find anything official looking which stated whether or not the C bindings are supposed to be link, source or otherwise backwards compatible.</div><div> </div><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"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><font color="#888888"><div><br></div><div>-- Sean Silva</div></font></span><div><div class="h5"><div> </div><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"><div dir="ltr"><span><font color="#888888"><div><br></div><div>-eric</div></font></span><div><div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 18, 2015 at 5:17 PM Sean Silva <<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>> wrote:<br></div><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"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jun 18, 2015 at 4:51 AM, Daniel Jasper <span dir="ltr"><<a href="mailto:djasper@google.com" target="_blank">djasper@google.com</a>></span> wrote:<br><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">Author: djasper<br>
Date: Thu Jun 18 06:51:16 2015<br>
New Revision: 240010<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D240010-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=YsSTrhlh9O_kmWjeb1BzcD_TLPzCIn6eE2a-of73nkw&s=ISg5f3joyz7eUgRD46Tng4zVsdq8Ptucwi23hYKJhdU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=240010&view=rev</a><br>
Log:<br>
Update LLVM bindings after r239940. Apparently these aren't included in<br>
any tests and I even don't know how to run the tests. This seems like a<br>
minimal change to make them work again, although I can't really verify<br>
at this point. Additionally, it probably makes sense to propagate the<br>
personality parameter removal further.<br>
<br>
Modified:<br>
    llvm/trunk/bindings/go/llvm/ir.go<br>
    llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c<br>
    llvm/trunk/include/llvm-c/Core.h<br>
<br>
Modified: llvm/trunk/bindings/go/llvm/ir.go<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_bindings_go_llvm_ir.go-3Frev-3D240010-26r1-3D240009-26r2-3D240010-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=YsSTrhlh9O_kmWjeb1BzcD_TLPzCIn6eE2a-of73nkw&s=QHKyRUxR1gyWpkI0L0T_5erI_1kpaAjYBV2pvJDwj2Q&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/go/llvm/ir.go?rev=240010&r1=240009&r2=240010&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/bindings/go/llvm/ir.go (original)<br>
+++ llvm/trunk/bindings/go/llvm/ir.go Thu Jun 18 06:51:16 2015<br>
@@ -1728,7 +1728,7 @@ func (b Builder) CreatePtrDiff(lhs, rhs<br>
 func (b Builder) CreateLandingPad(t Type, personality Value, nclauses int, name string) (l Value) {<br>
        cname := C.CString(name)<br>
        defer C.free(unsafe.Pointer(cname))<br>
-       l.C = C.LLVMBuildLandingPad(b.C, t.C, personality.C, C.unsigned(nclauses), cname)<br>
+       l.C = C.LLVMBuildLandingPad(b.C, t.C, C.unsigned(nclauses), cname)<br>
        return l<br>
 }<br>
<br>
<br>
Modified: llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_bindings_ocaml_llvm_llvm-5Focaml.c-3Frev-3D240010-26r1-3D240009-26r2-3D240010-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=YsSTrhlh9O_kmWjeb1BzcD_TLPzCIn6eE2a-of73nkw&s=u8Q4SrjRulqxip1O4gvhkZor_Lfld0KzI7Bw4-CFIsw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c?rev=240010&r1=240009&r2=240010&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c (original)<br>
+++ llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c Thu Jun 18 06:51:16 2015<br>
@@ -1745,7 +1745,7 @@ CAMLprim LLVMValueRef llvm_build_invoke_<br>
 CAMLprim LLVMValueRef llvm_build_landingpad(LLVMTypeRef Ty, LLVMValueRef PersFn,<br>
                                             value NumClauses,  value Name,<br>
                                             value B) {<br>
-    return LLVMBuildLandingPad(Builder_val(B), Ty, PersFn, Int_val(NumClauses),<br>
+    return LLVMBuildLandingPad(Builder_val(B), Ty, Int_val(NumClauses),<br>
                                String_val(Name));<br>
 }<br>
<br>
<br>
Modified: llvm/trunk/include/llvm-c/Core.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_include_llvm-2Dc_Core.h-3Frev-3D240010-26r1-3D240009-26r2-3D240010-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=YsSTrhlh9O_kmWjeb1BzcD_TLPzCIn6eE2a-of73nkw&s=vLo2dlPV9CSkfixgYmWNecucybIXWG4UgsjsGL0WGVw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/Core.h?rev=240010&r1=240009&r2=240010&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm-c/Core.h (original)<br>
+++ llvm/trunk/include/llvm-c/Core.h Thu Jun 18 06:51:16 2015<br>
@@ -2661,8 +2661,7 @@ LLVMValueRef LLVMBuildInvoke(LLVMBuilder<br>
                              LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,<br>
                              const char *Name);<br>
 LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,<br>
-                                 LLVMValueRef PersFn, unsigned NumClauses,<br>
-                                 const char *Name);<br>
+                                 unsigned NumClauses, const char *Name);<br></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>This is ABI incompatible. Please revert.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>-- Sean Silva</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><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">
 LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn);<br>
 LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef);<br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div></div>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div></div>