From unknown Fri Jun 20 07:16:03 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#50469 <50469@debbugs.gnu.org> To: bug#50469 <50469@debbugs.gnu.org> Subject: Status: [bison-3.8] bug or side effect to flex & automake Reply-To: bug#50469 <50469@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:16:03 +0000 retitle 50469 [bison-3.8] bug or side effect to flex & automake reassign 50469 automake submitter 50469 Akim Demaille severity 50469 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 01:32:25 2021 Received: (at submit) by debbugs.gnu.org; 8 Sep 2021 05:32:25 +0000 Received: from localhost ([127.0.0.1]:58214 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNqC9-0008Jn-Ed for submit@debbugs.gnu.org; Wed, 08 Sep 2021 01:32:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:37184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNqC8-0008Jg-BH for submit@debbugs.gnu.org; Wed, 08 Sep 2021 01:32:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42970) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNqC8-0007pX-1G; Wed, 08 Sep 2021 01:32:24 -0400 Received: from smtp.lrde.epita.fr ([91.243.117.225]:38888) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNqC5-0001Rd-Sy; Wed, 08 Sep 2021 01:32:23 -0400 Received: from [192.168.1.34] (unknown [78.197.153.106]) by smtp.lrde.epita.fr (Postfix) with ESMTPSA id 8FD1D413C4; Wed, 8 Sep 2021 07:32:10 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: [bison-3.8] bug or side effect to flex & automake From: Akim Demaille In-Reply-To: <481886468.1006513.1631067106391.JavaMail.yahoo@mail.yahoo.co.jp> Date: Wed, 8 Sep 2021 07:31:28 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <481886468.1006513.1631067106391.JavaMail.yahoo.ref@mail.yahoo.co.jp> <481886468.1006513.1631067106391.JavaMail.yahoo@mail.yahoo.co.jp> To: Kiyoshi KANAZAWA X-Mailer: Apple Mail (2.3445.104.21) Received-SPF: pass client-ip=91.243.117.225; envelope-from=akim@lrde.epita.fr; helo=smtp.lrde.epita.fr X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: Paul Eggert , Automake Bugs , Bison Bugs X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi Kiyoshi, > Le 8 sept. 2021 =C3=A0 04:11, Kiyoshi KANAZAWA = a =C3=A9crit : >=20 > Hello, >=20 > Installed bison-3.8, but I'm afraid it is has bug or side effect to = flex-2.6.4 & automake-1.16.4. >=20 > $ uname -a > SunOS hidden 5.11 11.3 i86pc i386 i86pc >=20 > $ gcc --version > gcc (GCC) 10.3.0 >=20 > After installing bison-3.8, detected the following make check error, = which did not with bison-3.7.6. >=20 > (1) flex-2.6.4 > mv -f $depbase.Tpo $depbase.Po > depbase=3D`echo bison_nr_parser.o | sed = 's|[^/]*$|.deps/&|;s|\.o$||'`;\ > gcc -m32 -DHAVE_CONFIG_H -I. -I../src -I../src -I../src -MT = bison_nr_parser.o -MD -MP -MF $depbase.Tpo -c -o bison_nr_parser.o = bison_nr_parser.c &&\ > mv -f $depbase.Tpo $depbase.Po > bison_nr_parser.c:70:25: error: conflicting types for 'testerror' > 70 | #define yyerror testerror > | ^~~~~~~~~ > bison_nr_parser.y:40:5: note: in expansion of macro 'yyerror' > 40 | int yyerror(const char* msg); > | ^~~~~~~ > In file included from bison_nr_parser.y:33: > bison_nr_parser.h:110:6: note: previous declaration of 'testerror' was = here > 110 | void testerror (const YYLTYPE *yyllocp, const char *msg); > | ^~~~~~~~~ > bison_nr_parser.c:70:25: error: conflicting types for 'testerror' > 70 | #define yyerror testerror > | ^~~~~~~~~ > bison_nr_parser.y:93:5: note: in expansion of macro 'yyerror' > 93 | int yyerror(const char* msg) { > | ^~~~~~~ > In file included from bison_nr_parser.y:33: > bison_nr_parser.h:110:6: note: previous declaration of 'testerror' was = here > 110 | void testerror (const YYLTYPE *yyllocp, const char *msg); > | ^~~~~~~~~ > make[2]: *** [Makefile:2076: bison_nr_parser.o] Error 1 >=20 > And so on. Well, I'm afraid this change was made on purpose, to conform with the = (unfortunate IMHO) latest specs of POSIX Yacc. See the NEWS file: To comply with the latest POSIX standard, in Yacc compatibility mode (options `-y`/`--yacc`) Bison now generates prototypes for yyerror and yylex. In some situations, this is breaking compatibility: if the = user has already declared these functions but with some differences (e.g., = to declare them as static, or to use specific attributes), the generated parser will fail to compile. To disable these prototypes, #define = yyerror (to `yyerror`), and likewise for yylex. This change in POSIX was discussed here: = https://austingroupbugs.net/view.php?id=3D1388#c5220. However, I don't = see a published version of the POSIX Yacc "specs" that includes these = changes. The latest edition appears to be from 2018 = (https://pubs.opengroup.org/onlinepubs/9699919799/). That being said, several tests can be easily adjusted. For instance = t/silent-yacc fails because it provides this implementation of yyerror: void yyerror (char *s) { return; } while the expected signature is void yyerror (const char *s); I have not checked all the tests, but I suspect that many of them can be = easily fixed. I don't see you, Kiyoshi, in the logs of Automake, so I suppose you are = not maintaining/contributing to Automake. Yet we need to fix these = tests (I'd be happy to get feedback from Automake's team on this). This is definitely a change that may break compatibility in some cases, = but it's out of our control: POSIX decided, we just comply. One big = problem with the Autotools as of today is that they promote the use of = macros/build rules for Yacc, not for Bison. Because of this, bison is = almost always called with `-y/--yacc`, which not only forces bison to = generate y.tab.c instead of foo.tab.c, but also forces it to enter the = POSIX Yacc mode (and also to spit tons of warnings for each GNU Bison = feature which is not part of POSIX Yacc). Cheers!= From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 02:34:04 2021 Received: (at submit) by debbugs.gnu.org; 8 Sep 2021 06:34:04 +0000 Received: from localhost ([127.0.0.1]:58310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNr9o-0001TZ-7o for submit@debbugs.gnu.org; Wed, 08 Sep 2021 02:34:04 -0400 Received: from lists.gnu.org ([209.51.188.17]:60782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNr9m-0001TR-5O for submit@debbugs.gnu.org; Wed, 08 Sep 2021 02:34:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNr9i-0003MU-HA; Wed, 08 Sep 2021 02:34:00 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:36396) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNr9f-00036Z-DG; Wed, 08 Sep 2021 02:33:57 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 74AEB16013B; Tue, 7 Sep 2021 23:33:49 -0700 (PDT) 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 UvrFkHLO8seo; Tue, 7 Sep 2021 23:33:48 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 7EAFC16013C; Tue, 7 Sep 2021 23:33:48 -0700 (PDT) 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 VjfxiBc73nlU; Tue, 7 Sep 2021 23:33:48 -0700 (PDT) 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 5388816013B; Tue, 7 Sep 2021 23:33:48 -0700 (PDT) Subject: Re: [bison-3.8] bug or side effect to flex & automake To: Akim Demaille , Kiyoshi KANAZAWA References: <481886468.1006513.1631067106391.JavaMail.yahoo.ref@mail.yahoo.co.jp> <481886468.1006513.1631067106391.JavaMail.yahoo@mail.yahoo.co.jp> From: Paul Eggert Organization: UCLA Computer Science Department Message-ID: <587bcbc7-4f2b-5d5e-6ffa-739d5b75956a@cs.ucla.edu> Date: Tue, 7 Sep 2021 23:33:48 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US 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: -64 X-Spam_score: -6.5 X-Spam_bar: ------ X-Spam_report: (-6.5 / 5.0 requ) BAYES_00=-1.9, NICE_REPLY_A=-2.332, 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-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Automake Bugs , Bison Bugs X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) On 9/7/21 10:31 PM, Akim Demaille wrote: > However, I don't see a published version of the POSIX Yacc "specs" that includes these changes. The next POSIX revision is targeted for 2022, according to . I suppose there is still opportunity to fix POSIX before the next revision comes out, but someone would have to create a bug report and submit it to the Austin Group. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 10:53:43 2021 Received: (at submit) by debbugs.gnu.org; 8 Sep 2021 14:53:43 +0000 Received: from localhost ([127.0.0.1]:33291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNyxK-00081s-58 for submit@debbugs.gnu.org; Wed, 08 Sep 2021 10:53:43 -0400 Received: from lists.gnu.org ([209.51.188.17]:38968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNxdk-0002yw-4h for submit@debbugs.gnu.org; Wed, 08 Sep 2021 09:29:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNxdj-0003Cp-Hg; Wed, 08 Sep 2021 09:29:23 -0400 Received: from new4-smtp.messagingengine.com ([66.111.4.230]:57853) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNxdh-0005Si-T6; Wed, 08 Sep 2021 09:29:23 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 221EE580DF8; Wed, 8 Sep 2021 09:29:19 -0400 (EDT) Received: from imap45 ([10.202.2.95]) by compute1.internal (MEProxy); Wed, 08 Sep 2021 09:29:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=owlfolio.org; h= mime-version:message-id:in-reply-to:references:date:from:to:cc :subject:content-type:content-transfer-encoding; s=fm1; bh=yvffh LW2k8ZzBSrLSfWm+/eutdTSakr09+EnCLU1sfk=; b=f/8uF2a0cZAeu6TL0KMxi 44hxHEXZnJiUckB06yvJ3MabjCUEvRtSQhqS2FVl4LunetoPJe2R8dK++yEa++eU LE+CdTdqUUr9FUinVj6e80ZdlgRNWK74OWsd6cWVoi4LNl+VWqIrC7TjTuGRnwcs 7hV7vdPJGyGuGho5gUaeDoS2mPHZhRfv5n0YQN3vwyJ9dJ8PyB6FClYiJ7FrE75d ntBHftAKfToGGZS3AJJI/bKcUh6VO76xTzow1JqJ3r1IKrSVp+ObI+6znRupHtW5 HUjTBwOMAiFJVV7roLqQUYZt2qCUJQXoLbWoYQi6p8f45/cKkOp36/KUzQnDIycC g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=yvffhLW2k8ZzBSrLSfWm+/eutdTSakr09+EnCLU1s fk=; b=gr/rgp9Hfbh4sbp93JviGmqfP3Gx5q34KSmSxu8BSZ+c2S45y93dpjeoj +StRIwx+0uMe/iDG2qdN5Bx5DPy9hmCB08qLGUxtImI6O754FBbgDirpXrtFRwg5 A7jayzj2yXLvpguVub2tlBlQpEYCpUt9SotgFCgzcI5/NrKUyhOYgz+m8LElnU24 JyAytgEqEWGwkSh6eAIZCCybmwTPs4qZax0c4pcoWlsEnGVSN31sFGlReuda43NB +P8sthTq1DRRS4/hjGCQq8mwBEXKt++WdoyRQWNvh1299GRTfvfks4z8zXkg8xkK wH4nXsyAHc6c252y7ZFYGHREOlmBA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudefjedgieegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtgfesth hqredtreerjeenucfhrhhomhepfdgkrggtkhcuhggvihhnsggvrhhgfdcuoeiirggtkhes ohiflhhfohhlihhordhorhhgqeenucggtffrrghtthgvrhhnpeffteffkeehfeevhedule ekheeugfekjedtgfejvdefueeujeeghfeuieeijeekfeenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeiirggtkhesohiflhhfohhlihhordhorh hg X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 7121C24A0063; Wed, 8 Sep 2021 09:29:18 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-1229-g7ca81dfce5-fm-20210908.005-g7ca81dfc Mime-Version: 1.0 Message-Id: <637f08eb-d80b-4260-b71e-dfb1ba57348e@www.fastmail.com> In-Reply-To: References: <481886468.1006513.1631067106391.JavaMail.yahoo.ref@mail.yahoo.co.jp> <481886468.1006513.1631067106391.JavaMail.yahoo@mail.yahoo.co.jp> Date: Wed, 08 Sep 2021 09:28:50 -0400 From: "Zack Weinberg" To: bug-automake@gnu.org Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=66.111.4.230; envelope-from=zack@owlfolio.org; helo=new4-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 08 Sep 2021 10:53:40 -0400 Cc: autoconf@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) On Wed, Sep 8, 2021, at 1:31 AM, Akim Demaille wrote: > One big problem with the Autotools as of today is that they promote > the use of macros/build rules for Yacc, not for Bison. The contract of AC_PROG_YACC is to find something that will generate parsers from POSIX-compliant input; all three of bison, byacc, and classic yacc are considered. We would be happy to take contributions of AC_PROG_BISON (and AC_PROG_FLEX), but as you know there isn=E2=80=99t anyone doing active development of Autoconf right now, so it=E2=80=99s not going to happen w= ithout someone stepping up. zw From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 15:51:45 2021 Received: (at submit) by debbugs.gnu.org; 8 Sep 2021 19:51:45 +0000 Received: from localhost ([127.0.0.1]:33626 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO3bl-0008J2-KG for submit@debbugs.gnu.org; Wed, 08 Sep 2021 15:51:45 -0400 Received: from lists.gnu.org ([209.51.188.17]:60242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO3bi-0008It-Lk for submit@debbugs.gnu.org; Wed, 08 Sep 2021 15:51:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60584) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mO3bi-0002ZI-9c; Wed, 08 Sep 2021 15:51:42 -0400 Received: from smtp.lrde.epita.fr ([91.243.117.225]:56528) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mO3bg-0006Oz-BS; Wed, 08 Sep 2021 15:51:42 -0400 Received: from [192.168.1.34] (unknown [78.197.153.106]) by smtp.lrde.epita.fr (Postfix) with ESMTPSA id 5B00942B6B; Wed, 8 Sep 2021 21:51:37 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: [bison-3.8] bug or side effect to flex & automake From: Akim Demaille In-Reply-To: <587bcbc7-4f2b-5d5e-6ffa-739d5b75956a@cs.ucla.edu> Date: Wed, 8 Sep 2021 21:50:55 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <481886468.1006513.1631067106391.JavaMail.yahoo.ref@mail.yahoo.co.jp> <481886468.1006513.1631067106391.JavaMail.yahoo@mail.yahoo.co.jp> <587bcbc7-4f2b-5d5e-6ffa-739d5b75956a@cs.ucla.edu> To: Paul Eggert X-Mailer: Apple Mail (2.3445.104.21) Received-SPF: pass client-ip=91.243.117.225; envelope-from=akim@lrde.epita.fr; helo=smtp.lrde.epita.fr X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: Kiyoshi KANAZAWA , Automake Bugs , Bison Bugs X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi Paul, Thanks for the quick answer. > Le 8 sept. 2021 =C3=A0 08:33, Paul Eggert a = =C3=A9crit : >=20 > On 9/7/21 10:31 PM, Akim Demaille wrote: >> However, I don't see a published version of the POSIX Yacc "specs" = that includes these changes. >=20 > The next POSIX revision is targeted for 2022, according to = . Thanks. Last time we discussed about this, the conclusion was that = Bison should implement this now. Should we rather backtrack and = postpone until the revision is published? I have published 3.8, but not = announced it yet, so it probably doesn't spread too fast. I could = revert that, and publish 3.8.1 very soon. > I suppose there is still opportunity to fix POSIX before the next = revision comes out, but someone would have to create a bug report and = submit it to the Austin Group. I don't see why this time they would agree not to change anything. I = believe we already clearly stated that this is a breaking change.= From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 17:19:12 2021 Received: (at 50469) by debbugs.gnu.org; 8 Sep 2021 21:19:12 +0000 Received: from localhost ([127.0.0.1]:33689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO4yN-00024a-RJ for submit@debbugs.gnu.org; Wed, 08 Sep 2021 17:19:11 -0400 Received: from freefriends.org ([96.88.95.60]:45158) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO4yM-00024S-Ax for 50469@debbugs.gnu.org; Wed, 08 Sep 2021 17:19:10 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 188LJ0fh004257 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 8 Sep 2021 15:19:01 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 188LIwvf004256; Wed, 8 Sep 2021 15:18:58 -0600 Date: Wed, 8 Sep 2021 15:18:58 -0600 Message-Id: <202109082118.188LIwvf004256@freefriends.org> From: Karl Berry To: akim@lrde.epita.fr Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake In-Reply-To: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 50469 Cc: 50469@debbugs.gnu.org, yoi_no_myoujou@yahoo.co.jp, eggert@cs.ucla.edu, bug-bison@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) This is definitely a change that may break compatibility in some cases, but it's out of our control: POSIX decided, we just comply. Just an idea that I don't expect you to adopt, but just to mention -- you could only institute the breaking change if POSIXLY_CORRECT. That's why POSIXLY_CORRECT exists. -k P.S. Is this related to Automake? If it is, as with Autoconf, there needs to be new volunteer effort to do what's needed. I can't take it on and unfortunately no one else has come forward. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 18:32:15 2021 Received: (at 50469) by debbugs.gnu.org; 8 Sep 2021 22:32:15 +0000 Received: from localhost ([127.0.0.1]:33729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO675-0005dY-FV for submit@debbugs.gnu.org; Wed, 08 Sep 2021 18:32:15 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:55150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO673-0005Xm-Ap for 50469@debbugs.gnu.org; Wed, 08 Sep 2021 18:32:15 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id ADD58160144; Wed, 8 Sep 2021 15:32:07 -0700 (PDT) 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 2IL6h1waLTAJ; Wed, 8 Sep 2021 15:32:07 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 1336C160149; Wed, 8 Sep 2021 15:32:07 -0700 (PDT) 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 zUsIkK_RFZtu; Wed, 8 Sep 2021 15:32:06 -0700 (PDT) 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 D9DA9160144; Wed, 8 Sep 2021 15:32:06 -0700 (PDT) Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake To: Karl Berry , akim@lrde.epita.fr References: <202109082118.188LIwvf004256@freefriends.org> From: Paul Eggert Organization: UCLA Computer Science Department Message-ID: <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> Date: Wed, 8 Sep 2021 15:32:06 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <202109082118.188LIwvf004256@freefriends.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 50469 Cc: 50469@debbugs.gnu.org, yoi_no_myoujou@yahoo.co.jp, bug-bison@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.4 (---) On 9/8/21 2:18 PM, Karl Berry wrote: > Just an idea that I don't expect you to adopt, but just to mention -- > you could only institute the breaking change if POSIXLY_CORRECT. That's > why POSIXLY_CORRECT exists. -k I like this idea. It insulates us against POSIX decisions and/or indecisions in this area. From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 09 01:11:28 2021 Received: (at 50469) by debbugs.gnu.org; 9 Sep 2021 05:11:28 +0000 Received: from localhost ([127.0.0.1]:33869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOCLQ-0007Sx-HK for submit@debbugs.gnu.org; Thu, 09 Sep 2021 01:11:28 -0400 Received: from smtp.lrde.epita.fr ([91.243.117.225]:44982) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOCLM-0007Sg-0A for 50469@debbugs.gnu.org; Thu, 09 Sep 2021 01:11:27 -0400 Received: from [192.168.1.34] (unknown [78.197.153.106]) by smtp.lrde.epita.fr (Postfix) with ESMTPSA id EAE1D42FA4; Thu, 9 Sep 2021 07:11:17 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake From: Akim Demaille In-Reply-To: <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> Date: Thu, 9 Sep 2021 07:10:35 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> References: <202109082118.188LIwvf004256@freefriends.org> <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> To: Paul Eggert X-Mailer: Apple Mail (2.3445.104.21) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50469 Cc: 50469@debbugs.gnu.org, Kiyoshi KANAZAWA , Bison Bugs , Karl Berry X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi! > Le 9 sept. 2021 =C3=A0 00:32, Paul Eggert a = =C3=A9crit : >=20 > On 9/8/21 2:18 PM, Karl Berry wrote: >> Just an idea that I don't expect you to adopt, but just to mention -- >> you could only institute the breaking change if POSIXLY_CORRECT. = That's >> why POSIXLY_CORRECT exists. -k >=20 > I like this idea. It insulates us against POSIX decisions and/or = indecisions in this area. Good with me. I'll implement that, thanks Karl! >> P.S. Is this related to Automake? If it is, as with Autoconf, there >> needs to be new volunteer effort to do what's needed. I can't take it = on >> and unfortunately no one else has come forward. IMHO the prototypes in Automake's test suite are wrong: I see no reason = for yyerror to take a char *, and we do pass constant strings to it, so I'm quite surprised that there are no compiling errors about it. We should fix that. I can do that. On the Autoconf side, we dearly need some AC_CHECK_BISON. It is really = a pity that everybody uses AC_CHECK_YACC, which seriously degrades the = point of using bison. Cheers!= From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 10 12:41:53 2021 Received: (at 50469) by debbugs.gnu.org; 10 Sep 2021 16:41:53 +0000 Received: from localhost ([127.0.0.1]:39109 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOjb3-00068l-IJ for submit@debbugs.gnu.org; Fri, 10 Sep 2021 12:41:53 -0400 Received: from smtp.lrde.epita.fr ([91.243.117.225]:55280) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOjb2-00068W-7J for 50469@debbugs.gnu.org; Fri, 10 Sep 2021 12:41:48 -0400 Received: from [192.168.1.34] (unknown [78.197.153.106]) by smtp.lrde.epita.fr (Postfix) with ESMTPSA id 7BA0742FA4; Fri, 10 Sep 2021 18:41:41 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake From: Akim Demaille In-Reply-To: <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> Date: Fri, 10 Sep 2021 18:40:57 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <2F2E4EC5-CC69-4799-A0E8-1F42A80936C9@lrde.epita.fr> References: <202109082118.188LIwvf004256@freefriends.org> <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> To: Paul Eggert X-Mailer: Apple Mail (2.3445.104.21) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50469 Cc: 50469@debbugs.gnu.org, Kiyoshi KANAZAWA , Bison Bugs , Karl Berry X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi all, > Le 9 sept. 2021 =C3=A0 07:10, Akim Demaille a = =C3=A9crit : >=20 > Hi! >=20 >> Le 9 sept. 2021 =C3=A0 00:32, Paul Eggert a = =C3=A9crit : >>=20 >> On 9/8/21 2:18 PM, Karl Berry wrote: >>> Just an idea that I don't expect you to adopt, but just to mention = -- >>> you could only institute the breaking change if POSIXLY_CORRECT. = That's >>> why POSIXLY_CORRECT exists. -k >>=20 >> I like this idea. It insulates us against POSIX decisions and/or = indecisions in this area. >=20 > Good with me. I'll implement that, thanks Karl! I will soon push the following commit, and wrap a 3.8.1. Comments most = welcome! Cheers! (a tarball is available here: https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.3-84b7.tar.gz https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.3-84b7.tar.lz https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.3-84b7.tar.xz) commit 5623009a76dd8f04b5c19bb5f6ae8e2bf258a51e Author: Akim Demaille Date: Fri Sep 10 06:48:02 2021 +0200 yacc: declare yyerror/yylex only when POSIXLY_CORRECT =20 The recent changes to comply with POSIX are breaking Automake's test suite. Reported by Kiyoshi Kanazawa. =20 To limit the impact of POSIX changes, bind them to $POSIXLY_CORRECT. Suggested by Karl Berry. =20 The existing `maintainer-check-posix` Make target checks these changes. =20 * src/getargs.h, src/getargs.c (set_yacc): New. Use it. * data/skeletons/bison.m4 (b4_posix_if): New. * data/skeletons/yacc.c (b4_declare_yyerror_and_yylex): Use it. * doc/bison.texi, tests/local.at: Adjust. diff --git a/NEWS b/NEWS index 71c4ae7c..8300548a 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,15 @@ GNU Bison NEWS =20 * Noteworthy changes in release ?.? (????-??-??) [?] =20 + The generation of prototypes for yylex and yyerror in Yacc mode is + breaking existing grammar files. + + **Please don't use `-y`/`--yacc` simply to comply with Yacc's file = name + conventions, rather, use `-o y.tab.c`.** + + To avoid breaking too many grammars, the prototypes are now generated = when + `-y/--yacc` is used *and* the `POSIXLY_CORRECT` environment variable = is + defined. =20 * Noteworthy changes in release 3.8 (2021-09-07) [stable] =20 @@ -4706,7 +4715,7 @@ LocalWords: autocompletion bistromathic = submessages Cayuela lexcalc hoc LocalWords: yytoken YYUNDEF YYerror basename Automake's UTF ifdef = ffile LocalWords: gotos readline Imbimbo Wcounterexamples Wcex Nonunifying = rcex LocalWords: Vais xsltproc YYNOMEM YYLOCATION signedness YYBISON = MITRE's -LocalWords: libreadline YYMALLOC YYFREE MSVC redefinitions +LocalWords: libreadline YYMALLOC YYFREE MSVC redefinitions POSIXLY =20 Local Variables: ispell-dictionary: "american" diff --git a/data/skeletons/bison.m4 b/data/skeletons/bison.m4 index 488ad610..037dadcf 100644 --- a/data/skeletons/bison.m4 +++ b/data/skeletons/bison.m4 @@ -1110,6 +1110,7 @@ b4_percent_define_if_define([token_ctor], = [api.token.constructor]) b4_percent_define_if_define([locations]) # Whether locations are = tracked. b4_percent_define_if_define([parse.assert]) b4_percent_define_if_define([parse.trace]) +b4_percent_define_if_define([posix]) =20 =20 # b4_bison_locations_if([IF-TRUE]) diff --git a/data/skeletons/yacc.c b/data/skeletons/yacc.c index d50f3aaf..64b9ac62 100644 --- a/data/skeletons/yacc.c +++ b/data/skeletons/yacc.c @@ -367,7 +367,7 @@ m4_define([b4_declare_yyparse], # Comply with POSIX Yacc. # m4_define([b4_declare_yyerror_and_yylex], -[b4_yacc_if([[#if !defined ]b4_prefix[error && !defined = ]b4_api_PREFIX[ERROR_IS_DECLARED +[b4_posix_if([[#if !defined ]b4_prefix[error && !defined = ]b4_api_PREFIX[ERROR_IS_DECLARED ]b4_function_declare([b4_prefix[error]], void, b4_yyerror_formals)[ #endif #if !defined ]b4_prefix[lex && !defined ]b4_api_PREFIX[LEX_IS_DECLARED diff --git a/doc/bison.texi b/doc/bison.texi index 9a02fb95..a559649c 100644 --- a/doc/bison.texi +++ b/doc/bison.texi @@ -11877,7 +11877,10 @@ @node Tuning the Parser Generate @code{#define} statements in addition to an @code{enum} to associate token codes with token kind names. @item -Generate prototypes for @code{yyerror} and @code{yylex} (since Bison = 3.8): +If the @code{POSIXLY_CORRECT} environment variable is defined, generate +prototypes for @code{yyerror} and @code{yylex}@footnote{See +@url{https://austingroupbugs.net/view.php?id=3D1388#c5220}.} (since = Bison +3.8): @example int yylex (void); void yyerror (const char *); diff --git a/src/getargs.c b/src/getargs.c index 697ad7eb..ef559296 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -71,6 +71,18 @@ struct bison_language const *language =3D = &valid_languages[0]; =20 typedef int* (xargmatch_fn) (const char *context, const char *arg); =20 +void +set_yacc (location loc) +{ + yacc_loc =3D loc; + if (getenv ("POSIXLY_CORRECT")) + muscle_percent_define_insert ("posix", + loc, + muscle_keyword, "", + MUSCLE_PERCENT_DEFINE_D); +} + + /** Decode an option's key. * * \param opt option being decoded. @@ -631,8 +643,7 @@ static struct option const long_options[] =3D }; =20 /* Build a location for the current command line argument. */ -static -location +static location command_line_location (void) { location res; @@ -835,7 +846,7 @@ getargs (int argc, char *argv[]) =20 case 'y': warning_argmatch ("yacc", 0, 0); - yacc_loc =3D loc; + set_yacc (loc); break; =20 case COLOR_OPTION: diff --git a/src/getargs.h b/src/getargs.h index a26aec2f..836c1290 100644 --- a/src/getargs.h +++ b/src/getargs.h @@ -140,6 +140,7 @@ void getargs (int argc, char *argv[]); /* Used by parse-gram.y. */ void language_argmatch (char const *arg, int prio, location loc); void skeleton_arg (const char *arg, int prio, location loc); +void set_yacc (location loc); =20 /** In the string \c s, replace all characters \c from by \c to. */ void tr (char *s, char from, char to); diff --git a/src/parse-gram.c b/src/parse-gram.c index 95fe43e0..3bc44dbd 100644 --- a/src/parse-gram.c +++ b/src/parse-gram.c @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.5.297-b46a. */ +/* A Bison parser, made by GNU Bison 3.8. */ =20 /* Bison implementation for Yacc-like parsers in C =20 @@ -46,10 +46,10 @@ USER NAME SPACE" below. */ =20 /* Identify Bison output, and Bison version. */ -#define YYBISON 30705 +#define YYBISON 30800 =20 /* Bison version string. */ -#define YYBISON_VERSION "3.7.5.297-b46a" +#define YYBISON_VERSION "3.8" =20 /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -3129,7 +3129,7 @@ handle_yacc (location const *loc) const char *directive =3D "%yacc"; bison_directive (loc, directive); if (location_empty (yacc_loc)) - yacc_loc =3D *loc; + set_yacc (*loc); else duplicate_directive (directive, yacc_loc, *loc); } diff --git a/src/parse-gram.h b/src/parse-gram.h index 10a63528..77849263 100644 --- a/src/parse-gram.h +++ b/src/parse-gram.h @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.5.297-b46a. */ +/* A Bison parser, made by GNU Bison 3.8. */ =20 /* Bison interface for Yacc-like parsers in C =20 @@ -215,6 +215,7 @@ struct GRAM_LTYPE =20 =20 =20 + int gram_parse (void); =20 /* "%code provides" blocks. */ diff --git a/src/parse-gram.y b/src/parse-gram.y index 1de83d02..15180cb5 100644 --- a/src/parse-gram.y +++ b/src/parse-gram.y @@ -1112,7 +1112,7 @@ handle_yacc (location const *loc) const char *directive =3D "%yacc"; bison_directive (loc, directive); if (location_empty (yacc_loc)) - yacc_loc =3D *loc; + set_yacc (*loc); else duplicate_directive (directive, yacc_loc, *loc); } diff --git a/tests/calc.at b/tests/calc.at index 11801543..aeac8418 100644 --- a/tests/calc.at +++ b/tests/calc.at @@ -268,7 +268,7 @@ m4_define([AT_CALC_YYLEX(c)], =20 =20 m4_define([_AT_DATA_CALC_Y(c)], -[AT_DATA_GRAMMAR([calc.y], +[AT_DATA_GRAMMAR([calc.y.tmp], [[/* Infix notation calculator--calc */ ]$4[ %code requires @@ -493,6 +493,18 @@ m4_define([_AT_DATA_CALC_Y(c)], [AT_CALC_YYLEX AT_CALC_MAIN])]) =20 +# Remove the generated prototypes. +AT_CHECK( + [AT_YACC_IF([[ + if "$POSIXLY_CORRECT_IS_EXPORTED"; then + sed -e '/\/\* !POSIX \*\//d' calc.y.tmp >calc.y + else + mv calc.y.tmp calc.y + fi + ]], + [[mv calc.y.tmp calc.y]]) +]) + AT_HEADER_IF([AT_DATA_SOURCE([[calc-lex.]AT_LANG_EXT], [[#include "calc.]AT_LANG_HDR[" =20 diff --git a/tests/local.at b/tests/local.at index bc43ee1c..adde4e4c 100644 --- a/tests/local.at +++ b/tests/local.at @@ -687,8 +687,8 @@ m4_define([AT_YYERROR_DECLARE_EXTERN(c)], m4_define([AT_YYERROR_DECLARE(c)], [[#include ]AT_LOCATION_PRINT_DECLARE[ -]AT_YACC_IF([], [[static ]AT_YYERROR_DECLARE_EXTERN])]) - +/* !POSIX */ static ]AT_YYERROR_DECLARE_EXTERN[]dnl +]) =20 # "%define parse.error custom" uses a different format, easy to check. # The "verbose" one can be computed from it (see _AT_CHECK_CALC_ERROR). @@ -733,7 +733,7 @@ m4_define([AT_YYERROR_DEFINE(c)], ]])[ =20 /* A C error reporting function. */ -]AT_YACC_IF([], [static])[ +/* !POSIX */ static ]AT_YYERROR_PROTOTYPE[ {]m4_bpatsubst(m4_defn([AT_PARSE_PARAMS]), [[^,]+[^A-Za-z_0-9]\([A-Za-z_][A-Za-z_0-9]*\),* *], [ From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 10 13:38:53 2021 Received: (at 50469) by debbugs.gnu.org; 10 Sep 2021 17:38:53 +0000 Received: from localhost ([127.0.0.1]:39169 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOkUG-0007iF-B8 for submit@debbugs.gnu.org; Fri, 10 Sep 2021 13:38:53 -0400 Received: from supercat.cmpct.info ([71.19.146.230]:50444) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOjkp-0006NT-Qc for 50469@debbugs.gnu.org; Fri, 10 Sep 2021 12:51:57 -0400 Received: from smtpclient.apple (unknown [82.10.69.218]) by supercat.cmpct.info (Postfix) with ESMTPSA id B3CB0403CE; Fri, 10 Sep 2021 16:51:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpct.info; s=default; t=1631292714; bh=SaE+9nUPm2251wszXofo+V3Pq96cL5kQfjZ4hLQhon0=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=OwAi+QODOKLfmUOoK8P0lhCZQg5nK4H9Dp5DjenA/o/OfKiGCLrUAc1Ag9nA9tJJx IYoBKPhy7PemMKGjXHIPKENakIZwkLF99fSXH9SmPs6KM8RuPTOtdaDtf+fKM3KGou RZAvGHUn0I00R3k5k02mnjgNGh8gNkQlfbznbUEU= From: Sam James Message-Id: Content-Type: multipart/signed; boundary="Apple-Mail=_1E218F1B-B8F1-4C2A-99A8-B297CF7DE520"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake Date: Fri, 10 Sep 2021 17:51:31 +0100 In-Reply-To: <2F2E4EC5-CC69-4799-A0E8-1F42A80936C9@lrde.epita.fr> To: Akim Demaille References: <202109082118.188LIwvf004256@freefriends.org> <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> <2F2E4EC5-CC69-4799-A0E8-1F42A80936C9@lrde.epita.fr> X-Mailer: Apple Mail (2.3654.120.0.1.13) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50469 X-Mailman-Approved-At: Fri, 10 Sep 2021 13:38:50 -0400 Cc: 50469@debbugs.gnu.org, Kiyoshi KANAZAWA , Paul Eggert , Bison Bugs , Karl Berry X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Apple-Mail=_1E218F1B-B8F1-4C2A-99A8-B297CF7DE520 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 10 Sep 2021, at 17:40, Akim Demaille wrote: >=20 > Hi all, >=20 >> Le 9 sept. 2021 =C3=A0 07:10, Akim Demaille a = =C3=A9crit : >>=20 >> Hi! >>=20 >>> Le 9 sept. 2021 =C3=A0 00:32, Paul Eggert a = =C3=A9crit : >>>=20 >>> On 9/8/21 2:18 PM, Karl Berry wrote: >>>> Just an idea that I don't expect you to adopt, but just to mention = -- >>>> you could only institute the breaking change if POSIXLY_CORRECT. = That's >>>> why POSIXLY_CORRECT exists. -k >>>=20 >>> I like this idea. It insulates us against POSIX decisions and/or = indecisions in this area. >>=20 >> Good with me. I'll implement that, thanks Karl! >=20 > I will soon push the following commit, and wrap a 3.8.1. Comments = most welcome! >=20 > Cheers! >=20 > (a tarball is available here: >=20 > https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.3-84b7.tar.gz > https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.3-84b7.tar.lz > = https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.3-84b7.tar.xz) >=20 > [snip] Thanks your work on this! Brief comments on version changes: > diff --git a/src/getargs.c b/src/getargs.c > index 697ad7eb..ef559296 100644 > --- a/src/getargs.c > +++ b/src/getargs.c > @@ -71,6 +71,18 @@ struct bison_language const *language =3D = &valid_languages[0]; >=20 > typedef int* (xargmatch_fn) (const char *context, const char *arg); >=20 > +void > +set_yacc (location loc) > +{ > + yacc_loc =3D loc; > + if (getenv ("POSIXLY_CORRECT")) > + muscle_percent_define_insert ("posix", > + loc, > + muscle_keyword, "", > + MUSCLE_PERCENT_DEFINE_D); > +} > + > + > /** Decode an option's key. > * > * \param opt option being decoded. > @@ -631,8 +643,7 @@ static struct option const long_options[] =3D > }; >=20 > /* Build a location for the current command line argument. */ > -static > -location > +static location > command_line_location (void) > { > location res; > @@ -835,7 +846,7 @@ getargs (int argc, char *argv[]) >=20 > case 'y': > warning_argmatch ("yacc", 0, 0); > - yacc_loc =3D loc; > + set_yacc (loc); > break; >=20 > case COLOR_OPTION: > diff --git a/src/getargs.h b/src/getargs.h > index a26aec2f..836c1290 100644 > --- a/src/getargs.h > +++ b/src/getargs.h > @@ -140,6 +140,7 @@ void getargs (int argc, char *argv[]); > /* Used by parse-gram.y. */ > void language_argmatch (char const *arg, int prio, location loc); > void skeleton_arg (const char *arg, int prio, location loc); > +void set_yacc (location loc); >=20 > /** In the string \c s, replace all characters \c from by \c to. */ > void tr (char *s, char from, char to); > diff --git a/src/parse-gram.c b/src/parse-gram.c > index 95fe43e0..3bc44dbd 100644 > --- a/src/parse-gram.c > +++ b/src/parse-gram.c > @@ -1,4 +1,4 @@ > -/* A Bison parser, made by GNU Bison 3.7.5.297-b46a. */ > +/* A Bison parser, made by GNU Bison 3.8. */ 3.8 -> 3.8.1, but I guess this will be automatic :) >=20 > /* Bison implementation for Yacc-like parsers in C >=20 > @@ -46,10 +46,10 @@ > USER NAME SPACE" below. */ >=20 > /* Identify Bison output, and Bison version. */ > -#define YYBISON 30705 > +#define YYBISON 30800 Needs adjusting or not? >=20 > /* Bison version string. */ > -#define YYBISON_VERSION "3.7.5.297-b46a" > +#define YYBISON_VERSION "3.8" >=20 3.8.1? > /* Skeleton name. */ > #define YYSKELETON_NAME "yacc.c" > @@ -3129,7 +3129,7 @@ handle_yacc (location const *loc) > const char *directive =3D "%yacc"; > bison_directive (loc, directive); > if (location_empty (yacc_loc)) > - yacc_loc =3D *loc; > + set_yacc (*loc); > else > duplicate_directive (directive, yacc_loc, *loc); > } > diff --git a/src/parse-gram.h b/src/parse-gram.h > index 10a63528..77849263 100644 > --- a/src/parse-gram.h > +++ b/src/parse-gram.h > @@ -1,4 +1,4 @@ > -/* A Bison parser, made by GNU Bison 3.7.5.297-b46a. */ > +/* A Bison parser, made by GNU Bison 3.8. */ >=20 > /* Bison interface for Yacc-like parsers in C >=20 > @@ -215,6 +215,7 @@ struct GRAM_LTYPE >=20 >=20 >=20 > + > int gram_parse (void); >=20 > /* "%code provides" blocks. */ > diff --git a/src/parse-gram.y b/src/parse-gram.y > index 1de83d02..15180cb5 100644 > --- a/src/parse-gram.y > +++ b/src/parse-gram.y > @@ -1112,7 +1112,7 @@ handle_yacc (location const *loc) > const char *directive =3D "%yacc"; > bison_directive (loc, directive); > if (location_empty (yacc_loc)) > - yacc_loc =3D *loc; > + set_yacc (*loc); > else > duplicate_directive (directive, yacc_loc, *loc); > } > diff --git a/tests/calc.at b/tests/calc.at > index 11801543..aeac8418 100644 > --- a/tests/calc.at > +++ b/tests/calc.at > @@ -268,7 +268,7 @@ m4_define([AT_CALC_YYLEX(c)], >=20 >=20 > m4_define([_AT_DATA_CALC_Y(c)], > -[AT_DATA_GRAMMAR([calc.y], > +[AT_DATA_GRAMMAR([calc.y.tmp], > [[/* Infix notation calculator--calc */ > ]$4[ > %code requires > @@ -493,6 +493,18 @@ m4_define([_AT_DATA_CALC_Y(c)], > [AT_CALC_YYLEX > AT_CALC_MAIN])]) >=20 > +# Remove the generated prototypes. > +AT_CHECK( > + [AT_YACC_IF([[ > + if "$POSIXLY_CORRECT_IS_EXPORTED"; then > + sed -e '/\/\* !POSIX \*\//d' calc.y.tmp >calc.y > + else > + mv calc.y.tmp calc.y > + fi > + ]], > + [[mv calc.y.tmp calc.y]]) > +]) > + > AT_HEADER_IF([AT_DATA_SOURCE([[calc-lex.]AT_LANG_EXT], > [[#include "calc.]AT_LANG_HDR[" >=20 > diff --git a/tests/local.at b/tests/local.at > index bc43ee1c..adde4e4c 100644 > --- a/tests/local.at > +++ b/tests/local.at > @@ -687,8 +687,8 @@ m4_define([AT_YYERROR_DECLARE_EXTERN(c)], > m4_define([AT_YYERROR_DECLARE(c)], > [[#include > ]AT_LOCATION_PRINT_DECLARE[ > -]AT_YACC_IF([], [[static ]AT_YYERROR_DECLARE_EXTERN])]) > - > +/* !POSIX */ static ]AT_YYERROR_DECLARE_EXTERN[]dnl > +]) >=20 > # "%define parse.error custom" uses a different format, easy to check. > # The "verbose" one can be computed from it (see = _AT_CHECK_CALC_ERROR). > @@ -733,7 +733,7 @@ m4_define([AT_YYERROR_DEFINE(c)], > ]])[ >=20 > /* A C error reporting function. */ > -]AT_YACC_IF([], [static])[ > +/* !POSIX */ static > ]AT_YYERROR_PROTOTYPE[ > {]m4_bpatsubst(m4_defn([AT_PARSE_PARAMS]), > [[^,]+[^A-Za-z_0-9]\([A-Za-z_][A-Za-z_0-9]*\),* *], [ >=20 >=20 >=20 >=20 --Apple-Mail=_1E218F1B-B8F1-4C2A-99A8-B297CF7DE520 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmE7jRNfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g SDvqQgf/QDk1/lMTemJNXg2TZ8Wal1FpuPin4XuGF7NOfW4yK2kblKvB7uMV45Pi daWlPrhBaXPdk7H3vR+nK9xZbzpsbh8+Gg5aAkfSn6iwn/w8Cjw2TaZagEcs5JnG bXDIh3sfimSpn/FfVTLSGt4e/8YtBQeT9iAfbBYItXSAcSTKWba9H0fswlYUMxdf RjBszci4k4Xw1C3b+aF5vLbfrmxISMd6mcxZrse2aEYln0JRbue6KcPcWKjM9c5T nyuKDh+VnIFRoAY2Kw5+e0I0vwJEIJeUIs1IYmaq+ecP+j/HhmFIfocF15EcKPVN O4b1D5cYV22112wdo4LlcdJzQBgQMQ== =2QAT -----END PGP SIGNATURE----- --Apple-Mail=_1E218F1B-B8F1-4C2A-99A8-B297CF7DE520-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 11 01:47:09 2021 Received: (at 50469) by debbugs.gnu.org; 11 Sep 2021 05:47:09 +0000 Received: from localhost ([127.0.0.1]:39456 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOvr3-0004du-IC for submit@debbugs.gnu.org; Sat, 11 Sep 2021 01:47:09 -0400 Received: from smtp.lrde.epita.fr ([91.243.117.225]:34056) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOvr1-0004dY-7C for 50469@debbugs.gnu.org; Sat, 11 Sep 2021 01:47:07 -0400 Received: from [192.168.1.34] (unknown [78.197.153.106]) by smtp.lrde.epita.fr (Postfix) with ESMTPSA id 652C542F8E; Sat, 11 Sep 2021 07:47:00 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake From: Akim Demaille In-Reply-To: Date: Sat, 11 Sep 2021 07:46:14 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <8AD96943-FA8B-4A31-9A48-B0D74CEF2231@lrde.epita.fr> References: <202109082118.188LIwvf004256@freefriends.org> <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> <2F2E4EC5-CC69-4799-A0E8-1F42A80936C9@lrde.epita.fr> To: Sam James X-Mailer: Apple Mail (2.3445.104.21) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50469 Cc: 50469@debbugs.gnu.org, Kiyoshi KANAZAWA , Paul Eggert , Bison Bugs , Karl Berry X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Sam, > Le 10 sept. 2021 =C3=A0 18:51, Sam James a =C3=A9crit = : >=20 > Thanks your work on this! Brief comments on version changes: >=20 >> diff --git a/src/parse-gram.c b/src/parse-gram.c >> index 95fe43e0..3bc44dbd 100644 >> --- a/src/parse-gram.c >> +++ b/src/parse-gram.c >> @@ -1,4 +1,4 @@ >> -/* A Bison parser, made by GNU Bison 3.7.5.297-b46a. */ >> +/* A Bison parser, made by GNU Bison 3.8. */ >=20 > 3.8 -> 3.8.1, but I guess this will be automatic :) This is indeed automatic, but refers to the version of Bison that was = used to generate bison's parser. So there's nothing wrong here. Cheers!= From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 11 04:07:23 2021 Received: (at 50469) by debbugs.gnu.org; 11 Sep 2021 08:07:23 +0000 Received: from localhost ([127.0.0.1]:39507 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOy2f-000868-Fz for submit@debbugs.gnu.org; Sat, 11 Sep 2021 04:07:23 -0400 Received: from smtp.lrde.epita.fr ([91.243.117.225]:40564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOy2U-00085O-Cr for 50469@debbugs.gnu.org; Sat, 11 Sep 2021 04:07:16 -0400 Received: from [172.20.10.2] (unknown [37.164.124.141]) by smtp.lrde.epita.fr (Postfix) with ESMTPSA id 4178542F8E; Sat, 11 Sep 2021 10:06:59 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake From: Akim Demaille In-Reply-To: <8AD96943-FA8B-4A31-9A48-B0D74CEF2231@lrde.epita.fr> Date: Sat, 11 Sep 2021 10:06:13 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <74F8EADC-1082-4EA1-BFFF-40DC7BB74103@lrde.epita.fr> References: <202109082118.188LIwvf004256@freefriends.org> <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> <2F2E4EC5-CC69-4799-A0E8-1F42A80936C9@lrde.epita.fr> <8AD96943-FA8B-4A31-9A48-B0D74CEF2231@lrde.epita.fr> To: Sam James X-Mailer: Apple Mail (2.3445.104.21) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50469 Cc: 50469@debbugs.gnu.org, Kiyoshi KANAZAWA , Paul Eggert , Bison Bugs , Karl Berry X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I propose the following patch to fix Automake's prototype of yyerror. Cheers! commit 38242845a146d6438e3f884100aa3e670142e393 Author: Akim Demaille Date: Sat Sep 11 09:39:00 2021 +0200 tests: let yacc's yyerror take its argument as a const string =20 Some of yacc error messages are const strings, it makes no sense for = yyerror to take a `char*`, it should be a `const char*`. =20 Fixes all the failures reported by Kiyoshi Kanazawa. See bug#50469. =20 * t/cond35.sh, t/silent-many-languages.sh, t/silent-yacc-headers.sh, * t/silent-yacc.sh, t/subpkg-yacc.sh, t/suffix10.tap, = t/yacc-basic.sh, * t/yacc-clean.sh, t/yacc-d-basic.sh, t/yacc-d-vpath.sh, * t/yacc-deleted-headers.sh, t/yacc-depend.sh, t/yacc-depend2.sh, * t/yacc-dist-nobuild-subdir.sh, t/yacc-dist-nobuild.sh, = t/yacc-dry.sh, * t/yacc-line.sh, t/yacc-misc.sh, t/yacc-mix-c-cxx.sh, = t/yacc-nodist.sh, * t/yacc-pr204.sh, t/yacc-subdir.sh, t/yacc-vpath.sh, * t/yflags-cmdline-override.sh, t/yflags-force-override.sh (yyerror): =46rom `char*` to `const char*`. Enforce consistency: prefer `{}` to `{ return; }`. diff --git a/t/cond35.sh b/t/cond35.sh index 786bb3cf5..37a25eae3 100644 --- a/t/cond35.sh +++ b/t/cond35.sh @@ -73,7 +73,7 @@ END =20 cat > tparse.y << 'END' %{ -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %token EOF %% diff --git a/t/silent-many-languages.sh b/t/silent-many-languages.sh index edb59e7c9..9361b2bf8 100644 --- a/t/silent-many-languages.sh +++ b/t/silent-many-languages.sh @@ -188,7 +188,7 @@ EOF cat > foo6.y <<'EOF' %{ extern int yylex (void); -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %token EOF %% diff --git a/t/silent-yacc-headers.sh b/t/silent-yacc-headers.sh index c10fc5cc4..0582973f5 100644 --- a/t/silent-yacc-headers.sh +++ b/t/silent-yacc-headers.sh @@ -39,7 +39,7 @@ EOF =20 cat > parse.y <<'EOF' %{ -void yyerror (char *s) { return; } +void yyerror (const char *s) {} int yylex (void) { return 0; } int main (void) { return 0; } %} diff --git a/t/silent-yacc.sh b/t/silent-yacc.sh index d11fc2ab2..3254d4014 100644 --- a/t/silent-yacc.sh +++ b/t/silent-yacc.sh @@ -50,7 +50,7 @@ EOF =20 cat > foo.y <<'EOF' %{ -void yyerror (char *s) { return; } +void yyerror (const char *s) {} int yylex (void) { return 0; } int main (void) { return 0; } %} diff --git a/t/subpkg-yacc.sh b/t/subpkg-yacc.sh index eac56cb1f..9e31c5151 100644 --- a/t/subpkg-yacc.sh +++ b/t/subpkg-yacc.sh @@ -88,7 +88,7 @@ EOF cat > lib/foo.y << 'END' %{ int yylex (void) { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; diff --git a/t/suffix10.tap b/t/suffix10.tap index 2258120e7..d233c6c21 100644 --- a/t/suffix10.tap +++ b/t/suffix10.tap @@ -39,7 +39,7 @@ libfoo_la_SOURCES =3D foo.x_ :; { echo '/* autogenerated */' \ && echo '%{' \ && echo 'int yylex () {return 0;}' \ - && echo 'void yyerror (char *s) {}' \ + && echo 'void yyerror (const char *s) {}' \ && echo '%}' \ && echo '%%' \ && echo "foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};" \ diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh index cfbaa1957..d50157099 100644 --- a/t/yacc-basic.sh +++ b/t/yacc-basic.sh @@ -42,7 +42,7 @@ cat > parse.y << 'END' #include #include int yylex () { return getchar (); } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% a : 'a' { exit(0); }; diff --git a/t/yacc-bison-skeleton.sh b/t/yacc-bison-skeleton.sh index 60e85dd85..6069489da 100644 --- a/t/yacc-bison-skeleton.sh +++ b/t/yacc-bison-skeleton.sh @@ -44,7 +44,7 @@ void yyerror (const char *s); foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; %% int yylex () { return 0; } -void yyerror (const char *s) { return; } +void yyerror (const char *s) {} END =20 cat > foo.c << 'END' diff --git a/t/yacc-clean-cxx.sh b/t/yacc-clean-cxx.sh index fe2795894..811d46939 100644 --- a/t/yacc-clean-cxx.sh +++ b/t/yacc-clean-cxx.sh @@ -70,7 +70,7 @@ cat > sub1/parsefoo.yxx << 'END' #include // "std::" qualification required by Sun C++ 5.9. int yylex (void) { return std::getchar (); } -void yyerror (const char *s) { return; } +void yyerror (const char *s) {} %} %% x : 'x' { }; diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh index 9ea13a704..c248e5c89 100644 --- a/t/yacc-clean.sh +++ b/t/yacc-clean.sh @@ -66,7 +66,7 @@ END cat > sub1/parse.y << 'END' %{ int yylex () { return (getchar ()); } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% x : 'x' { }; diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh index 0e163eb44..b9dcd458b 100644 --- a/t/yacc-cxx.sh +++ b/t/yacc-cxx.sh @@ -48,7 +48,7 @@ cat > parse1.yy << 'END' #include // "std::" qualification required by Sun C++ 5.9. int yylex (void) { return std::getchar (); } -void yyerror (const char *s) { return; } +void yyerror (const char *s) {} %} %% a : 'a' { exit(0); }; diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh index 66c11063e..b468d5532 100644 --- a/t/yacc-d-basic.sh +++ b/t/yacc-d-basic.sh @@ -48,7 +48,7 @@ cat > foo/parse.y << 'END' %{ #include "parse.h" int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% x : 'x' {}; diff --git a/t/yacc-d-vpath.sh b/t/yacc-d-vpath.sh index e0fb951f2..86ae07b0c 100644 --- a/t/yacc-d-vpath.sh +++ b/t/yacc-d-vpath.sh @@ -41,7 +41,7 @@ END cat > parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %token FOOBAR %% @@ -74,7 +74,7 @@ $sleep cat > ../parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %token FUBAR %% @@ -94,7 +94,7 @@ $sleep cat > ../parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %token MAUDE %% diff --git a/t/yacc-deleted-headers.sh b/t/yacc-deleted-headers.sh index 766caac5c..5b661d1e5 100644 --- a/t/yacc-deleted-headers.sh +++ b/t/yacc-deleted-headers.sh @@ -56,7 +56,7 @@ cat > parse1.y << 'END' %{ #include "parse1.h" int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} %} %token ZARDOZ %% @@ -81,7 +81,7 @@ sed 's/"parse1\.h"/"parse3.h"/' main1.c > main3.c cat > parse4.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} %} %% x : 'x' {}; diff --git a/t/yacc-depend.sh b/t/yacc-depend.sh index 27c704b3d..dc82a316a 100644 --- a/t/yacc-depend.sh +++ b/t/yacc-depend.sh @@ -36,7 +36,7 @@ END cat > foo.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} %} %token TOKEN %% diff --git a/t/yacc-depend2.sh b/t/yacc-depend2.sh index ce730f42b..c2b1b9be5 100644 --- a/t/yacc-depend2.sh +++ b/t/yacc-depend2.sh @@ -42,7 +42,7 @@ END cat > foo.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} %} %token TOKEN %% diff --git a/t/yacc-dist-nobuild-subdir.sh = b/t/yacc-dist-nobuild-subdir.sh index c918c3996..8b15d2c2a 100644 --- a/t/yacc-dist-nobuild-subdir.sh +++ b/t/yacc-dist-nobuild-subdir.sh @@ -36,7 +36,7 @@ mkdir sub cat > sub/parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} %} %% x : 'x' {}; diff --git a/t/yacc-dist-nobuild.sh b/t/yacc-dist-nobuild.sh index 5e1a2a70a..f4d3fbcb2 100644 --- a/t/yacc-dist-nobuild.sh +++ b/t/yacc-dist-nobuild.sh @@ -37,7 +37,7 @@ END cat > parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; diff --git a/t/yacc-dry.sh b/t/yacc-dry.sh index c9c1aa2e0..43e1422a6 100644 --- a/t/yacc-dry.sh +++ b/t/yacc-dry.sh @@ -38,7 +38,7 @@ END cat > parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; diff --git a/t/yacc-line.sh b/t/yacc-line.sh index 10e8a8cd4..ef48d83c5 100644 --- a/t/yacc-line.sh +++ b/t/yacc-line.sh @@ -57,7 +57,7 @@ END cat > zardoz.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} %} %% x : 'x' {}; diff --git a/t/yacc-misc.sh b/t/yacc-misc.sh index 2371a099f..9dc8f9dfd 100644 --- a/t/yacc-misc.sh +++ b/t/yacc-misc.sh @@ -35,7 +35,7 @@ END cat > parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; @@ -45,7 +45,7 @@ END cat > bar.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% fubar : 'f' 'o' 'o' 'b' 'a' 'r' {}; diff --git a/t/yacc-mix-c-cxx.sh b/t/yacc-mix-c-cxx.sh index ad9bf9523..45dffa0d2 100644 --- a/t/yacc-mix-c-cxx.sh +++ b/t/yacc-mix-c-cxx.sh @@ -53,7 +53,7 @@ END cat > p.y <<'END' %{ int yylex (void) { int new =3D 0; return new; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} %} %token ZARDOZ %% @@ -85,7 +85,7 @@ cat > parse.yy <<'END' #include #include "parse.hh" int yylex (void) { return 0; } -void yyerror (const char *s) { return; } +void yyerror (const char *s) {} %} %token FOOBAR %% @@ -97,7 +97,7 @@ cat > parse2.y++ <<'END' %{ #include int yylex (void) { return 0; } -void yyerror (const char *s) { return; } +void yyerror (const char *s) {} %} %% x : 'x' {}; diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh index 075e07743..3b523e888 100644 --- a/t/yacc-nodist.sh +++ b/t/yacc-nodist.sh @@ -59,7 +59,7 @@ parse.y: :; { : \ && echo "%{" \ && echo "int yylex () { return 0; }" \ - && echo "void yyerror (char *s) {}" \ + && echo "void yyerror (const char *s) {}" \ && echo "%}" \ && echo "%%" \ && echo "maude : 'm' 'a' 'u' 'd' 'e' {}"; \ diff --git a/t/yacc-pr204.sh b/t/yacc-pr204.sh index 9606f7b3d..e07f5e5c9 100644 --- a/t/yacc-pr204.sh +++ b/t/yacc-pr204.sh @@ -51,7 +51,7 @@ EOF cat > parse.y << 'END' %{ int yylex () {return 0;} -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% maude : 'm' 'a' 'u' 'd' 'e' {}; diff --git a/t/yacc-subdir.sh b/t/yacc-subdir.sh index 5f3862187..879b433c6 100644 --- a/t/yacc-subdir.sh +++ b/t/yacc-subdir.sh @@ -49,7 +49,7 @@ mkdir foo cat > foo/parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; diff --git a/t/yacc-vpath.sh b/t/yacc-vpath.sh index f9bb719da..5481d9646 100644 --- a/t/yacc-vpath.sh +++ b/t/yacc-vpath.sh @@ -40,7 +40,7 @@ END cat > parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; @@ -67,7 +67,7 @@ $sleep cat > ../parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% fubar : 'f' 'o' 'o' 'b' 'a' 'r' {}; @@ -85,7 +85,7 @@ $sleep cat > ../parse.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% maude : 'm' 'a' 'u' 'd' 'e' {}; diff --git a/t/yflags-cmdline-override.sh b/t/yflags-cmdline-override.sh index eaee47849..63d31fbfa 100644 --- a/t/yflags-cmdline-override.sh +++ b/t/yflags-cmdline-override.sh @@ -43,7 +43,7 @@ END cat > foo.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} int main () { return 0; } %} %% diff --git a/t/yflags-force-override.sh b/t/yflags-force-override.sh index 2d5cb55e1..1346c1259 100644 --- a/t/yflags-force-override.sh +++ b/t/yflags-force-override.sh @@ -37,7 +37,7 @@ END cat > foo.y << 'END' %{ int yylex () { return 0; } -void yyerror (char *s) { return; } +void yyerror (const char *s) {} int main () { return 0; } %} %% From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 11 07:03:43 2021 Received: (at 50469) by debbugs.gnu.org; 11 Sep 2021 11:03:43 +0000 Received: from localhost ([127.0.0.1]:39602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mP0nP-0004Bd-15 for submit@debbugs.gnu.org; Sat, 11 Sep 2021 07:03:43 -0400 Received: from sonicconh5002-vm2.mail.kks.yahoo.co.jp ([114.110.61.29]:42274) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mP0nM-0004BL-1i for 50469@debbugs.gnu.org; Sat, 11 Sep 2021 07:03:41 -0400 X-YMail-OSG: 2h_9z_4VM1mdrILx7Zo_XHdF0PXNO2ihDmN1ThzydwGhZQ684zF5AmV8yg6q6ke XRb5EplDdXC3Rt8CIz7MpPDBzdMuj5frLWnOsVwfHSnh0NLeuOpG.F34RfpLzXPA4GrpaJgdCNwl S1c2G76Pg5JWchsetq2BgeJZ14QIlS1m9ukXEEklP0w2D0pp2b36_ePA5I2s9UoVYe7c2f6SAF8n Zq2PNI79g9s6aoY_hlldQRiROdWRACcAzbZss8Ky8Z9c1aUWkmwX0MRykk_IqJHIYLiQMF26La9I 1wHEKiNu9eviBNIsZg6tCkd24CXE9JLazpx6jrE8YOD_eg87JD7lBPGC7JSh8CmldEomNTHEq14. ZvLXN3BAcZOPazhDVqOubdyBMk6c.r7p3baE7lp2WmDNPXOZtS8LXsxcmfjNAj1DbVypaJQMrKdq NTf6X.To9q70qblSvYLoO5UCGrui20NHNB6wZ8y3Uxc0qN5kCv52aVJ5DP6HvNC5WTWWwP5YAPkL hrr4lDlxWrvuWonrKpnhoZYyaiNgm58jEB2BygqmL9niT22xYHl1D8bsG8xR7JDcsRs5SJYzSjmn ixwyYKnsvGy9VvRvFQH4DXae7Zuhdw_KUi9hAX86cUMyvM.EzeMPohsriYcsa_zG19UX97Aj9P8W jDlXBw3Nvn4DX0qqZ0_0S.3t64ALIDtpo5w0nhrdsoMtg8MhYuUuJzys4aR1G0NokXNOSkwkpa9x vEikIDV90CBXS4PexjMHDb4d4gNLo8TAUxXDRDELm.8mvjJZwH3nlg.enPLzZhh5SoxzFtdcxABO tKPd_juiMANb3.JS3lXY8_0ifuUcQrw3_9kyccsI5TzVBjMrmKMAzYKS9iyfTwsbGO6wrpIRPKvQ ArS29X2xH4nM5A712LOZ3wZRbis7Ta1V0caGItdswknsKm3VoEiAhgmgn1OocuvBDkXRuztqu5RD WCu5ti4Z9cTOaekN553.rMcwKa.46lQ-- Received: from sonicgw.mail.yahoo.co.jp by sonicconh5002.mail.kks.yahoo.co.jp with HTTP; Sat, 11 Sep 2021 11:03:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1631358212; s=yj20110701; d=yahoo.co.jp; h=Date:From:Reply-To:To:Cc:Message-ID:In-Reply-To:References:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=hXi1kgishvqw7NxdDMJpyrzeU+9bwO3VvK0PBZk7uvo=; b=XbDRIpSCMHOJdFndB1PPmwYzdB6/dgQpuunx7IO8V6+Cghyf4jnqCaziKVWEuyi8 vi3L1NFyURgR5ESC/L4LPyG1bBcH3+C5Xi4ZNVG28eibt14bwg6EAnD9W+Yj8AT86ob TWufNSnJStJZBRNscWST2vCVfTFPhnt5ugrlqiAY= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=yj20110701; d=yahoo.co.jp; h=Date:From:Reply-To:Cc:Message-ID:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding; b=GEbD+yXKBeYg3ykjYaMxuE3LWnK4QJtDrh4n7MCDhMEeTviT/eoTGim/+Wg2r/Cy G/PufC4Cs3cLPUTAaV7ft8goKqOm6K4hn4pBTRNRnr8+1YybHgoH2/PYgM+iSBktDKB AKsRadJZbKe15cEt35/1s5bI5Gjtl5CQjfmCz/Us=; Date: Sat, 11 Sep 2021 20:03:30 +0900 (JST) From: Kiyoshi KANAZAWA To: Akim Demaille , Sam James Message-ID: <1359014733.1218795.1631358210940.JavaMail.yahoo@mail.yahoo.co.jp> In-Reply-To: <74F8EADC-1082-4EA1-BFFF-40DC7BB74103@lrde.epita.fr> References: <202109082118.188LIwvf004256@freefriends.org> <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> <2F2E4EC5-CC69-4799-A0E8-1F42A80936C9@lrde.epita.fr> <8AD96943-FA8B-4A31-9A48-B0D74CEF2231@lrde.epita.fr> <74F8EADC-1082-4EA1-BFFF-40DC7BB74103@lrde.epita.fr> Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Length: 315 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50469 Cc: "50469@debbugs.gnu.org" <50469@debbugs.gnu.org>, Paul Eggert , Bison Bugs , Karl Berry X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Kiyoshi KANAZAWA Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thank you, Akim. I confirmed failures of automake's make check disappeared with your patch, except for original ones, suchi as FAIL: t/lex-clean-cxx.sh FAIL: t/lex-depend-cxx.sh Tested with both of bison-3.8 & bison-3.8.1. Failures of flex's make check also disappeared with bison-3.8.1. Regards, --- Kiyoshi From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 11 10:56:38 2021 Received: (at 50469) by debbugs.gnu.org; 11 Sep 2021 14:56:38 +0000 Received: from localhost ([127.0.0.1]:41223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mP4Qo-0004Cy-Fa for submit@debbugs.gnu.org; Sat, 11 Sep 2021 10:56:38 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:32818) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mP4Qm-0004Cj-Ez for 50469@debbugs.gnu.org; Sat, 11 Sep 2021 10:56:36 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 6BBE7160113; Sat, 11 Sep 2021 07:56:30 -0700 (PDT) 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 PsndiPXOpBdz; Sat, 11 Sep 2021 07:56:29 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 81585160117; Sat, 11 Sep 2021 07:56:29 -0700 (PDT) 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 FofS2JG6Wymp; Sat, 11 Sep 2021 07:56:29 -0700 (PDT) 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 27177160113; Sat, 11 Sep 2021 07:56:29 -0700 (PDT) Subject: Re: bug#50469: [bison-3.8] bug or side effect to flex & automake To: Kiyoshi KANAZAWA , Akim Demaille , Sam James References: <202109082118.188LIwvf004256@freefriends.org> <7cd5984d-8dc1-033b-d0c7-ec98694281cd@cs.ucla.edu> <805D69E9-B263-4403-A932-B73D87A302A9@lrde.epita.fr> <2F2E4EC5-CC69-4799-A0E8-1F42A80936C9@lrde.epita.fr> <8AD96943-FA8B-4A31-9A48-B0D74CEF2231@lrde.epita.fr> <74F8EADC-1082-4EA1-BFFF-40DC7BB74103@lrde.epita.fr> <1359014733.1218795.1631358210940.JavaMail.yahoo@mail.yahoo.co.jp> From: Paul Eggert Organization: UCLA Computer Science Department Message-ID: Date: Sat, 11 Sep 2021 07:56:28 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <1359014733.1218795.1631358210940.JavaMail.yahoo@mail.yahoo.co.jp> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 50469 Cc: "50469@debbugs.gnu.org" <50469@debbugs.gnu.org>, Bison Bugs , Karl Berry X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.4 (---) On 9/11/21 4:03 AM, Kiyoshi KANAZAWA wrote: > Failures of flex's make check also disappeared with bison-3.8.1. Thanks for testing, and thanks Akim for writing the patch. I installed it on the automake master branch on Savannah. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 19 17:09:01 2021 Received: (at 50469-done) by debbugs.gnu.org; 19 Sep 2021 21:09:01 +0000 Received: from localhost ([127.0.0.1]:40120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mS43Z-0007ut-G3 for submit@debbugs.gnu.org; Sun, 19 Sep 2021 17:09:01 -0400 Received: from freefriends.org ([96.88.95.60]:47854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mS43X-0007ub-VR for 50469-done@debbugs.gnu.org; Sun, 19 Sep 2021 17:09:00 -0400 X-Envelope-From: karl@freefriends.org X-Envelope-To: <50469-done@debbugs.gnu.org> Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 18JL8w2o020133 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <50469-done@debbugs.gnu.org>; Sun, 19 Sep 2021 15:08:59 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 18JL8wCO020132; Sun, 19 Sep 2021 15:08:58 -0600 Date: Sun, 19 Sep 2021 15:08:58 -0600 Message-Id: <202109192108.18JL8wCO020132@freefriends.org> From: Karl Berry To: 50469-done@debbugs.gnu.org Subject: X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [96.88.95.60 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 2.0 BLANK_SUBJECT Subject is present but empty 2.3 EMPTY_MESSAGE Message appears to have no textual parts and no Subject: text X-Debbugs-Envelope-To: 50469-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) From unknown Fri Jun 20 07:16:03 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 18 Oct 2021 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator