This is the mail archive of the gcc@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: Testing _Complex varargs passing [was: Alpha, ABI change: pass SFmode and SCmode varargs by reference]


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


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