public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <matthew@wil.cx>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jan Engelhardt <jengelh@computergmbh.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Arch Mailing List <linux-arch@vger.kernel.org>
Subject: Re: [PATCH 01/24] types: create <asm-generic/int-*.h>
Date: Fri, 25 Apr 2008 12:52:51 -0600	[thread overview]
Message-ID: <20080425185251.GL14990@parisc-linux.org> (raw)
In-Reply-To: <alpine.LFD.1.10.0804251133100.2779@woody.linux-foundation.org>

On Fri, Apr 25, 2008 at 11:36:26AM -0700, Linus Torvalds wrote:
> On Fri, 25 Apr 2008, Jan Engelhardt wrote:
> > long long is 64 bits on both 32 and 64, is not it?
> > If so, the split between 32 and 64 should not be necessary.
> 
> They may be the same size, but there are still pure C-level _type_ 
> differences that the compiler will warn about.
> 
> This is the same issue as a 32-bit type on x86-32: is it an "int" or a 
> "long"? From a pure size perspective it shouldn't matter, but if you pass 
> a pointer to it, or use it in a "printf()", it matters a whole lot, 
> because the compiler will complain if you use the wrong version.
> 
> So on some 32-bit architectures, "size_t" is "unsigned int", on others it 
> is "unsigned long", and you have to get it right in order to avoid 
> complaints. 
> 
> The exact same thing is true about "long" vs "long long" on 64-bit 
> architectures. They may have the same size, but they don't have the same 
> type.

