From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p7GFpmPA023323 for ; Tue, 16 Aug 2011 17:51:48 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAMGRSk7V+6tl/2dsb2JhbABBqDd3gUABAQU6TwtGFCghiAW5WYVpXwSkCQ X-IronPort-AV: E=Sophos;i="4.67,381,1309730400"; d="scan'208";a="105603051" Received: from eneide.happyleptic.org ([213.251.171.101]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 16 Aug 2011 17:51:43 +0200 Received: from extranet.securactive.org ([82.234.213.170] helo=ccellier.rd.securactive.lan) by eneide.happyleptic.org with esmtp (Exim 4.72) (envelope-from ) id 1QtLva-0005ZJ-Kg for caml-list@inria.fr; Tue, 16 Aug 2011 17:51:42 +0200 Received: from rixed by ccellier.rd.securactive.lan with local (Exim 4.72) (envelope-from ) id 1QtLvW-0004nG-6z for caml-list@inria.fr; Tue, 16 Aug 2011 17:51:38 +0200 Date: Tue, 16 Aug 2011 17:51:38 +0200 From: rixed@happyleptic.org To: Caml List Message-ID: <20110816155137.GA18365@ccellier.rd.securactive.lan> References: <20110816152550.GA21081@annexia.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110816152550.GA21081@annexia.org> User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: [Caml-list] Interfacing with C: bad practice -[ Tue, Aug 16, 2011 at 04:25:50PM +0100, Richard W.M. Jones ]---- > I think this must be a bug in your C compiler. The address of list is > stashed in the roots struct, so the C compiler should know that list > can be changed by the call to caml_copy_string. Are you certain that the C abstract machine allow for any value stored within the frameset of a function to be changed by a function call when the address of the variable at hand is not passed to this function? And mandate the C compiler to handle this scenario? In other words, mandate the C compiler to reload from the stack all values between any function call? I don't think so ; or more likely I have not understood your view on this matter?