[BUGFIX] Replace STL regex with Boost for MinGW bug #3251
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Submission Checklist
./runTests.py src/test/unit
make cpplint
Summary
Depending on the user's locale, using
std::regex
with the MinGW GCC in RTools will result in a memory leak and the program hangs.This has previously been reported as bug to MinGW here, but it is still an issue.
For Stan, this can cause a hang when parsing JSON data (seen recently as the cause of this downstream issue). We can instead use the Boost Regex headers as a drop-in replacement, which I've verified resolve the issue.
Intended Effect
Avoid hanging under certain locales
How to Verify
Side Effects
N/A
Documentation
N/A
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Andrew Johnson
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: