aboutsummaryrefslogtreecommitdiffstats
path: root/devel/bison-devel
diff options
context:
space:
mode:
authorseanc <seanc@FreeBSD.org>2004-12-06 08:14:35 +0800
committerseanc <seanc@FreeBSD.org>2004-12-06 08:14:35 +0800
commit071b22bb5a9af35bf69f5f832ccb13c45e1d28cd (patch)
tree36cef949df3408d402524c91d3f2ee56585faacb /devel/bison-devel
parent83a5ed3247bb0eebfda9540cd31215df24b0f9b7 (diff)
downloadfreebsd-ports-gnome-071b22bb5a9af35bf69f5f832ccb13c45e1d28cd.tar.gz
freebsd-ports-gnome-071b22bb5a9af35bf69f5f832ccb13c45e1d28cd.tar.zst
freebsd-ports-gnome-071b22bb5a9af35bf69f5f832ccb13c45e1d28cd.zip
Bison 1.875 was generating broken C++ code. This patch will be submitted
to GNU for inclusion in the main tree. PR: ports/74436 Submitted by: Uranus uranus - a t - it dot muds dot net
Diffstat (limited to 'devel/bison-devel')
-rw-r--r--devel/bison-devel/Makefile2
-rw-r--r--devel/bison-devel/files/patch-data::yacc.c48
2 files changed, 49 insertions, 1 deletions
diff --git a/devel/bison-devel/Makefile b/devel/bison-devel/Makefile
index 9cbe502f92fa..39d5bb440cb3 100644
--- a/devel/bison-devel/Makefile
+++ b/devel/bison-devel/Makefile
@@ -7,7 +7,7 @@
PORTNAME= bison
PORTVERSION= 1.875
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/devel/bison-devel/files/patch-data::yacc.c b/devel/bison-devel/files/patch-data::yacc.c
new file mode 100644
index 000000000000..d30764ae6230
--- /dev/null
+++ b/devel/bison-devel/files/patch-data::yacc.c
@@ -0,0 +1,48 @@
+--- data/yacc.c.orig Sat Dec 28 00:36:02 2002
++++ data/yacc.c Sun Dec 5 14:26:50 2004
+@@ -465,7 +465,13 @@
+
+ #define YYACCEPT goto yyacceptlab
+ #define YYABORT goto yyabortlab
+-#define YYERROR goto yyerrlab1
++#define YYERROR ]b4_location_if([do \
++ { \
++ yylerrsp = ylap; \
++ *++yylerrsp = yyloc; \
++ goto yyerrlab1; \
++ } while (0)], \
++ [goto yyerrlab1])[
+
+ /* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+@@ -1103,29 +1109,13 @@
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+- goto yyerrlab2;
++ goto yyerrlab1;
+
+
+ /*----------------------------------------------------.
+ | yyerrlab1 -- error raised explicitly by an action. |
+ `----------------------------------------------------*/
+ yyerrlab1:
+-
+- /* Suppress GCC warning that yyerrlab1 is unused when no action
+- invokes YYERROR. */
+-#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
+- __attribute__ ((__unused__))
+-#endif
+-
+-]b4_location_if([ yylerrsp = yylsp;
+- *++yylerrsp = yyloc;])[
+- goto yyerrlab2;
+-
+-
+-/*---------------------------------------------------------------.
+-| yyerrlab2 -- pop states until the error token can be shifted. |
+-`---------------------------------------------------------------*/
+-yyerrlab2:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)