<div dir="ltr">You should be able to use EmitCallArgs to get most of the CallArgList and add your CallArg either at the beginning or end of the argument sequence, depending on where you want it. This is how we do constructor calls, for example. As long as your argument is a scalar and not an aggregate, this will work just fine, it's like the way we handle the 'this' parameter separately in EmitCXXConstructorCall.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 18, 2015 at 2:16 AM, Nat! <span dir="ltr"><<a href="mailto:nat@mulle-kybernetik.com" target="_blank">nat@mulle-kybernetik.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi<br>
<br>
I have the following problem in creating a custom function call. I want to reuse CodeGenFunction::EmitCallArgs, since it seems to be solving some tricky issues with MS compilers.<br>
<br>
At the time I want to call `EmitCallArgs` I have all my arguments ready, except one, which I am allocaing on the fly like this:<br>
<br>
LValue   Record = MakeNaturalAlignAddrLValue( CreateMemTemp( RecTy, "_additional"), RecTy);<br>
<br>
So now I have an (LLVM) LValue  but EmitCallArgs expects an iterator of (CLANG) Expr *. So I would like to fake a temporary pointer expression to my allocaed record add it to my arguments and call EmitCallArgs. But I haven't found a place in clang, that creates a pointer expr to a LLVM LValue. Maybe it's impossible ?<br>
<br>
Thanks for any help in advance<br>
        Nat!<br>
------------------------------------------------------<br>
Ignorance more frequently begets confidence than does<br>
knowledge  -- Darwin<br>
<br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>