From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id E47807EE9C for ; Mon, 28 Nov 2016 16:51:27 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gabriel.scherer@gmail.com; spf=Pass smtp.mailfrom=gabriel.scherer@gmail.com; spf=None smtp.helo=postmaster@mail-io0-f171.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.223.171; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.223.171 as permitted sender) identity=mailfrom; client-ip=209.85.223.171; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-io0-f171.google.com) identity=helo; client-ip=209.85.223.171; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-io0-f171.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3Adt53fhMBBm1/hPNqslIl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0I/3yrarrMEGX3/hxlliBBdydsKMfzbGI+Py/EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6zbL9oIhi7rArdu8YUjIB/Nqs/1xzFr2dSde?= =?us-ascii?q?9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLY?= =?us-ascii?q?TQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVQTlgz?= =?us-ascii?q?kbOTEn7G7Xi9RwjKNFrxKnuxx/2JPfbIWMOPZjYq/RYdYWSGxGUchMSixBGZu8?= =?us-ascii?q?YJUTAOodM+hYqIz9qEEPrRu4GAKgAOzixztNinLwwKY00fkuERve0QMiEdIAsH?= =?us-ascii?q?raotboOqkMTe+417XIwSnZYv9KxTvx9IrFfxY8qv+MR7Jwds/RxFEuGQzflVqQ?= =?us-ascii?q?s43lMC2R1u8QrmaU8+pgWvy1i2E5sQF6vz+ixsg2hYbSnIIVy07L9SFjzIYuOd?= =?us-ascii?q?K4SFB0YcS6H5tKrCyaOI52TdkjQ2Fsoio11roGuZuicSUM1Z8pyRnfa/mdfIiJ?= =?us-ascii?q?5BLuTOeRITFihHJkYr2znRiy8VK4xu3zV8m0zFZKrjdendXWqn8N0BnT5tCHS/?= =?us-ascii?q?Rn/keh3jGP2xrP5eFDJEA5k7fQJZ05wrMoiJYfrUDOEjX1lUj2lqOaaFso9+ay?= =?us-ascii?q?5+j6YLjqu5mRPJJuhA7kKKQhgMm/DPw4MgcQW2ib/vyx1Lj58k34RLVGl/w2kq?= =?us-ascii?q?7FvJzDK8QXu6y0DxJP3oYs7Ba/CDim0NAGknUdMF1FfxeHg5DoO1HIPv/4Ee+y?= =?us-ascii?q?j0qwnDpv3fzLPb3sDo/TInTdnrrtZ6tx5kxBxAYryNBQ/ZNUCrUPIPLpXU/xsc?= =?us-ascii?q?TVDhAjPAOv2ebnCcty1ocEVWKUHqCZML3dsUWW6eI1OOSMa4oVtyz8K/gh/fLh?= =?us-ascii?q?kXg5mVoFcamzwZQXcGy4HuhhI0iBfXXjmNIBEWMTsgo6Tezqk0GCXCVIZ3eyWq?= =?us-ascii?q?I8/is0BJinDYfFXICtgaaO0D21Hp1MNSh6DQWgGGnpe82tX/MXbzqKapttiDVB?= =?us-ascii?q?U7W+UKck2A2nrxPzwLkhJe3RrH42r5Xmgfd87ffSmBV6zjd0At6QySnZQGh+hG?= =?us-ascii?q?IFQ3kt16Byu0Fn4liG2Kl8xfdfEIoAtLtyTg4mOMuEnKRBANfoV1eEI46E?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AZAQBVUTxYhqvfVdFeHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgn8OAQEBAQE9OoEDB6RagjeGKodLhEiCBx0LhXkCgWgHQBMBAQE?= =?us-ascii?q?BAQEBAQEBARIBAQEICwsJHTCCMxqCHAEBBAECDxEdARsSCwEDDAYFCwMKAgIJH?= =?us-ascii?q?QICIgERAQUBChIGEwgKCAiIMAEDFw6fCIEyPzKLUIIEBQEfgw0Fg1gKGScDClS?= =?us-ascii?q?DBQEBAQEBAQQBAQEBAQEZAgYSeYUzhFuHTYJdBYcIDIhZimeBdoRSij6CQY1xS?= =?us-ascii?q?YkWhBKCSBMegRMfAYEqQBGDFyCCBiA0iA0BAQE?= X-IPAS-Result: =?us-ascii?q?A0AZAQBVUTxYhqvfVdFeHAEBBAEBCgEBFwEBBAEBCgEBgn8?= =?us-ascii?q?OAQEBAQE9OoEDB6RagjeGKodLhEiCBx0LhXkCgWgHQBMBAQEBAQEBAQEBARIBA?= =?us-ascii?q?QEICwsJHTCCMxqCHAEBBAECDxEdARsSCwEDDAYFCwMKAgIJHQICIgERAQUBChI?= =?us-ascii?q?GEwgKCAiIMAEDFw6fCIEyPzKLUIIEBQEfgw0Fg1gKGScDClSDBQEBAQEBAQQBA?= =?us-ascii?q?QEBAQEZAgYSeYUzhFuHTYJdBYcIDIhZimeBdoRSij6CQY1xSYkWhBKCSBMegRM?= =?us-ascii?q?fAYEqQBGDFyCCBiA0iA0BAQE?= X-IronPort-AV: E=Sophos;i="5.31,564,1473112800"; d="scan'208";a="202019822" Received: from mail-io0-f171.google.com ([209.85.223.171]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 28 Nov 2016 16:51:26 +0100 Received: by mail-io0-f171.google.com with SMTP id j65so236978933iof.0 for ; Mon, 28 Nov 2016 07:51:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=+EptR79u42D/ux33ruCprX56iO22inNGAixHW01zl/0=; b=PYcOpRIe8QxtOAhGH14797zNkxpdALeyF8L/q4kMcwNvTLYumVH8r49pJFrDr8Lf3p 9m1wc+PM2bAMN4Brf8REIYU/vORC0dgLr8JrhDWzaT+bkQoGD3wdXZsHdhyNFcPs9+Es Tdri/+c7YjFM4Z+1BBiWNnz4Q6EW/vG2X92I9j1L9cFWq+1PZYP0YQRtAl0LPnxspFGm ZZSZ9xG9WqxZjDS+01ogPK8QOmHRmKlOceVM2VT8+5e52Bgy6myTMGl7Km0OhfI0MAni /XGsLKGHCwc6VVrSOfc1jLoqBdHEmB7r+PQ2W5tG58fh/nPJveFamrM1xIQWGMan6Fqz uhXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=+EptR79u42D/ux33ruCprX56iO22inNGAixHW01zl/0=; b=cNGstZJ82GLxLSkL+Bmm0fUWd9CTO5/ITB5ZSbwus5OkytFrYNgbpaYCOUl3l0QDvH OmLt90CjWItxCSpth3Xkwh2HQWe0szjRC6YFOra06msbPb69r4/7/EJ27CnELAsIJnaO DVYsm5BumvDOXWczvETDJ0Zu5hwdOBZJsA7IcxnyfRyHYjoSDZUROo3YeKy8937mgfM4 I5gG9tmGHtihyBZYMN3B/g8d2C4ra6zwMKDltTs5uttdgrdpNPjZYQbmAUEgHKQT3iUN Ez78dPxk57XouplsB7ySZFQ7Fhybuc/CYV4Llvn2hRjjSNZLD8+kVx0mL+oD5wThUrCw wVWg== X-Gm-Message-State: AKaTC00JVWkjT/o9XnVa91aYTaQu+/adAkJ1s7OfvRfRSuBUyMeNV67sO0mrd+s37hNo++lTGM68k1iAYUr4cg== X-Received: by 10.107.2.210 with SMTP id 201mr17345326ioc.67.1480348285076; Mon, 28 Nov 2016 07:51:25 -0800 (PST) MIME-Version: 1.0 Received: by 10.79.18.131 with HTTP; Mon, 28 Nov 2016 07:50:44 -0800 (PST) In-Reply-To: References: From: Gabriel Scherer Date: Mon, 28 Nov 2016 10:50:44 -0500 Message-ID: To: David Allsopp Cc: immanuel litzroth , OCaML List Mailing Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] Raising invalid_argument with a constructed string. It may make sense to have caml_{failwith,invalid_argument}_value variants of the exception-raising functions that take a parameter, and be implemented using caml_raise_with_arg(s) directly instead of caml_raise_with_string. Could you open a mantis issue or submit a github pull request to track the question and continue discussion? http://caml.inria.fr/mantis/ https://github.com/ocaml/ocaml/pulls On Mon, Nov 28, 2016 at 10:43 AM, David Allsopp wrote: > immanuel litzroth wrote: >> caml_invalid_argument(str) is no return and does not free it's >> argument. >> So calling it with a string constructed dynamically will mean it'll never >> get freed. >> I could construct an ocaml string and pass that to caml_raise_with_arg, >> but I don't seem to be able to get to the caml_exn_Invalid_argument from >> c. Am I missing something? > > Possibly - it's surprising that you want dynamic strings with an exception such as Invalid_argument which is never supposed to be caught and similarly with Failure where you shouldn't be matching on the string argument. > > At a push, you can retrieve the Invalid_argument exception from caml_global_data (see byterun/fail.c), but that is essentially hacking the runtime to do so... > > > David > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs