From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.devel Subject: Re: master 37889523278: Add new `swap` macro and use it Date: Tue, 30 Jan 2024 02:00:43 +0000 Message-ID: <148534ba184067c6fc39@heytings.org> References: <170452579053.27998.16123231327386305897@vcs2.savannah.gnu.org> <87plye9ahs.fsf@yahoo.com> <83o7dyua0d.fsf@gnu.org> <87le9297ei.fsf@yahoo.com> <87cyue92fx.fsf@yahoo.com> <877ckm8uzz.fsf@yahoo.com> <83v886sgtl.fsf@gnu.org> <4719da9bc2bbcffdb634@heytings.org> <87bk9o1ooo.fsf@yahoo.com> <83cyu4fl4o.fsf@gnu.org> <877ckc1gs9.fsf@yahoo.com> <83a5p8fehd.fsf@gnu.org> <83bk9mepkt.fsf@gnu.org> <9245debeed69c26665f0@heytings.org> <87h6jbwfu4.fsf@yahoo.com> <2f5a5ec4d5c204a5200d@heytings.org> <87il3flbxj.fsf@yahoo.com> <37364cd16c3e66d03224@heytings.org> <87sf2ihzoz.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12940"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , stefankangas@gmail.com, emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jan 30 03:01:47 2024 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 1rUdRb-00035N-Fh for ged-emacs-devel@m.gmane-mx.org; Tue, 30 Jan 2024 03:01:47 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rUdQl-0000lO-44; Mon, 29 Jan 2024 21:00:55 -0500 Original-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 1rUdQj-0000l2-0t for emacs-devel@gnu.org; Mon, 29 Jan 2024 21:00:53 -0500 Original-Received: from heytings.org ([95.142.160.155]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rUdQb-0007DV-6j; Mon, 29 Jan 2024 21:00:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20220101; t=1706580043; bh=mBBJmVtnrPaFFVdWA8j/sQwYjKN46lBWKaYfk8Ni8Dw=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=ExnHYy6WDtt2DplwdGyUyCL+oVP0zcmB6aUSoUhLWfZTi6htG2dBPr+MTUIQU5t+8 EXD0F/9dyxdUDsI6sj1SYyb8YDaxUL01hH8ZuJsli1bChpo1JXiK41ohC9iCRQRuH8 oP5MxHUzeAnPl0KxK1qgcXGmEe/D/2pMjXEhAQwX1z+YU2E70d6l72GJDSu9INsTSI kqfwxekcxsOAXOrriyP7ytvL9t6GQ24jvPZpWqnFg1zD5TlkV820jdrO3rS2Oz/hp5 roSIFMgJ4H6aXdF0fe9NT61us+X5BbPZS59T+v9pK2USiZQBLWKUTUPdede/4QnLpt Z7nmnLgxX1nUg== In-Reply-To: <87sf2ihzoz.fsf@yahoo.com> Received-SPF: pass client-ip=95.142.160.155; envelope-from=gregory@heytings.org; helo=heytings.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:315617 Archived-At: >> This is almost becoming funny. You did not even look at the file I >> attached to my previous post. Of course, why would you do so, with a >> guiding principle that everyone is wrong? > > I did > You did not, otherwise you would not have explained the build failure with something that had no relationship whatsoever with it. > > alignas is and was only required to support builds where LSB tags are > required. Such tags are not necessary on the Unix systems which support > Sun C 5.9, as there `malloc' does not return values with an arbitrary > offset in the name of security or require hacking machine and system > headers to define the offset of the program's data segment. > All that is irrelevant in the matter at hand. > > Furthermore, at the time of alignof's introduction, lisp.h defined it to > an empty macro if Gnulib's stdalign module could not provide a > substitute, so by no means was it ever invoked unconditionally. > That's wrong. Again you are just ignoring the information I gave you. So I'll say it again: alignas, a C11 feature, was introduced unconditionally in Emacs by e32a579975 in July 2012, and it was made conditional only ten years later, by 1e2bc1bbf4 in December 2021 (to support builds with older version of TCC). Without the "# define alignas(a)" line in lisp.h, which was added by 1e2bc1bbf4 and was therefore not present in Emacs 25-28, Sun C 5.8 fails to compile Emacs 29 in the same way it fails to compile Emacs 25-28. > > Lastly, each of these oversights attended changes made on solid grounds, > such as crashes in other obscure builds (e.g. the 32-bit Windows build > with wide integers and specific versions of GCC). If anything, this > speaks against sacrificing portability on the basis of categorical > assumptions that certain non-standard constructs are always available. > All that is irrelevant to the matter at hand. >> Your claim has now narrowed down to the following: Sun C 5.8, but only >> with some patches, and only on 64-bit platforms, can produce a working >> Emacs 29 build. > > This was my claim from the outset, because that was the combination of > Sun C and system configuration on which I tested Emacs. It has not > become any more or less defined. > Absolutely not. Your claim is and was that Sun C 5.8 produces working Emacs builds, and in the post to which I was replying, you said: The GCC build farm, Paul Eggert, and several other Emacs and Gnulib developers have and routinely test on up-to-date Solaris 10 systems with various versions of Sun Studio. followed by a link to a post in which Sun C 5.8 was mentioned. I don't know about Gnulib, but it is clear that Emacs was not at all "routinely" tested with Sun C 5.8, given that the build failed early between July 2012 and December 2021, with zero bug reports about that failure, and given that it still fails today, albeit later, again with zero bug reports about that failure. >> I will not waste more of my time to check that claim in detail, but FTR >> I seriously doubt it is: my attempt at building Emacs 29 failed with >> '"alloc.c", line 692: type of struct member "__b" can not be derived >> from structure with flexible array member', for which the remedy is, >> according to a Google search, "upgrade your tools to Oracle Solaris >> Studio (previously Sun Studio) 12 [that is, Sun C 5.9] or something >> newer". > > That is an implementation choice in early versions of C 5.8, addressed > either by later patches or certain versions of Sun Studio Express. My > site's KB (in relation to a physics simulation package rather than > Emacs) suggests configuring with: > > ac_cv_c_flexmember=no > > but it was not necessary for me. > Sorry, enough is enough. As I said, I simply refuse to waste more of my time to determine under which circumstances and with which undocumented configuration options, if any, a proprietary compiler that has been EOL'd almost ten years ago could perhaps create a working Emacs build for a very specific platform that hardly anybody uses. My attempt, with a standard "make", failed as described above, and the reason of that failure is simply that Sun C 5.8 does not implement alignof, which is used in Emacs 29 and is, like alignas and typeof, available in Sun C 5.9 and later compilers. > > Gnulib shares its portability considerations with our project and the > GNU project as a whole. If anything, our standards are significantly > more charitable than are Gnulib's, with regard to Microsoft operating > systems. > You've already been told, by Eli, that "our goals are very different from those of Gnulib". So what's the point of saying this again?