[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: va_list problems with optimize option in gcc



On Sat, 23 Mar 2002, Laurent wrote:

[ va_arg problems, code shortened to the relevant parts ]

> typedef long long Int64;
> typedef int     Int32;
> typedef char    Int8;
> typedef double  Float64;
> typedef float   Float32;

> void bar(const int input, ...)
> {
>         va_list args;
>         va_start(args, input);
>         switch(input) {

> /* compiler barfs here */
>                foo_Float32(input, va_arg(args, Float32));

This was just discussed on this list, va_arg(args, float) is _always_
wrong because float gets promoted to double when given as an argument to
a variadic function. Same holds for va_arg(args, char), char gets promoted
to int.

Cheers, Lukas


-- 
To UNSUBSCRIBE, email to debian-powerpc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: