All,

Not a bug in GCC the result is correct as you've only asked for a 32-bit
multiply.

--- Hans Petter Selasky <[EMAIL PROTECTED]> wrote:

> Test program:
> 
> #include <stdio.h>
> #include <sys/types.h>      
> 
> int main() {
> 
>         int32_t a = 0x40000000;
>         int16_t b = 0x4000;
>         int64_t c = a * b;
                      ^^^^^ this is a 32-bit multiply with the result widened
to 64-bit,
>         printf("0x%016llx\n", c);
> 
>         return 0;
> }
> 

Reply via email to