This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Calling c++ functions returning non-pod types


On 21/02/13 15:19, Andrew Haley wrote:
On 02/21/2013 01:29 PM, Philip Ashmore wrote:
I think a better option would be to tell libffi that the return type is
a "non-pod" and let it jump the hoops appropriate for the architecture -
am I correct in guessing that my approach isn't portable?

Sort of. There is a standardish C++ ABI known for reasons too arcane to go into as the Itanium C++ ABI http://refspecs.linux-foundation.org/cxxabi-1.83.html

However, putting all this stuff into libffi would be too much IMO.  You
could think of defining a C++ layer that calls libffi.
if only because libffi doesn't create temporaries for ignored return values.
I guess I'm going to have to define a portability layer myself then.

Does/could libffi define macro I could use to determine the c++ ABI?

The next thing I'd need is a page of docs for all the c++ ABIs for the c ABIs that libffi supports.


Andrew.


If you could reply with such a list that would be great - I'll push ahead with the platform I'm on now - Debian sid amd64.

Philip


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]