So ... given all this, why do we define s64 to be 'long' on some
architectures and 'long long' on others?  It seems to actively _hinder_
passing it to printf(), so there must be some other good reason that
I'm missing to not make it 'long long' everywhere.

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

  reply	other threads:[~2008-04-25 19:07 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-24 23:05 [PATCH 00/24] Unify integer type definitions, and add fixed type constructor macros H. Peter Anvin
     [not found] ` <1209078352-7593-2-git-send-email-hpa@zytor.com>
2008-04-24 23:05   ` [PATCH 01/24] types: create <asm-generic/int-*.h> H. Peter Anvin
2008-04-24 23:05     ` [PATCH 02/24] alpha: types: use <asm-generic/int-*.h> for the alpha architecture H. Peter Anvin
2008-04-24 23:05       ` H. Peter Anvin
2008-04-24 23:05         ` [PATCH 03/24] arm: types: use <asm-generic/int-*.h> for the arm architecture H. Peter Anvin
2008-04-24 23:05           ` H. Peter Anvin
2008-04-24 23:05             ` [PATCH 04/24] avr32: types: use <asm-generic/int-*.h> for the avr32 architecture H. Peter Anvin
2008-04-24 23:05               ` H. Peter Anvin
2008-04-24 23:05                 ` [PATCH 05/24] blackfin: types: use <asm-generic/int-*.h> for the blackfin architecture H. Peter Anvin
2008-04-24 23:05                   ` H. Peter Anvin
2008-04-24 23:05                     ` [PATCH 06/24] cris: types: use <asm-generic/int-*.h> for the cris architecture H. Peter Anvin
2008-04-24 23:05                       ` H. Peter Anvin
2008-04-24 23:05                         ` [PATCH 07/24] frv: types: use <asm-generic/int-*.h> for the frv architecture H. Peter Anvin
2008-04-24 23:05                           ` H. Peter Anvin
2008-04-24 23:05                             ` [PATCH 08/24] h8300: types: use <asm-generic/int-*.h> for the h8300 architecture H. Peter Anvin
2008-04-24 23:05                               ` H. Peter Anvin
2008-04-24 23:05                                 ` [PATCH 09/24] ia64: types: use <asm-generic/int-*.h> for the ia64 architecture H. Peter Anvin
2008-04-24 23:05                                   ` H. Peter Anvin
2008-04-24 23:05                                     ` [PATCH 10/24] m32r: types: use <asm-generic/int-*.h> for the m32r architecture H. Peter Anvin
2008-04-24 23:05                                       ` H. Peter Anvin
2008-04-24 23:05                                         ` [PATCH 11/24] m68k: types: use <asm-generic/int-*.h> for the m68k architecture H. Peter Anvin
2008-04-24 23:05                                           ` H. Peter Anvin
2008-04-24 23:05                                             ` [PATCH 12/24] mips: types: use <asm-generic/int-*.h> for the mips architecture H. Peter Anvin
2008-04-24 23:05                                               ` H. Peter Anvin
2008-04-24 23:05                                                 ` [PATCH 13/24] mn10300: types: use <asm-generic/int-*.h> for the mn10300 architecture H. Peter Anvin
2008-04-24 23:05                                                   ` H. Peter Anvin
2008-04-24 23:05                                                     ` [PATCH 14/24] parisc: types: use <asm-generic/int-*.h> for the parisc architecture H. Peter Anvin
2008-04-24 23:05                                                       ` H. Peter Anvin
2008-04-24 23:05                                                         ` [PATCH 15/24] powerpc: types: use <asm-generic/int-*.h> for the powerpc architecture H. Peter Anvin
2008-04-24 23:05                                                           ` H. Peter Anvin
2008-04-24 23:05                                                             ` [PATCH 16/24] s390: types: use <asm-generic/int-*.h> for the s390 architecture H. Peter Anvin
2008-04-24 23:05                                                               ` H. Peter Anvin
2008-04-24 23:05                                                                 ` [PATCH 17/24] sh: types: use <asm-generic/int-*.h> for the sh architecture H. Peter Anvin
2008-04-24 23:05                                                                   ` H. Peter Anvin
2008-04-24 23:05                                                                     ` [PATCH 18/24] sparc: types: use <asm-generic/int-*.h> for the sparc architecture H. Peter Anvin
2008-04-24 23:05                                                                       ` H. Peter Anvin
2008-04-24 23:05                                                                         ` [PATCH 19/24] sparc64: types: use <asm-generic/int-*.h> for the sparc64 architecture H. Peter Anvin
2008-04-24 23:05                                                                           ` H. Peter Anvin
2008-04-24 23:05                                                                             ` [PATCH 20/24] v850: types: use <asm-generic/int-*.h> for the v850 architecture H. Peter Anvin
2008-04-24 23:05                                                                               ` [PATCH 21/24] x86: types: use <asm-generic/int-*.h> for the x86 architecture H. Peter Anvin
2008-04-24 23:05                                                                                 ` H. Peter Anvin
2008-04-24 23:05                                                                                   ` [PATCH 22/24] xtensa: types: use <asm-generic/int-*.h> for the xtensa architecture H. Peter Anvin
2008-04-24 23:05                                                                                     ` H. Peter Anvin
2008-04-24 23:05                                                                                       ` [PATCH 23/24] types: add C99-style constructors to <asm-generic/int-*.h> H. Peter Anvin
2008-04-24 23:05                                                                                         ` [PATCH 24/24] Use U64_C() instead of casts in kernel/time.c H. Peter Anvin
2008-04-25  0:44                                                                           ` [PATCH 19/24] sparc64: types: use <asm-generic/int-*.h> for the sparc64 architecture David Miller
2008-04-25  0:44                                                                       ` [PATCH 18/24] sparc: types: use <asm-generic/int-*.h> for the sparc architecture David Miller
2008-04-25  1:37                                   ` [PATCH 09/24] ia64: types: use <asm-generic/int-*.h> for the ia64 architecture Luck, Tony
2008-04-25  3:42                                     ` H. Peter Anvin
2008-04-25  4:10                                     ` [PATCH 24/24] Use U64_C() instead of casts in kernel/time.c H. Peter Anvin
2008-04-25  4:44                                       ` Luck, Tony
2008-04-25  0:14           ` [PATCH 03/24] arm: types: use <asm-generic/int-*.h> for the arm architecture Lennert Buytenhek
2008-04-25 18:27     ` [PATCH 01/24] types: create <asm-generic/int-*.h> Jan Engelhardt
2008-04-25 18:36       ` Linus Torvalds
2008-04-25 18:52         ` Matthew Wilcox [this message]
2008-04-25 19:03           ` Linus Torvalds
2008-04-25 19:10           ` H. Peter Anvin
2008-04-25 19:28             ` Matthew Wilcox
2008-04-25 19:38               ` H. Peter Anvin
2008-04-25 19:43                 ` Jan Engelhardt
2008-04-28 13:55                   ` David Howells
2008-04-25 19:45                 ` Linus Torvalds
2008-04-25 19:48                   ` H. Peter Anvin
2008-04-25 19:49                   ` Harvey Harrison
2008-04-25 20:30       ` David Miller
2008-04-25  0:15   ` Lennert Buytenhek
2008-04-25  7:17 ` [PATCH 00/24] Unify integer type definitions, and add fixed type constructor macros Geert Uytterhoeven
2008-04-25  7:49   ` Andreas Schwab
2008-04-25  8:15 ` Arnd Bergmann
2008-04-27 17:44   ` 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=20080425185251.GL14990@parisc-linux.org \
    --to=matthew@wil.cx \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=jengelh@computergmbh.de \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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