From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.5 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 5B3691F47C for ; Fri, 20 Jan 2023 03:40:36 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=cs.ucla.edu header.i=@cs.ucla.edu header.a=rsa-sha256 header.s=78364E5A-2AF3-11ED-87FA-8298ECA2D365 header.b=uMufjxst; dkim-atps=neutral Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pIiGL-0000Mf-PE; Thu, 19 Jan 2023 22:40:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pIiGK-0000MX-1M for bug-gnulib@gnu.org; Thu, 19 Jan 2023 22:40:20 -0500 Received: from zimbra.cs.ucla.edu ([131.179.128.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pIiGH-0003O9-Tg for bug-gnulib@gnu.org; Thu, 19 Jan 2023 22:40:19 -0500 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 35C46160040; Thu, 19 Jan 2023 19:40:15 -0800 (PST) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id dsB9iCJsCTZP; Thu, 19 Jan 2023 19:40:14 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 0EE6316005E; Thu, 19 Jan 2023 19:40:14 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.9.2 zimbra.cs.ucla.edu 0EE6316005E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=78364E5A-2AF3-11ED-87FA-8298ECA2D365; t=1674186014; bh=n3KVQHtVL3a+teE+juWZ726ZUE+7qQpFCv0/KHuQ5TY=; h=Content-Type:Message-ID:Date:MIME-Version:Subject:To:From; b=uMufjxstvRMao3qMFBop7whfMRRhyEx6t319gv627XQsVgf7NHPMtUgNXfjAXvm6q vGB5Kfv/LEwMv6AhJCFqlUGYBO/uaXcnivlb0SU2QT2Fmc8XF8ykWEYsz/0aQ753F4 xqsVmzIyMSAo/OYdG7UohOAxhBFThzADlghNA2sc= X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id z46hXjBEzl62; Thu, 19 Jan 2023 19:40:13 -0800 (PST) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id D8784160040; Thu, 19 Jan 2023 19:40:13 -0800 (PST) Content-Type: multipart/mixed; boundary="------------gT86aztRnwNFJIBwhdc5OBPw" Message-ID: <540715fe-d55f-ab64-0d0e-9942ab04fbc1@cs.ucla.edu> Date: Thu, 19 Jan 2023 19:40:13 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: Making _Noreturn a no-op in < Clang 16? Content-Language: en-US To: Sam James Cc: Gnulib bugs , =?UTF-8?Q?Arsen_Arsenovi=c4=87?= References: <575c1ae6-d77d-9001-9f9b-a803778446c6@cs.ucla.edu> <1e4c77c2-5d65-0e73-84b8-37d888053a26@cs.ucla.edu> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: Received-SPF: pass client-ip=131.179.128.68; envelope-from=eggert@cs.ucla.edu; helo=zimbra.cs.ucla.edu X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.094, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org This is a multi-part message in MIME format. --------------gT86aztRnwNFJIBwhdc5OBPw Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/19/23 13:30, Sam James wrote: > Right, I just meant that we don't tend to care about quieting warnings with older compilers, > and it's not useful from a static analysis perspective here either given that older Clangs can't be trusted. > > It is of course useful as an attribute in general. I don't think either of these things are really > a downside to committing the workaround here. If we get folks who get build failures with extra warnings > enabled, we can tell them to upgrade their compiler. But clang 16 isn't out yet, so we can't reasonably tell people to upgrade. And even if it clang 16 were out, I can't reasonably tell all Emacs developers to switch to it right away. Many of them are using Apple's compiler and will upgrade whenever. Plain './configure; make' on a bleeding-edge Emacs built from Git with Clang 15 would generate 270 false alarms if we simply did "#define _Noreturn /**/", and I expect many Emacs developers would be annoyed by that (or would stop paying attention to any correct diagnostics mixed in with the flood of false positives). With that in mind, how about the attached Gnulib patch? (I haven't installed it.) The basic idea is to "#define _Noreturn /**/" on buggy clangs if a cautious builder compiles with -D_GL_WORK_AROUND_LLVM_BUG_5979. --------------gT86aztRnwNFJIBwhdc5OBPw Content-Type: text/x-patch; charset=UTF-8; name="0001-snippet-_Noreturn-work-around-Clang-_Noreturn-bug.patch" Content-Disposition: attachment; filename*0="0001-snippet-_Noreturn-work-around-Clang-_Noreturn-bug.patch" Content-Transfer-Encoding: base64 RnJvbSA5ZDNmNTMzNTg2ZTA3ZWJhMmMwOTQ1MDFjODNhMjJiNTYxY2M3NTVjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDE5IEphbiAyMDIzIDE5OjM5OjAzIC0wODAwClN1YmplY3Q6IFtQUk9Q T1NFRF0gc25pcHBldC9fTm9yZXR1cm46IHdvcmsgYXJvdW5kIENsYW5nIF9Ob3JldHVybiBi dWcKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClRoaXMgaXMgYSBiaWdn ZXItaGFtbWVyIHdvcmthcm91bmQgZm9yIHRoZSBjbGFuZyBfTm9yZXR1cm4gaXNzdWUKZml4 IGZvciBkZmEuYyBvbiAyMDIzLTAxLTAxLiAgVW5mb3J0dW5hdGVseSwgaXQgY2F1c2VzIDI3 MAotV3JldHVybi10eXBlIGFuZCAtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkIHdhcm5pbmdz IHdoZW4gYnVpbGRpbmcKYmxlZWRpbmctZWRnZSBHTlUgRW1hY3MgZnJvbSBHaXQgb24gRmVk b3JhIDM3IHdpdGggcGxhaW4K4oCYLi9jb25maWd1cmUgJiYgbWFrZeKAmS4gIFNvIHRoZSB3 b3JrYXJvdW5kIGlzIGVuYWJsZWQgb25seSBpZiB5b3UKY29tcGlsZSB3aXRoIC1EX0dMX1dP UktfQVJPVU5EX0xMVk1fQlVHXzU5NzkyLgoqIGxpYi9fTm9yZXR1cm4uaCAoX05vcmV0dXJu KToKKiBtNC9nbnVsaWItY29tbW9uLm00IChnbF9DT01NT05fQk9EWSk6CiNkZWZpbmUgX05v cmV0dXJuIHRvIGJlIGVtcHR5IGlmIGl0IGlzIENsYW5nIDE1IG9yIGVhcmxpZXIsCmFuZCBp ZiBfR0xfV09SS19BUk9VTkRfTExWTV9CVUdfNTk3OTIgaXMgZGVmaW5lZC4KLS0tCiBDaGFu Z2VMb2cgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKysKIGxpYi9fTm9yZXR1cm4uaCAg ICAgfCAgNSArKysrKwogbTQvZ251bGliLWNvbW1vbi5tNCB8ICA1ICsrKysrCiAzIGZpbGVz IGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9D aGFuZ2VMb2cKaW5kZXggZGRkOWUyYjFhYS4uNWQwYzhmN2NkNyAxMDA2NDQKLS0tIGEvQ2hh bmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIzLTAxLTE5ICBQ YXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KKworCXNuaXBwZXQvX05vcmV0dXJu OiB3b3JrIGFyb3VuZCBDbGFuZyBfTm9yZXR1cm4gYnVnCisJVGhpcyBpcyBhIGJpZ2dlci1o YW1tZXIgd29ya2Fyb3VuZCBmb3IgdGhlIGNsYW5nIF9Ob3JldHVybiBpc3N1ZQorCWZpeCBm b3IgZGZhLmMgb24gMjAyMy0wMS0wMS4gIFVuZm9ydHVuYXRlbHksIGl0IGNhdXNlcyAyNzAK KwktV3JldHVybi10eXBlIGFuZCAtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkIHdhcm5pbmdz IHdoZW4gYnVpbGRpbmcKKwlibGVlZGluZy1lZGdlIEdOVSBFbWFjcyBmcm9tIEdpdCBvbiBG ZWRvcmEgMzcgd2l0aCBwbGFpbgorCeKAmC4vY29uZmlndXJlICYmIG1ha2XigJkuICBTbyB0 aGUgd29ya2Fyb3VuZCBpcyBlbmFibGVkIG9ubHkgaWYgeW91CisJY29tcGlsZSB3aXRoIC1E X0dMX1dPUktfQVJPVU5EX0xMVk1fQlVHXzU5NzkyLgorCSogbGliL19Ob3JldHVybi5oIChf Tm9yZXR1cm4pOgorCSogbTQvZ251bGliLWNvbW1vbi5tNCAoZ2xfQ09NTU9OX0JPRFkpOgor CSNkZWZpbmUgX05vcmV0dXJuIHRvIGJlIGVtcHR5IGlmIGl0IGlzIENsYW5nIDE1IG9yIGVh cmxpZXIsCisJYW5kIGlmIF9HTF9XT1JLX0FST1VORF9MTFZNX0JVR181OTc5MiBpcyBkZWZp bmVkLgorCiAyMDIzLTAxLTE5ICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+CiAK IAlGaXggd2FybmluZ3MgZm9yIGZ1bmN0aW9ucyBpbnRyb2R1Y2VkIGluIEFuZHJvaWQgQVBJ IGxldmVsIDM0LgpkaWZmIC0tZ2l0IGEvbGliL19Ob3JldHVybi5oIGIvbGliL19Ob3JldHVy bi5oCmluZGV4IGZhMTViMWIyNWUuLjZlY2VhOThiNTQgMTAwNjQ0Ci0tLSBhL2xpYi9fTm9y ZXR1cm4uaAorKysgYi9saWIvX05vcmV0dXJuLmgKQEAgLTI2LDYgKzI2LDExIEBACiAgICAg ICAgQUlYIHN5c3RlbSBoZWFkZXIgZmlsZXMgYW5kIHNldmVyYWwgZ251bGliIGhlYWRlciBm aWxlcyB1c2UgcHJlY2lzZWx5CiAgICAgICAgdGhpcyBzeW50YXggd2l0aCAnZXh0ZXJuJy4g ICovCiAjICBkZWZpbmUgX05vcmV0dXJuIFtbbm9yZXR1cm5dXQorIyBlbGlmIChkZWZpbmVk IF9fY2xhbmdfXyAmJiBfX2NsYW5nX21ham9yX18gPCAxNiBcCisgICAgICAgICYmIGRlZmlu ZWQgX0dMX1dPUktfQVJPVU5EX0xMVk1fQlVHXzU5NzkyKQorICAgLyogQ29tcGlsZSB3aXRo IC1EX0dMX1dPUktfQVJPVU5EX0xMVk1fQlVHXzU5NzkyIHRvIHdvcmsgYXJvdW5kCisgICAg ICB0aGF0IHJhcmUgTExWTSBidWcsIHRob3VnaCB5b3UgbWF5IGdldCBtYW55IGZhbHNlLWFs YXJtIHdhcm5pbmdzLiAgKi8KKyMgIGRlZmluZSBfTm9yZXR1cm4KICMgZWxpZiAoKCFkZWZp bmVkIF9fY3BsdXNwbHVzIHx8IGRlZmluZWQgX19jbGFuZ19fKSBcCiAgICAgICAgICYmICgy MDExMTIgPD0gKGRlZmluZWQgX19TVERDX1ZFUlNJT05fXyA/IF9fU1REQ19WRVJTSU9OX18g OiAwKSBcCiAgICAgICAgICAgICB8fCAoIWRlZmluZWQgX19TVFJJQ1RfQU5TSV9fIFwKZGlm ZiAtLWdpdCBhL200L2dudWxpYi1jb21tb24ubTQgYi9tNC9nbnVsaWItY29tbW9uLm00Cmlu ZGV4IDJkYjMzNzZiMDEuLmZhODE0MjIyY2UgMTAwNjQ0Ci0tLSBhL200L2dudWxpYi1jb21t b24ubTQKKysrIGIvbTQvZ251bGliLWNvbW1vbi5tNApAQCAtMzgsNiArMzgsMTEgQEAgQUNf REVGVU4oW2dsX0NPTU1PTl9CT0RZXSwgWwogICAgICAgIEFJWCBzeXN0ZW0gaGVhZGVyIGZp bGVzIGFuZCBzZXZlcmFsIGdudWxpYiBoZWFkZXIgZmlsZXMgdXNlIHByZWNpc2VseQogICAg ICAgIHRoaXMgc3ludGF4IHdpdGggJ2V4dGVybicuICAqLwogIyAgZGVmaW5lIF9Ob3JldHVy biBbW25vcmV0dXJuXV0KKyMgZWxpZiAoZGVmaW5lZCBfX2NsYW5nX18gJiYgX19jbGFuZ19t YWpvcl9fIDwgMTYgXAorICAgICAgICAmJiBkZWZpbmVkIF9HTF9XT1JLX0FST1VORF9MTFZN X0JVR181OTc5MikKKyAgIC8qIENvbXBpbGUgd2l0aCAtRF9HTF9XT1JLX0FST1VORF9MTFZN X0JVR181OTc5MiB0byB3b3JrIGFyb3VuZAorICAgICAgdGhhdCByYXJlIExMVk0gYnVnLCB0 aG91Z2ggeW91IG1heSBnZXQgbWFueSBmYWxzZS1hbGFybSB3YXJuaW5ncy4gICovCisjICBk ZWZpbmUgX05vcmV0dXJuCiAjIGVsaWYgKCghZGVmaW5lZCBfX2NwbHVzcGx1cyB8fCBkZWZp bmVkIF9fY2xhbmdfXykgXAogICAgICAgICAmJiAoMjAxMTEyIDw9IChkZWZpbmVkIF9fU1RE Q19WRVJTSU9OX18gPyBfX1NURENfVkVSU0lPTl9fIDogMCkgXAogICAgICAgICAgICAgfHwg KCFkZWZpbmVkIF9fU1RSSUNUX0FOU0lfXyBcCi0tIAoyLjM5LjAKCg== --------------gT86aztRnwNFJIBwhdc5OBPw--