lexxmark / winflexbison

Main winflexbision repository
GNU General Public License v3.0
416 stars 120 forks source link

Update to bison 3.7.4 #68

Closed GitMensch closed 3 years ago

GitMensch commented 4 years ago

Bison 3.7.4 was released, solving the original issue.

Originally posted by @GitMensch in https://github.com/lexxmark/winflexbison/issues/67#issuecomment-727245236

Noteworthy changes in release 3.7.4 (2020-11-14) [stable]

Bug fixes

Bug fixes in yacc.c

In Yacc mode, all the tokens are defined twice: once as an enum, and then as a macro. YYEMPTY was missing its macro.

Bug fixes in lalr1.cc

The lalr1.cc skeleton used to emit internal assertions (using YY_ASSERT) even when the parse.assert %define variable is not enabled. It no longer does.

The private internal macro YY_ASSERT now obeys the api.prefix %define variable.

When there is a very large number of tokens, some assertions could be long enough to hit arbitrary limits in Visual C++. They have been rewritten to work around this limitation.

Changes

The YYBISON macro in generated "regular C parsers" (from the "yacc.c" skeleton) used to be defined to 1. It is now defined to the version of Bison as an integer (e.g., 30704 for version 3.7.4).

lexxmark commented 4 years ago

bison was upgraded in master.

upgrading gnu lib files and testing is on the go.

egorpugin commented 3 years ago

Hi,

Would you consider making a release or a tag?

lexxmark commented 3 years ago

I'm upgrading gnu libs now. I hope new release will be available soon

lexxmark commented 3 years ago

@GitMensch I have a problem during upgrading gnulib.

Especially when I upgraded obstack.h it seems it's not accepting negative numbers for obstack_blank function. However M4 tool code still uses obstack_blank with negative values in macro.h and caused runtime errors.

I get the most fresh M4 code from https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz It has both \m4-1.4.18\src\macro.c and \m4-1.4.18\lib\obstack.h files.

lexxmark commented 3 years ago

Everything seems to be fixed now.

@egorpugin Please check this win_flex_bison-2.5.24.zip

Will make a new release next week.

GitMensch commented 3 years ago

So the gnulib issue you've seen is solved? Or are some parts not updated?

egorpugin commented 3 years ago

Please check this win_flex_bison-2.5.24.zip

Is it master? I build from sources.

lexxmark commented 3 years ago

Is it master? I build from sources.

Yes, it's in master now

So the gnulib issue you've seen is solved? Or are some parts not updated?

Yes I upgraded M4 to v1.4.18

The only issue I met is that new M4 uses gl_avltree_oset now and I had to stay with old gl_rbtree_oset because didn't find an new implementation of gl_rbtree_oset which required in other winflexbison code.

egorpugin commented 3 years ago

Works for me.

lexxmark commented 3 years ago

winflexbison version 2.5.24 has released