This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] ABI change for variable sized types
Richard Henderson wrote:
Which surely implies records that could be *defined* in C at all.
Which, if you ignore gcc extensions, does not include variable
sized records.
Maybe, since the corresponding C record has a C union,
it seems reasonable to apply it there too.
The pragma name seems misguided to me.
Even its existence is misguided, for me convention C should mean
Pass_Like_C. The trouble was the bad implementation advice in the
RM that said that records were always passed by pointer -- I would
guess this wrong decision just came from ignorance about how C
compilers work in practice.
It should have been Pass_Like_C.
See above
At which point the Ada compiler referrs to the ABI and does what it says.
Which may be "pass by value unless > 16 bytes" or similar.
Indeed -- being compatible with other people's bad decisions can
be very horrible sometimes.