From: Jamie Lokier <jamie@shareable.org>
To: malc <av1474@comtv.ru>
Cc: qemu-devel@nongnu.org,
"Reimar Döffinger" <Reimar.Doeffinger@gmx.de>,
"Pierre Riteau" <Pierre.Riteau@irisa.fr>
Subject: Re: [Qemu-devel] [PATCH v2] Fix compilation of check-qint.c by using a long long integer constant
Date: Sat, 5 Sep 2009 02:58:42 +0100 [thread overview]
Message-ID: <20090905015842.GB24516@shareable.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0909042149080.2268@linmac.oyster.ru>
malc wrote:
> > > - const int64_t value = 0xffffffffffffffff;
> > > + const int64_t value = 0xffffffffffffffffLL;
> >
> > Hm, well it does not really fit in a signed long long either (so from that
> > aspect it should be ULL).
> > Should it not be simply -1 (does qemu assume all architectures
> > use two's complement?)?
>
> Yes.
Yes, but be aware that GCC nowadays does some optimisations which
assume calculations do not wraparound when using signed types. See
-fwrapv and -fno-strict-overflow. They tripped up the Linux kernel
recently, causing some range tests to be optimised away. Those
optimisations warrant caution when thinking in two's complement while
using signed types.
For unsigned types, the ANSI C language uses arithmetic (mod 2^bits)
for unsigned types. You can always write 0ULL-1, even theoretically
on non-two's complement machines: that's well-defined in C to have all
one bits set.
-- Jamie
next prev parent reply other threads:[~2009-09-05 1:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-04 17:09 [Qemu-devel] [PATCH v2] Fix compilation of check-qint.c by using a long long integer constant Pierre Riteau
2009-09-04 17:29 ` Reimar Döffinger
2009-09-04 17:49 ` malc
2009-09-05 1:58 ` Jamie Lokier [this message]
2009-09-04 17:56 ` Pierre Riteau
2009-09-04 18:25 ` Luiz Capitulino
2009-09-05 8:07 ` Reimar Döffinger
2009-09-08 9:54 ` Pierre Riteau
2009-09-04 17:38 ` Luiz Capitulino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090905015842.GB24516@shareable.org \
--to=jamie@shareable.org \
--cc=Pierre.Riteau@irisa.fr \
--cc=Reimar.Doeffinger@gmx.de \
--cc=av1474@comtv.ru \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).