From: Derek M Jones <derek@knosof.co.uk>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Geoff Levand <geoffrey.levand@am.sony.com>,
Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>,
Linux/PPC Development <linuxppc-dev@ozlabs.org>,
linux-sparse@vger.kernel.org,
Andrew Pinski <Andrew_Pinski@PlayStation.Sony.Com>
Subject: Re: cast truncates bits from constant value (8000000000000000 becomes 0)
Date: Fri, 01 Dec 2006 20:49:19 +0000 [thread overview]
Message-ID: <4570954F.70302@knosof.co.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.0612011215110.3695@woody.osdl.org>
Linus,
>> One of the gcc maintainers (Andrew Pinski) told me to set it up that
>> way, so I figured it was safe.
>
> It _is_ safe, as long as you stick to gcc, and as long as you don't mix
> signs in your values, for example.
>
> But we actually want to let people compile even the kernel with other
> compilers than gcc. Most of the time, that means that we strongly
> encourage those compiler people to support all the gcc extensions (let's
> face it, standardization is good, and open standards work better than
> closed ones, and gcc is the most widely spread open and portable compiler
> BY FAR, so it would be stupid to _not_ do that).
The C++ Standard explicitly supports enumeration constants not
having type int. See sentence 858 of
http://www.coding-guidelines.com/cbook/cbook1_0b.pdf
for a discussion of the issues (plus some other sentences).
C compiler vendors, at least those who extend the language, are more
likely to want to follow the C++ rules (which are documented) than the
gcc rules (which are poorly documented).
The C++ way of doing things is also likely to be followed by vendors
whose C compiler is enabled by a command line switch on their C++
compiler (eg, at least one vendor based in Seattle).
--
Derek M. Jones tel: +44 (0) 1252 520 667
Knowledge Software Ltd mailto:derek@knosof.co.uk
Applications Standards Conformance Testing http://www.knosof.co.uk
WARNING: multiple messages have this Message-ID (diff)
From: Derek M Jones <derek@knosof.co.uk>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>,
Linux/PPC Development <linuxppc-dev@ozlabs.org>,
linux-sparse@vger.kernel.org,
Andrew Pinski <Andrew_Pinski@PlayStation.Sony.Com>
Subject: Re: cast truncates bits from constant value (8000000000000000 becomes 0)
Date: Fri, 01 Dec 2006 20:49:19 +0000 [thread overview]
Message-ID: <4570954F.70302@knosof.co.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.0612011215110.3695@woody.osdl.org>
Linus,
>> One of the gcc maintainers (Andrew Pinski) told me to set it up that
>> way, so I figured it was safe.
>
> It _is_ safe, as long as you stick to gcc, and as long as you don't mix
> signs in your values, for example.
>
> But we actually want to let people compile even the kernel with other
> compilers than gcc. Most of the time, that means that we strongly
> encourage those compiler people to support all the gcc extensions (let's
> face it, standardization is good, and open standards work better than
> closed ones, and gcc is the most widely spread open and portable compiler
> BY FAR, so it would be stupid to _not_ do that).
The C++ Standard explicitly supports enumeration constants not
having type int. See sentence 858 of
http://www.coding-guidelines.com/cbook/cbook1_0b.pdf
for a discussion of the issues (plus some other sentences).
C compiler vendors, at least those who extend the language, are more
likely to want to follow the C++ rules (which are documented) than the
gcc rules (which are poorly documented).
The C++ way of doing things is also likely to be followed by vendors
whose C compiler is enabled by a command line switch on their C++
compiler (eg, at least one vendor based in Seattle).
--
Derek M. Jones tel: +44 (0) 1252 520 667
Knowledge Software Ltd mailto:derek@knosof.co.uk
Applications Standards Conformance Testing http://www.knosof.co.uk
next prev parent reply other threads:[~2006-12-01 20:49 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-22 4:20 [PATCH 8/14] powerpc: add ps3 platform repository support Geoff Levand
2006-12-01 14:25 ` cast truncates bits from constant value (8000000000000000 becomes 0) Geert Uytterhoeven
2006-12-01 14:39 ` Al Viro
2006-12-01 14:39 ` Al Viro
2006-12-01 14:55 ` Geert Uytterhoeven
2006-12-02 7:50 ` Michael Ellerman
2006-12-02 7:50 ` Michael Ellerman
2006-12-01 15:30 ` Linus Torvalds
2006-12-01 16:51 ` Geoff Levand
2006-12-01 20:20 ` Linus Torvalds
2006-12-01 20:49 ` Derek M Jones [this message]
2006-12-01 20:49 ` Derek M Jones
2006-12-01 21:00 ` Al Viro
2006-12-01 21:00 ` Al Viro
2006-12-01 21:19 ` Linus Torvalds
2006-12-01 21:19 ` Linus Torvalds
2006-12-01 20:50 ` Linus Torvalds
2006-12-01 21:17 ` Geoff Levand
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=4570954F.70302@knosof.co.uk \
--to=derek@knosof.co.uk \
--cc=Andrew_Pinski@PlayStation.Sony.Com \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=geoffrey.levand@am.sony.com \
--cc=linux-sparse@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=torvalds@osdl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.