From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Warnings in mingw64 builds on master Date: Sun, 16 Aug 2020 21:21:36 -0700 Organization: UCLA Computer Science Department Message-ID: References: <864kp47t20.fsf@gmail.com> <83a6yvkhby.fsf@gnu.org> <86v9hj7njb.fsf@gmail.com> <83tux3ive9.fsf@gnu.org> <71f2c35b-4e29-4e04-a953-62b19dc9e240@cs.ucla.edu> <83r1s7ian6.fsf@gnu.org> <2383b45e-bec6-3b24-19b2-cab0309246bf@cs.ucla.edu> <835z9iiori.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33202"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Cc: andrewjmoreton@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 17 06:22:31 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k7WfG-0008YK-8u for ged-emacs-devel@m.gmane-mx.org; Mon, 17 Aug 2020 06:22:30 +0200 Original-Received: from localhost ([::1]:51400 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k7WfF-0007Ld-45 for ged-emacs-devel@m.gmane-mx.org; Mon, 17 Aug 2020 00:22:29 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49558) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k7WeW-0006uu-Lk for emacs-devel@gnu.org; Mon, 17 Aug 2020 00:21:44 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:46572) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k7WeU-0000b1-0d; Mon, 17 Aug 2020 00:21:43 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 367A4160097; Sun, 16 Aug 2020 21:21:38 -0700 (PDT) Original-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 LTZM6_D_Kl-b; Sun, 16 Aug 2020 21:21:37 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 6FF531600C4; Sun, 16 Aug 2020 21:21:37 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-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 Tsg96rG_GbUC; Sun, 16 Aug 2020 21:21:37 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-75-82-69-226.socal.res.rr.com [75.82.69.226]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 431F9160097; Sun, 16 Aug 2020 21:21:37 -0700 (PDT) Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkV5QWNtUUJFQURB QXlIMnhvVHU3cHBHNUQzYThGTVpFb243NGRDdmM0K3ExWEEySjJ0QnkycHdhVHFmCmhweHhk R0E5Smo1MFVKM1BENGJTVUVnTjh0TFowc2FuNDdsNVhUQUZMaTI0NTZjaVNsNW04c0thSGxH ZHQ5WG0KQUF0bVhxZVpWSVlYL1VGUzk2ZkR6ZjR4aEVtbS95N0xiWUVQUWRVZHh1NDd4QTVL aFRZcDVibHRGM1dZRHoxWQpnZDdneDA3QXV3cDdpdzdlTnZub0RUQWxLQWw4S1lEWnpiRE5D UUdFYnBZM2VmWkl2UGRlSStGV1FONFcra2doCnkrUDZhdTZQcklJaFlyYWV1YTdYRGRiMkxT MWVuM1NzbUUzUWpxZlJxSS9BMnVlOEpNd3N2WGUvV0szOEV6czYKeDc0aVRhcUkzQUZINmls QWhEcXBNbmQvbXNTRVNORnQ3NkRpTzFaS1FNcjlhbVZQa25qZlBtSklTcWRoZ0IxRApsRWR3 MzRzUk9mNlY4bVp3MHhmcVQ2UEtFNDZMY0ZlZnpzMGtiZzRHT1JmOHZqRzJTZjF0azVlVThN Qml5Ti9iClowM2JLTmpOWU1wT0REUVF3dVA4NGtZTGtYMndCeHhNQWhCeHdiRFZadWR6eERa SjFDMlZYdWpDT0pWeHEya2wKakJNOUVUWXVVR3FkNzVBVzJMWHJMdzYrTXVJc0hGQVlBZ1Jy NytLY3dEZ0JBZndoU In-Reply-To: <835z9iiori.fsf@gnu.org> Content-Language: en-US Received-SPF: pass client-ip=131.179.128.68; envelope-from=eggert@cs.ucla.edu; helo=zimbra.cs.ucla.edu X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/17 00:21:38 X-ACL-Warn: Detected OS = Linux 3.1-3.10 X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, 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: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:253868 Archived-At: On 8/16/20 8:39 AM, Eli Zaretskii wrote: > the warning it emits has nothing to > do with correctness of the code. I'm not sure I follow. Although it's true that adding __attribute__ ((malloc)) does not turn formerly-incorrect code into correct code, the same thing is true of other function attributes like _Noreturn. But that doesn't mean we shouldn't use function attributes. The main reason I like __attribute__ ((malloc)) has little to do with improving performance (is that what you meant by "improving the code"?); it has to do with understanding the code and using that understanding to avoid and/or fix bugs. When I see code like this: char *p = xmalloc (s); memcpy (p, q, r); I mentally have to answer questions like "is r <= s?" because otherwise the behavior is undefined. But I do not have to mentally answer questions like "are *p and *q aliases?" - even though the behavior of memcpy would be undefined if they were aliases - because malloc has __attribute__ ((malloc)) and this means *p cannot alias with anything else. This is not simply a matter of memcpy vs memmove. In C one must constantly worry about aliasing. These worries are lessened with __attribute__ ((malloc)), so the attribute is typically a win.