The ability to pass information between compilers- at compile-time- provides a unique opportunity to rectify the ABI issues present in Standard C++.
Name mangling: Export by ordinal, and associate regular names with their ordinal.
Exception handling: I believe this can be done by exporting the try/catch/throw functionality at run-time. Failing that, I was thinking that the process could be exported at compile-time- like, "This is how I implemented throw, and this is how to implement catch.". Bonus if you've got a platform-specific extant mechanism like SEH.
RTTI: I'm really planning on just having `type_info` as a virtual interface. Then you can pass the values at compile-time, like, typeid(int).name() returns "AMAGAD WTF IMPLEMENTATION IS THIS". As long as your virtual functions are compatible, that'll be good to go.
Calling conventions, structure layouts, and such- feel free to describe in detail how to pass parameters and that baloney.
As such, I believe that all I'd have to do is Standardise the means of this communication, and I'd be golden.
No comments:
Post a Comment