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_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15212 invoked from network); 3 Jan 2023 19:44:35 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 3 Jan 2023 19:44:35 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 341CE42511; Wed, 4 Jan 2023 05:44:28 +1000 (AEST) Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by minnie.tuhs.org (Postfix) with ESMTPS id 5D50342506 for ; Wed, 4 Jan 2023 05:44:22 +1000 (AEST) Received: by mail-ej1-f41.google.com with SMTP id vm8so69708675ejc.2 for ; Tue, 03 Jan 2023 11:44:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/gerMBsAGFWIJBGcWCFINX7vyjzEASBRugE7IuC+FZY=; b=3q03eJOj6eMfZS+O0LyLmvpKGJhfEtuVyjdc+ui973BVyp4JqP3TufEYePKoND/b6Q ZHTvw2GLb/Acob25gL7HfM68j4QSjSZ81G0nxiGmIc6+S4CQZE7zTl2dkvHFhaHnIJtk X6cEIGMKSHbEHu/TM+N85qEqRsPILCHHta20BCejaLwBYIlEUl+5j1bOscQnIN5JVHNZ v5z5Ummy0OiaHjAEgSzpDeN/IaPcIlj+E5x34oLVCh5fhpjroh8/qiIZbKwB1N23PHtF tZm3p0bRj5Ur6AjA5zsppq60FARTf7I74lk7UFLnc/d+iE7NiYwZ11BvbkpnJEkwGPP6 V8Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/gerMBsAGFWIJBGcWCFINX7vyjzEASBRugE7IuC+FZY=; b=w1z7dPZTsx6NsfzHbdajuTGuV8l+iCCO+nZk77O1m4q9+8XjIWZjio9gqMB1dEf0Kn EqgjDg/WvZVh9rG1tZfSeh/QIFpeZVi+s3DkO9beFnlvkz8AZsEpx7CwWY16hwTYmkoT FbVMW2kNa061bvUvuW0VVX2SfgoGO+OGm9FcRQKvBvmBGs3e6/LoSb0PMnM7588YcNZ7 +Se4ryCHZ3NEkHVpawqXzeuy1v1wTxT8/EKY1cGZckYblOZ54Q3T35NOpSu9Lnv0Bgb9 otqGIJavf6asF/jqf0iFEjb8BMI8bv13iYpALN7sC9XJLpdlfvhUEriy1lLWxOFDuN1B /ebg== X-Gm-Message-State: AFqh2kpYpE/GDJJEAn5Z3Ct45CspPpX36WgNdPxDazMZq8nb+T/J/zhw NZeiLZMJrNzo17KPlfY4MFaE/+HTDSV7hF/RSwvtxw== X-Google-Smtp-Source: AMrXdXuR3FomMVQ5U/UnFIkjVb6Yh25eP0CHo2U32U5eivR+lPxQYwIEthOfiwO3hTZwCKgjQfUx//dzpbEQwX7bUQw= X-Received: by 2002:a17:906:9f1a:b0:7c1:535:f2fb with SMTP id fy26-20020a1709069f1a00b007c10535f2fbmr3766172ejc.252.1672775000994; Tue, 03 Jan 2023 11:43:20 -0800 (PST) MIME-Version: 1.0 References: <52FB6638-AEFF-4A4F-8C2E-32089D577BA0@planet.nl> <464819f0-d2f6-2a60-6481-a194f4428b4d@case.edu> <20221230200246.GW5825@mcvoy.com> <88f83b4c-b3f9-ed87-b2fa-560fb369742a@makerlisp.com> <20221231035931.GG5825@mcvoy.com> <528f0c53-ccc2-88a1-5a7b-120362c648dd@mhorton.net> <20230102165120.GK25547@mcvoy.com> In-Reply-To: From: Warner Losh Date: Tue, 3 Jan 2023 12:19:42 -0700 Message-ID: To: Paul Winalski Content-Type: multipart/alternative; boundary="000000000000b94b2905f16147e1" Message-ID-Hash: OHYGESTJ46XQRLIQJKDTM3F4BKTQEF36 X-Message-ID-Hash: OHYGESTJ46XQRLIQJKDTM3F4BKTQEF36 X-MailFrom: wlosh@bsdimp.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: The Eunuchs Hysterical Society X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: A few comments on porting the Bourne shell List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --000000000000b94b2905f16147e1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 3, 2023, 10:09 AM Paul Winalski wrote= : > On 1/2/23, Clem Cole wrote: > > > > FWIW: In my start-up times, under the same rules of being disciplined, = as > > VP of Engineering, I insisted, all C and C++ code was required to > > 'flex-e-lint' warning clean. I gave my folks a 3-week week slip to > clean > > everything up. I was cursed during that time. But guess what, the > > outstanding bug list dropped to =E2=85=92 of what it had been. Created= quite a > few > > true believers. And we made those 3 weeks back before we were done. > > This was also the policy in DEC's compiler and software development > tools groups. This was mainly VMS stuff and we didn't have flex and > lint, but as Clem can attest the C and C++ compilers had very > extensive warning capabilities. It was group policy that all code had > to compile cleanly, without triggering diagnostic messages, before > check-in was allowed. Once you get through the initial cleanup of > existing code, this policy pays back big time in avoidance of nasty > Heisenbugs. > Not all fixes to appease warnings fix anything. But enough do that it's worth it. The one caveat here is that people must understand the warning and that any change makes things better. There is nothing worse than just tossing a cast in to brute force it, only to later discover it's the wrong cast or you needed a different semantic change. Warner > --000000000000b94b2905f16147e1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, Jan 3, 2023, 10:09 AM Paul Winalski <paul.winalski@gmail.com> wrote:=
On 1/2/23, Clem Cole <clemc@ccc.co= m> wrote:
>
> FWIW: In my start-up times, under the same rules of being disciplined,= as
> VP of Engineering, I insisted, all C and C++ code was required to
> 'flex-e-lint' warning clean.=C2=A0 =C2=A0I gave my folks a 3-w= eek week slip to clean
> everything up.=C2=A0 =C2=A0I was cursed during that time.=C2=A0 =C2=A0= But guess what, the
> outstanding bug list dropped to =E2=85=92 of what it had been.=C2=A0 C= reated quite a few
> true believers.=C2=A0 And we made those 3 weeks back before we were do= ne.

This was also the policy in DEC's compiler and software development
tools groups.=C2=A0 This was mainly VMS stuff and we didn't have flex a= nd
lint, but as Clem can attest the C and C++ compilers had very
extensive warning capabilities.=C2=A0 It was group policy that all code had=
to compile cleanly, without triggering diagnostic messages, before
check-in was allowed.=C2=A0 Once you get through the initial cleanup of
existing code, this policy pays back big time in avoidance of nasty
Heisenbugs.

Not all fixes to appease warnings fix anything. But enough do th= at it's worth it.

Th= e one caveat here is that people must understand the warning and that any c= hange makes things better. There is nothing worse than just tossing a cast = in to brute force it, only to later discover it's the wrong cast or you= needed a different semantic change.=C2=A0

Warner
--000000000000b94b2905f16147e1--