This is the mail archive of the gcc-patches@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: [PATCH][C/C++] Do not promote return arguments



I don't think it breaks any standard C/C++ code, but the ABI allows
C/C++ code to be called from assembler (and other languages) and
defines how return values should be promoted.  It's quite proper for
assembly code to assume that return values are promoted according to
their type, and this is where the libffi breakage came from.

Also, non-portable C/C++code that assumes that short and char values
will be promoted to ints will be broken by this change.  Sure, it's
nonstandard C/C++ code, but according to the ABI it shouldn't break.
We don't know how much code of this kind there is.

I agree with Andrew, but OTOH I think that this is an i386 backend bug, previously masked by the C++ front-end.


Paolo


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