Skip to content

Bump minimum re2c version to 0.13.7 #6516

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Conversation

cmb69
Copy link
Member

@cmb69 cmb69 commented Dec 15, 2020

We recently merged PR #6464, but that fix actually requires re2c 0.13.7 (released 2014-07-25), while the current requirement of PHP-8.0 is re2c 0.13.4 (released 2008-04-05). That bugfix has been reverted from PHP-7.4.14, because PHP 7.4 is packaged with re2c 0.13.5, but PHP 8.0.0RC1 has it, becaused it's packaged with re2c 0.16.0. Given that users building from the release tarballs would not be affected by this re2c version bump at all, and that the minimum required version has been released more than six years ago, in my opinion this late requirements bump is acceptable.

@sgolemon, @carusogabriel, what do you think?

@cmb69 cmb69 changed the base branch from master to PHP-8.0 December 15, 2020 23:12
Copy link
Contributor

@carusogabriel carusogabriel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the reasons, I should say it's not a problem on doing it!

@php-pulls php-pulls closed this in 420184a Dec 28, 2020
@cmb69 cmb69 deleted the cmb/bump-re2c branch December 28, 2020 12:44
php-pulls pushed a commit to php/doc-en that referenced this pull request Dec 28, 2020
cmb69 referenced this pull request Jan 8, 2021
We avoid `YYCURSOR` becoming `NULL` by initializing `YYMARKER`, and add
a default rule for `<NORMAL>` where we catch unexpected input.

We also fix the only superficially related issue regarding empty input
followed by `T_SEPARATOR` and command, which caused another segfault.

Closes GH-6464.
@rlerdorf
Copy link
Member

rlerdorf commented Jan 9, 2021

We recently merged PR #6464, but that fix actually requires re2c 0.13.7 (released 2014-07-25), while the current requirement of PHP-8.0 is re2c 0.13.4 (released 2008-04-05). That bugfix has been reverted from PHP-7.4.14, because PHP 7.4 is packaged with re2c 0.13.5, but PHP 8.0.0RC1 has it, becaused it's packaged with re2c 0.16.0. Given that users building from the release tarballs would not be affected by this re2c version bump at all, and that the minimum required version has been released more than six years ago, in my opinion this late requirements bump is acceptable.

@sgolemon, @carusogabriel, what do you think?

Note that the old way of having a default rule was to use [^] instead of * which should work for PHP 7.4 without bumping the re2c version. See http://re2c.org/manual/warnings/undefined_control_flow/wundefined_control_flow.html#the-old-default-rule

@rlerdorf
Copy link
Member

rlerdorf commented Jan 9, 2021

By the way, 8.0.1 went out without this re2c version bump: https://github.com/php/php-src/blob/PHP-8.0.1/configure.ac#L157
which means distro folks and people doing full automated koji builds aren't able to build PHP 8.0.1 on older distros like Centos 7 that still ship with re2c 0.13.5.

@cmb69
Copy link
Member Author

cmb69 commented Jan 11, 2021

Thanks, @rlerdorf. Unfortunately, using <NORMAL>[^] instead of <NORMAL>* breaks phpdbg; e.g. quit is no longer accepted. Probably best to revert all that: PR #6593.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants