public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] Re: Port of the posix timers to IA64
@ 2003-03-01  8:10 David Mosberger
  2003-03-03 14:12 ` Eric Piel
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: David Mosberger @ 2003-03-01  8:10 UTC (permalink / raw)
  To: linux-ia64

Hi Eric,

>>>>> On Fri, 28 Feb 2003 10:52:33 +0100, Eric Piel <Eric.Piel@Bull.Net> said:

  Eric> long v;
  Eric> :
  Eric> :
  Eric> if ( v >= (1 << 56)){
  Eric> :
  Eric> }

  Eric> It seems very strange for me that when compiling this part gcc
  Eric> considers that eveything must be converted to int. I have to
  Eric> write 1UL instead of 1 in order to obtain the correct
  Eric> behaviour of the code. I guess you've already come along with
  Eric> such problem.

As Andreas pointed out, that's just how C works.

  Eric> So, first, do you think it's a bug in gcc?

No, gcc is doing the Right Thing.

  Eric> Second should I convert every 1's I see by 1UL's (there are
  Eric> only few but sounds so strange)?

Yes, you need to make sure that anything that gets shifted more than
32 bits has the proper type.  In portable code, I sometimes prefer
to use explicit type-casts, e.g.:

	((size_t) 1) << 48

if the final value needs to be of type size_t, but that's largely
a matter of taste.

	--david


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-03-12 18:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-01  8:10 [Linux-ia64] Re: Port of the posix timers to IA64 David Mosberger
2003-03-03 14:12 ` Eric Piel
2003-03-05  1:44 ` David Mosberger
2003-03-12 18:37 ` Jes Sorensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox