Testing _Complex varargs passing [was: Alpha, ABI change: pass SFmode and SCmode varargs by reference]
Joseph Myers
joseph@codesourcery.com
Mon Sep 5 11:45:00 GMT 2016
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.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc
mailing list