From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zimbra.cs.ucla.edu (zimbra.cs.ucla.edu [131.179.128.68]) by sourceware.org (Postfix) with ESMTPS id 27ECC3853D66 for ; Thu, 17 Nov 2022 18:58:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 27ECC3853D66 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cs.ucla.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cs.ucla.edu Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 69F12160037; Thu, 17 Nov 2022 10:58:57 -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 tyOgia2aWjt9; Thu, 17 Nov 2022 10:58:52 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C7A9A160072; Thu, 17 Nov 2022 10:58:52 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.9.2 zimbra.cs.ucla.edu C7A9A160072 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=78364E5A-2AF3-11ED-87FA-8298ECA2D365; t=1668711532; bh=DKPT/UsA6/2k+rRr6CF69tkvpJYlFQQDYCogLppL6Dg=; h=Message-ID:Date:MIME-Version:To:From:Subject:Content-Type: Content-Transfer-Encoding; b=repPVMXHniyuoB25ctsQuEHUB6CMHapo48aP9bCJEtEFr1CNcDmGuO3WdDkuMeYHw 1qcnCcdbTcF+xTivDvmvfi5VSNdcK9DKXmyKCdnUdfzAoAvXEvB+uVdH8uTcsiRqXO qx2jfQxkvLEubxQl+nXzbqKZmiJlxeSftowAzyRs= 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 iCKQBg8UMEHc; Thu, 17 Nov 2022 10:58:52 -0800 (PST) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 81D14160037; Thu, 17 Nov 2022 10:58:52 -0800 (PST) Message-ID: <8101f5cb-082b-8c25-bdf0-7d1cd2531388@cs.ucla.edu> Date: Thu, 17 Nov 2022 10:58:52 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US To: Zack Weinberg , Michael Matz Cc: Jonathan Wakely , Aaron Ballman , c-std-porting@lists.linux.dev, Autoconf Development , gcc@gcc.gnu.org, via cfe-commits , Gnulib bugs References: <24ed5604-305a-4343-a1b6-a789e4723849@app.fastmail.com> <251923e7-57be-1611-be10-49c3067adf0d@cs.ucla.edu> <7ef0ce03-d908-649a-a6ee-89fea374d2b1@cs.ucla.edu> <9cb106e9-16ff-65ec-6a44-6567c77521dc@cs.ucla.edu> <06a5d2cd-44eb-7404-17f3-ff64dd505427@cs.ucla.edu> <4cfa16b3-e9e0-0ec0-659c-e4aef6090995@cs.ucla.edu> From: Paul Eggert Organization: UCLA Computer Science Department Subject: Re: How can Autoconf help with the transition to stricter compilation defaults? In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,JMQ_SPF_NEUTRAL,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2022-11-16 10:59, Zack Weinberg wrote: > I'm generally in agreement with Rich Felker's argument (inhttps://ewontfix.com/13/) that AC_CHECK_FUNC*should not* just probe for linkability of a symbol So am I. I'm not saying Autoconf should never change here, only that the change would not be trivial. It would require changing many configure.ac scripts scattered over many software projects, because Autoconf cannot be expected to know every signature of every function in every library. Any such transition could not be done in a week, or a month, or even a year. I would guess it would take a decade at least. In the meantime if Clang becomes pickier by default it would be helpful if there were a well-defined way to shut off Clang's pickiness. If the Clang developers provide such a way we can use it; if not, Autoconf will just have to do what it always does, and figure a way out anyway (hey! it could drop into assembler...). Things would be simpler if Clang became pickier by default only for declarations that are not "char foo();" or "char foo(void);". Then, existing 'configure' scripts would still work.