From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 40C18BDCB for ; Thu, 8 Sep 2005 09:50:37 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j887oaBS001622 for ; Thu, 8 Sep 2005 09:50:36 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA01966 for ; Thu, 8 Sep 2005 09:50:35 +0200 (MET DST) Received: from will.iki.fi (will.iki.fi [217.169.64.20]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j887oZgV001617 for ; Thu, 8 Sep 2005 09:50:35 +0200 Received: from acerf.exomi.com (fa-3-0-0.fw.exomi.com [217.169.64.99]) by will.iki.fi (Postfix) with ESMTP id 8DF9B18; Thu, 8 Sep 2005 10:50:29 +0300 (EEST) Subject: Re: [Caml-list] Re: 64 bit windows From: Ville-Pertti Keinonen To: skaller Cc: Niall Dalton , caml-list@inria.fr In-Reply-To: <1126126291.28300.13.camel@rosella.wigram> References: <431DB63E.8070909@xrnd.com> <431EFAEF.9020209@xrnd.com> <1126126291.28300.13.camel@rosella.wigram> Content-Type: text/plain Date: Thu, 08 Sep 2005 10:50:29 +0300 Message-Id: <1126165829.732.27.camel@acerf.exomi.com> Mime-Version: 1.0 X-Mailer: Evolution 2.2.3 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 431FED4C.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 431FED4B.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 vastly:01 pointers:01 integers:01 sizeof:01 sizeof:01 garbage:01 pointers:01 integers:01 wrote:01 unix:01 unix:01 assertions:01 integer:01 ints:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 On Thu, 2005-09-08 at 06:51 +1000, skaller wrote: > Actually MS decision is vastly more sensible than the gnu choice: It's not a GNU choice, it's what almost every vendor of 64-bit systems has used for more than a decade. It's nice to have a standard integer type for 64-bit values; C99 still isn't sufficiently established and C++ has no suitable standard types other than long. The Microsoft decision is only sensible in the context where Microsoft makes their decisions (only Windows matters, incompatibility with the rest of the world is good). > The real 'gotcha' is the Unix programmers that decided > it was OK to use 32 bit ints as addresses .. their code > will break under both models. It's also sometimes necessary to represent pointers as integers. I've seen more code that uses long for this purpose than int, often with assertions to ensure that sizeof(long) == sizeof(void *). All of my Unix C code works just by recompiling for amd64. On an LLP64 system, many things would break (garbage collectors and such where representing pointers as integers is necessary). Personally, I'm very happy that DEC, SGI, Sun, IBM, HP and Apple have all went with LP64.