On Sep 8, 2016, at 1:53 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > > On Mon, Sep 5, 2016 at 1:45 PM, Joseph Myers <jos...@codesourcery.com> wrote: >> On Sun, 4 Sep 2016, Uros Bizjak wrote: >> >>> It looks that different handling of _Complex char, _Complex short and >>> _Complex float is there on purpose. Is (was?) there a limitation in a >>> c language standard that prevents passing of these arguments as >>> varargs? >> >> Well, ISO C doesn't define complex integers at all. But it's deliberate >> (see DR#206) that _Complex float doesn't promote to _Complex double in >> variable arguments. And there is nothing in ISO C to stop _Complex float >> being passed in variable arguments. >> >> For all these types including the complex integer ones: given that the >> front end doesn't promote them, they should be usable in variable >> arguments. > > Attached patch adds various _Complex variable arguments tests to > scalar-by-value-4 and scalar-return-4 tests. These tests previously > erroneously claimed that these argument types are unsupported as > variable arguments. > > 2016-09-08 Uros Bizjak <ubiz...@gmail.com> > > * gcc.dg/compat/scalar-by-value-4_x.c: Also test passing of > variable arguments. > * gcc.dg/compat/scalar-by-value-4_y.c (testva##NAME): New. > * gcc.dg/compat/scalar-by-value-4_main.c: Update description comment. > * gcc.dg/compat/scalar-return-4_x.c: Also test returning of > variable argument. > * gcc.dg/compat/scalar-return-4_y.c (testva##NAME): New. > * gcc.dg/compat/scalar-return-4_main.c: Update description comment. > > Tested on x86_64-linux-gnu {,-m32}. > > OK for mainline?
Ok.