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 6EB5B1F47C for ; Thu, 19 Jan 2023 21:21:06 +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=gfeGo7Lb; dkim-atps=neutral Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pIcL4-0001iR-Lf; Thu, 19 Jan 2023 16:20:50 -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 1pIcL2-0001hh-Cj for bug-gnulib@gnu.org; Thu, 19 Jan 2023 16:20:48 -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 1pIcKw-0007GM-Qv for bug-gnulib@gnu.org; Thu, 19 Jan 2023 16:20:48 -0500 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 65D6016006F; Thu, 19 Jan 2023 13:20:39 -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 MU86m3zZiHjI; Thu, 19 Jan 2023 13:20:38 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 9A130160076; Thu, 19 Jan 2023 13:20:38 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.9.2 zimbra.cs.ucla.edu 9A130160076 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=78364E5A-2AF3-11ED-87FA-8298ECA2D365; t=1674163238; bh=71IRDMJUA1v09ggOKMBBa2jJLPG02w3+tHqHD5vEJvk=; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type: Content-Transfer-Encoding; b=gfeGo7LbfusdMN+h2VxGxjJPvB/PEsphe4viqWpvkj7w/wTcrpnH6nyy0Y35gV+LH jWn4LB9Dsq3kXjjs2rwgcnvPjZz2YTNHgvoOYkKrGbiERyEalKdiRAYyPBZvpJviXx PF3oMjO+OmqlHf5fp6Jhb78now07Ti9BhCN460hQ= 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 vgImHq4KzPwF; Thu, 19 Jan 2023 13:20:38 -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 7EF4116006F; Thu, 19 Jan 2023 13:20:38 -0800 (PST) Message-ID: <1e4c77c2-5d65-0e73-84b8-37d888053a26@cs.ucla.edu> Date: Thu, 19 Jan 2023 13:20:38 -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> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 On 1/19/23 12:44, Sam James wrote: > _Noreturn is pretty much just an optimisation (and I'm not convinced > that it's _needed_ in a lot of cases, rather just a useful hint). _Noreturn is not just an optimization: it's also useful for static checking. For example: int f (int x) { if (x < INT_MAX) return x + 1; error (1, 0, "x is too large"); } Since error is _Noreturn the compiler knows not to warn that F might return garbage. It's useful to suppress false alarms, even when Clang is the compiler. > Is there any precedent wrt > handling miscompilations for actively supported compilers in gnulib and such? We've run into them before; I don't know of a list of instances. Generally speaking if the workaround is easy and harmless we can install it, otherwise we tell users to get a working compiler.