[cfe-dev] Custom calling conventions in C code
Chris Lattner
clattner at apple.com
Mon Jun 23 09:13:55 PDT 2008
On Jun 23, 2008, at 2:28 AM, Matthijs Kooijman wrote:
> Hi all,
>
> LLVM supports arbitrary, backend specific calling conventions,
> besides the
> standard predefined ones. I want to be able to compile C programs
> using some
> custom calling conventions, but I couldn't find any way to mark a
> specific
> program in my C source as using some arbitrary, custom calling
> convention (not
> in C itself, clang or gcc extensions).
>
> Is there any way to accomplish this, or should there be one?
Hey Matthijs,
There isn't currently a way to do this, you'd have to use specific
named conventions like "cdecl" "stdcall" "pascal" etc, along with
attributes.
I think it would be a great thing for compiler hackers to have a
mechanism to access an arbitrary calling convention, but I also think
it would be a disaster to expose this to end user code. The problem
is that not all constructs are valid with every calling convention,
and if there is ever a large install base of code using "calling
convention 19" in their C code, we'd have to support that forever.
CC#'s are supposed to be an internal implementation detail of the IR.
-Chris
More information about the cfe-dev
mailing list