This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: [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.


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