From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26941 invoked from network); 13 Mar 2023 17:10:24 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 13 Mar 2023 17:10:24 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 7520E4154D; Tue, 14 Mar 2023 03:10:22 +1000 (AEST) Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by minnie.tuhs.org (Postfix) with ESMTPS id 2198541549 for ; Tue, 14 Mar 2023 03:10:19 +1000 (AEST) Received: by mail-pf1-x429.google.com with SMTP id fd25so8089097pfb.1 for ; Mon, 13 Mar 2023 10:10:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678727418; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=y/D7lWrm+y4THm65dtOxy+ev2Ho04emEubsZXiqe1W0=; b=SyathfhFCVtDkaxKftIYc0bbeCcZiV/y/xVLdUswg8Xbnyz+iuCLQ1J3IsS6vFnGPI UGtFgBdrVj5NlduX5nm8nI5SpPGDV1M/zSqOmx8/R2L1y8H4wCJdKvvZJHXun9a9fypy LqAhQIotY/0NQDWBdW3IPE1DCs57+b22B0DRMUaqLeQiRD+sKsMkntdS00I43QTO3FcT j9yh+PWVu/IdVvAQUOSPPqNuC7a854ZiQawLUuC4byBTCD950z1HGd4SHcJUpwruxVAk Us4sFUzYM57t9rCgn1N3aFFy4/Zr+m9XgX0Eo3EzFB0XIEMoaPVszyd9Ix3PdnGR/OBs np+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678727418; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=y/D7lWrm+y4THm65dtOxy+ev2Ho04emEubsZXiqe1W0=; b=OXVDK5ukGjjNLxiepefJZezAeX8VS1gkMsQ0t6aCe/NxwkiHGQl+BLP9ThDClk4Vfm OJscQB4Gv5iWEmWJRjOJQGY+avjV75Q0OavDsZ/IzL8lZn5ZfTs7ni+mE9s0C84WKN6T w4pZ2CZ09eBfdUunrrfo68SzNrcUnU1f1KDZBrdGCqBPf4AiT2aIkqoJvnhMkW7j+/A8 iIrffONMCfXnSswP2jfpBCZwx3HceOmxfwSve845CoEzdEHNUIVavFt64k4ZclvFmiDm PfykDBJkddN+XblSc3xO2T/ufU3vOU9ywafV3XpUrJ63pIlaOVhIvznwUgzG25Sf9llN Jr6Q== X-Gm-Message-State: AO0yUKXZefepkadtx8r48KPB6RjPasHYy9LGf99X5+v/WQUbNfxy/ZLS Y3o+J2FXCzPRAaIJ2c6r1uVil5SHYL/fqZ21qCWT+Uoh X-Google-Smtp-Source: AK7set/yYCKCe1ppYpX/0EMSYhJ86Eon7EcuaV1QrWTOZpHfmcPMh0wmK1QWdLGaaGnz401kT5Z+VONNP4Won/5Ba6Q= X-Received: by 2002:a05:6a00:1151:b0:5a8:aaa1:6c05 with SMTP id b17-20020a056a00115100b005a8aaa16c05mr5387716pfm.2.1678727418505; Mon, 13 Mar 2023 10:10:18 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:6a10:ed0c:b0:3bc:b7f6:895e with HTTP; Mon, 13 Mar 2023 10:10:17 -0700 (PDT) In-Reply-To: <20230313164718.4169E21F37@orac.inputplus.co.uk> References: <69248852-1701-4938-8A4D-3B27F3018E83@iitbombay.org> <2CBA9AD7-BC25-40BF-ADE6-A6494D95A4B6@iitbombay.org> <20230313164718.4169E21F37@orac.inputplus.co.uk> From: Paul Winalski Date: Mon, 13 Mar 2023 13:10:17 -0400 Message-ID: To: Ralph Corderoy Content-Type: text/plain; charset="UTF-8" Message-ID-Hash: KBNDJZ7ZXHEZ6DTC5QVEENX3A2VITW4G X-Message-ID-Hash: KBNDJZ7ZXHEZ6DTC5QVEENX3A2VITW4G X-MailFrom: paul.winalski@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: coff@tuhs.org X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [COFF] Re: Conditions, AKA exceptions. List-Id: Computer Old Farts Forum Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On 3/13/23, Ralph Corderoy wrote: > >> That said, I absolutely loathe exceptions with all my heart. > > I'm not a fan either. Exceptions play merry hell with compiler optimizations. If you are in a piece of code where an exception can occur, unless you have knowledge of the global side-effects of the handler(s) that might get invoked you must abandon any attempts to do data flow analysis of global data items. The C++ Standard Library is fond of using throw and catch exception handling. An optimizing compiler pretty much has to throw all data flow optimization involving global variables, or things passed to a callee by pointer, if anything in the call chain calls a C++ Standard Library routine. >From a compiler writer's perspective, the name STD for the C++ Standard Library is most apt. STD routines are a disease that infects anything that touches them. -Paul W.