[Bug target/61729] FAIL: g++.dg/abi/scoped1.C -std=gnu++11 execution test

segher at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jan 15 01:14:00 GMT 2017


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++?


More information about the Gcc-bugs mailing list