The type of a tuple used to be a tuple of types but that was changed in 0.4
– the way ccall is invoked is a vestige of that, but a convenient one.

On Thu, Jan 21, 2016 at 10:11 AM, Erik Schnetter <[email protected]>
wrote:

> I notice that the argument types in ccall are passed as a tuple of
> types, whereas the arguments to llvmcall are passed as a tuple type.
> That is, there is e.g.
>
> ccall(:foo, Int, (Int, Int), ...)
>
> and
>
> llvmcall("foo", Int, Tuple{Int, Int}, ...)
>
> Why is this? Is this just for historic reasons? Should this be changed?
>
> Note that the llvmcall code receives multiple arguments (%0, %1, ...),
> not just a single tuple argument.
>
> -erik
>
> --
> Erik Schnetter <[email protected]>
> http://www.perimeterinstitute.ca/personal/eschnetter/
>

Reply via email to