From: Gabriel Paubert <paubert@iram.es>
To: tom st denis <tomstdenis@yahoo.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 0xdeadbeef vs 0xdeadbeefL
Date: Wed, 7 Jul 2004 18:30:49 +0200 [thread overview]
Message-ID: <20040707163048.GA30840@iram.es> (raw)
In-Reply-To: <20040707111028.82649.qmail@web41111.mail.yahoo.com>
On Wed, Jul 07, 2004 at 04:10:28AM -0700, tom st denis wrote:
> --- viro@parcelfarce.linux.theplanet.co.uk wrote:
> > On Tue, Jul 06, 2004 at 05:06:12PM -0700, tom st denis wrote:
> > > --- David Eger <eger@havoc.gtf.org> wrote:
> > > > Is there a reason to add the 'L' to such a 32-bit constant like
> > this?
> > > > There doesn't seem a great rhyme to it in the headers...
> > >
> > > IIRC it should have the L [probably UL instead] since numerical
> > > constants are of type ``int'' by default.
> > >
> > > Normally this isn't a problem since int == long on most platforms
> > that
> > > run Linux. However, by the standard 0xdeadbeef is not a valid
> > unsigned
> > > long constant.
> >
> > ... and that would be your F for C101. Suggested remedial reading
> > before
> > you take the test again: any textbook on C, section describing
> > integer
> > constants; alternatively, you can look it up in any revision of C
> > standard.
> > Pay attention to difference in the set of acceptable types for
> > decimal
> > and heaxdecimal constants.
>
> You're f'ing kidding me right? Dude, I write portable ISO C source
> code for a living. My code has been built on dozens and dozens of
> platforms **WITHOUT** changes. I know what I'm talking about.
>
> 0x01, 1 are 01 all **int** constants.
>
> On some platforms 0xdeadbeef may be a valid int, in most cases the
> compiler won't diagnostic it. splint thought it was worth mentioning
> which is why I replied.
>
> In fact GCC has odd behaviour. It will diagnostic
>
> char x = 0xFF;
>
> and
>
> int x = 0xFFFFFFFFULL;
>
> But not
>
> int x = 0xFFFFFFFF;
>
> [with --std=c99 -pedantic -O2 -Wall -W]
>
> So I'd say it thinks that all of the constants are "int". In this case
> 0xFF is greater than 127 [max for char] and 0xFFFFFFFFFFULL is larger
You are aware that this statement is plainly and simply wrong,
aren't you?
On many platforms a "plain" char is unsigned. You can't write portable
code without knowing this.
>
> Before you step down to belittle others I'd suggest you actually make
> sure you're right.
Ditto.
Gabriel
next prev parent reply other threads:[~2004-07-07 16:33 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-06 21:56 0xdeadbeef vs 0xdeadbeefL David Eger
2004-07-07 0:06 ` tom st denis
2004-07-07 3:00 ` viro
2004-07-07 11:10 ` tom st denis
2004-07-07 11:18 ` Prohibited attachment type (was 0xdeadbeef) Richard B. Johnson
2004-07-07 11:48 ` tom st denis
2004-07-07 12:29 ` Jakub Jelinek
2004-07-08 5:52 ` Pavel Machek
2004-07-08 14:03 ` Jakub Jelinek
2004-07-07 12:13 ` R. J. Wysocki
2004-07-07 14:22 ` 0xdeadbeef vs 0xdeadbeefL viro
2004-07-07 18:47 ` tom st denis
2004-07-07 16:30 ` Gabriel Paubert [this message]
2004-07-07 18:41 ` tom st denis
2004-07-07 18:47 ` Christoph Hellwig
2004-07-07 18:53 ` tom st denis
2004-07-07 23:17 ` Harald Arnesen
2004-07-08 6:15 ` David Weinehall
2004-07-08 9:32 ` [OT] " Gabriel Paubert
2004-07-08 11:15 ` viro
2004-07-08 11:55 ` Gabriel Paubert
2004-07-08 16:41 ` Andries Brouwer
2004-07-08 17:13 ` Michael Driscoll
2004-07-08 17:16 ` Horst von Brand
2004-07-10 1:52 ` Andrew Rodland
2004-07-07 0:38 ` Richard B. Johnson
2004-07-07 4:52 ` David Eger
2004-07-07 11:40 ` Richard B. Johnson
-- strict thread matches above, loose matches on Subject: below --
2004-07-07 2:05 Ray Lee
2004-07-07 3:02 ` viro
2004-07-07 5:58 ` Alexandre Oliva
2004-07-07 6:12 ` Ray Lee
2004-07-07 5:55 ` Alexandre Oliva
2004-07-07 6:08 ` Ray Lee
2004-07-07 6:48 ` viro
2004-07-07 17:58 ` Alexandre Oliva
2004-07-12 17:31 ` H. Peter Anvin
2004-07-07 7:30 ` Tomas Szepe
2004-07-07 14:34 ` Jan-Benedict Glaw
2004-07-12 17:50 ` H. Peter Anvin
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=20040707163048.GA30840@iram.es \
--to=paubert@iram.es \
--cc=linux-kernel@vger.kernel.org \
--cc=tomstdenis@yahoo.com \
/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