avifil32: Removed sign comparison warning (sizeof expresions)

Andrey Turkin andrey.turkin at gmail.com
Mon Aug 23 04:42:49 CDT 2010

On Monday 23 August 2010 13:16:07 Michael Stefaniuc wrote:
> IMHO gcc is *wrong* in emitting a warning there. sizeof(PCMWAVEFORMAT)
> is a compile time constant and gcc can see that sizeof(PCMWAVEFORMAT)
> falls well inside the number range expressible by a LONG. Logically
> there is no difference between
>     formatsize <= sizeof(PCMWAVEFORMAT)
> and
>     formatsize <= 16
> One gives a bogus warning and the other doesn't.

C99 std (para states following about sizeof operator:
"...its type (an unsigned integer type) is size_t, defined in <stddef.h> (and 
other headers)."

sizeof result is a compile-time constant but, unlike numeric constants, its 
type must always be size_t so gcc does the correct thing here.

More information about the wine-devel mailing list