<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 5, 2015 at 5:55 PM, Kaylor, Andrew <span dir="ltr"><<a href="mailto:andrew.kaylor@intel.com" target="_blank">andrew.kaylor@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Having the number of arguments for each handler depend on the handler type feels a bit shaky to me, but I can’t think of an actually problem with it that wouldn’t
be handled by checking the type of each argument as we process it.</span></p></div></div></blockquote><div><br></div><div>We could definitely put in a dummy i8* null to make the number of arguments per action match, but we still wouldn't be able to tell cleanups from catches without using some sentinel other than i8* null. We really can use any sentinel, since vararg functions don't have a prototype.</div><div><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt"> </span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">There are a couple of other pieces of information that need to end up in the catch handler array in the .xdata section, but I don’t think they have any reason
to be included here.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">So, yeah, I think this form for llvm.eh.actions is reasonable. We can always replace it later if we come up with a cleaner idea.</span></p></div></div></blockquote><div><br></div><div>Cool. </div></div></div></div>