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: