https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61729

--- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> ---
This testcase uses a 2-byte scoped enum, which doesn't get the integer
promotions if I read the C++ standard correctly -- but it is passed via
varargs, and the target code expects that to be promoted always.  The
-m64 code works correctly (it uses the generic varargs expansion code),
but it is less efficient than it would be for promoted args as well.

Should varargs in C++ get the integer promotions (like in C), or do we
need to extend many ABIs to work with C++?

Reply via email to