This is gcc question, you can also try [EMAIL PROTECTED]

main()
{
  long long ll;
  ll = 1234567890123456LL;
  printf("%lld\n", ll);
}

% ./a.out
1234567890123456

I looked at the assembly dump, it looks OK:
main:
        pushl %ebp
        movl %esp,%ebp
        subl $8,%esp
        movl $1015724736,-8(%ebp)
        movl $287445,-4(%ebp)
        movl -8(%ebp),%eax
        movl -4(%ebp),%edx
        pushl %edx
        pushl %eax
        pushl $.LC0
        call printf
        addl $12,%esp

Rayson

--- Jason Borkowsky <[EMAIL PROTECTED]> wrote:
> I have a FreeBSD 4.5-RELEASE box that I recently installed gcc-3.0.4.
> Is there any support for compiling 64-bit source code on this 32-bit
> set-up?

> (ie, a sort of emulation mode in that if the compiler sees a "long
> long
> int", it creates 2 32-bit registers for it instead of a 64-bit
> register).
> Currently gcc-3.0.4 understands "long long int", but if you try to
> assign
> it a 64-bit value, it just gets set to the largest 32-bit value (4
> billion).
> If gcc cannot handle this, are there any other compilers that can
> made
> 64-bit code work on a 32-bit machine?
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message


__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to