Page MenuHomePhabricator

Fixed runtime error on older gcc/g++ (<4.9) where std::reg_ex is non-standards compliant and produced a regex compile fail. This new simpler regex does not trip up even broken libstdc++ std::regex implementations.
ClosedPublic

Authored by CCulianu on Jul 2 2017, 10:29.

Details

Summary

Fixes phabricator issue T56

Test Plan

make check on Ubuntu 14.04 / 14.05 (Travis equivalent)

Diff Detail

Repository
rABC Bitcoin ABC
Branch
calin_regex_net_tests_fix
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 445
Build 445: arc lint + arc unit

Event Timeline

Owners added a reviewer: Restricted Owners Package.Jul 2 2017, 10:29
Herald added 1 blocking reviewer(s): Restricted Project. · View Herald TranscriptJul 2 2017, 10:29

I'm ok with the simplification of the regex and nailing it down to use std::regex::basic .

I've tested this by running src/test/test_bitcoind on an Ubuntu 14.04 VM with the following configuration:

  • without the patch : problem reproduced
  • with the patch : No errors detected

I'm keeping this open to see if anyone else has comments on the patch, but if not I'm going to accept by Mon 3 Jun 12:00 AM UTC.

This revision is now accepted and ready to land.Jul 2 2017, 18:04
This revision was automatically updated to reflect the committed changes.