Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Jan 2003 14:35:12 -0800
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        "David O'Brien" <obrien@FreeBSD.ORG>
Cc:        Kris Kennaway <kris@obsecurity.org>, ia64@FreeBSD.ORG, anholt@FreeBSD.ORG
Subject:   Re: XFree86-libraries fails on ia64
Message-ID:  <20030118223512.GA590@dhcp01.pn.xcllnt.net>
In-Reply-To: <20030118215524.GF70151@dragon.nuxi.com>
References:  <20030116012828.GA27790@rot13.obsecurity.org> <20030116014854.GA22020@dhcp01.pn.xcllnt.net> <20030118215524.GF70151@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 18, 2003 at 01:55:24PM -0800, David O'Brien wrote:
> On Wed, Jan 15, 2003 at 05:48:54PM -0800, Marcel Moolenaar wrote:
> > Alternative 1:
> > --- extras/FreeType/lib/ttcalc.c.orig   Sat Feb 12 21:03:51 2000
> > +++ extras/FreeType/lib/ttcalc.c        Mon Dec  2 00:39:32 2002
> > @@ -84,7 +84,7 @@
> > -      z = (unsigned INT64)z >> 1;
> > +      z = (unsigned long long)z >> 1;
> 
> > Alternative 2:
> > --- extras/FreeType/lib/ttcalc.c.orig   Sat Feb 12 21:03:51 2000
> > +++ extras/FreeType/lib/ttcalc.c        Thu Dec  5 17:56:25 2002
> > @@ -84,7 +84,11 @@
> > +#if defined(__ia64__)
> > +      z = (unsigned long)z >> 1;
> > +#else
> >        z = (unsigned INT64)z >> 1;
> > +#endif
> 
> 
> This looks like a total hack (at first glance).  Why isn't INT64 usable?
> Is there a missing ia64 case in the definition of it?

The problem is that gcc doesn't allow modifying typedefs in casts.
INT64 does exist, but unsigned INT64 is not accepted as a valid cast.
Try:

typedef long long LL;

int main()
{
        LL s = 2;
        unsigned long long u = (unsigned LL)s;

        return 0;
}

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ia64" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030118223512.GA590>