-
Notifications
You must be signed in to change notification settings - Fork 13.9k
Closed
Labels
Milestone
Description
I've come to believe the ABI scheme I cooked up is overly complicated. The current scheme involves a set of ABIs, some of which are "platform specific" and some of which are not, and we select the most specific one we can for a given target. I'd prefer to say that an ABI string selects exactly one ABI, and then define some meta-ABIs that may vary by platform. In addition, some ABIs may be specific to a platform, in which case invocations of functions with that ABI cannot be compiled to other platforms.
I'm thinking of a set of ABI strings like:
C-- a meta descriptor representing "C-like conventions", as todayfastcall-- LLVM's fastcallstdcall-- win32 specificsystem--stdcallon windows,Celsewhere (borrowed from D)aapcs-- ARM specific- etc