Commit Graph

285 Commits

Author SHA1 Message Date
ae9f38e178 de-fuzz: Failed Pearl verbs should fail better and louder. 2017-02-18 13:04:34 +00:00
d70b7bcefe de-fuzz: fix infinite recursion when analysing tail-recursive expressions. 2017-02-16 19:24:22 +00:00
7f89a8f3b8 de-fuzz: add missing typename qualifiers to previous fix. 2017-02-15 19:48:56 +00:00
edd94320c7 de-fuzz: prevent infinite recursion in recursive expressions (case 14). 2017-02-15 19:44:41 +00:00
b05fafe1c5 de-fuzz: improve set creation so as not to allow duplicate characters. 2017-02-14 19:41:35 +00:00
febd44ddd6 de-fuzz, first fix for issue 14.
Make zeros in character set a single character long only.
2017-02-14 18:13:32 +00:00
2cb49b97da de-fuzz: Fix case 0 again. 2017-02-14 17:38:47 +00:00
8337584087 De-Fuzz: Fixes for issues 0 and 3 from #12818:
Prevent left shifting by more bits than there are in type unsigned, and
Check that alternative points to a valid state before accessing it: we may not have constructed that state yet in a fail situation.
2017-02-12 19:57:35 +00:00
7719dedbaf Fix buffer over-run error when parsing invalid regex.
See: https://svn.boost.org/trac/boost/ticket/12222.
2016-06-09 19:00:29 +01:00
9059bfb5c6 Fix case-sensitivity change behaviour.
See https://svn.boost.org/trac/boost/ticket/11205.
Update docs to match.
2016-03-14 19:22:18 +00:00
955d077d2b Allow types wider than int in \x{} expressions (for char32_t etc).
Fixes: https://svn.boost.org/trac/boost/ticket/11988.
2016-02-17 18:58:05 +00:00
d8af53e222 restored missing header 2015-12-31 15:48:01 -08:00
a0dfd81516 Lockfree mem_block_cache only active if std::atomic is available 2015-12-31 15:46:20 -08:00
3f14031142 Updated with platform checks 2015-12-15 14:26:03 -08:00
b9f55efe98 Made the mem_cache_block lockfree
This *significantly* improves parallel performance of regex.
Currently if I have a large number of threads all using regexes; even if
they are using idependent regex objects, performance is still extremely poor
due to the lock inside of the mem_block_cache.
2015-12-08 21:17:50 -08:00
2a525e5aa6 avoid duplicate check of markid.
Markid is already checked to be >0.
2015-11-03 14:12:17 +05:30
e824ddb35b Remove redundant check and make it an assert. 2015-10-23 13:27:01 +01:00
7cbef4a79b Add missing include. 2015-10-22 18:03:03 +01:00
e5986b8f76 Tentative VC7.1 workaround. 2015-10-22 11:29:55 +01:00
6d2be646d8 universal-windows: Do not build w32_regex_traits
Since Vista LCID has been deprecated and locales are now using string-names,
this makes the effort to support w32_regex_traits quite large, therefore we
opt to disable w32_regex_traits right now when targeting universal-windows.
2015-10-08 10:22:44 +02:00
a307fd7077 Fix msvc warning. 2015-10-06 13:17:01 +01:00
f617c73e9a Fix some GCC and clang warnings introduced by the new code 2015-10-06 12:46:09 +01:00
201d3a424e Add recursive implementation of THEN. 2015-10-05 18:27:37 +01:00
7a4e883675 Get THEN working for non-recursive implementation.
Fix various bugs in the other verbs exposed by new tests.
2015-10-04 19:28:25 +01:00
9a36e035f2 Add support for PRUNE and SKIP (no MARK's though). 2015-10-01 18:34:59 +01:00
83140ddbed Fix up recursive implementation of ACCEPT and COMMIT. 2015-09-30 18:47:59 +01:00
b208ef4eed Get commit working in recursive mode. 2015-09-29 19:20:09 +01:00
c281c9cc40 Add COMMIT support plus lots of tests. 2015-09-29 17:40:43 +01:00
2580fb035f Add support for ACCEPT verb. 2015-09-26 18:47:39 +01:00
b557febb0e Start adding Perl verb support with FAIL as the first supported verb. 2015-09-25 19:30:20 +01:00
94c7d4a38a Fix start of extended character range.
See https://svn.boost.org/trac/boost/ticket/11524
2015-09-24 19:01:44 +01:00
6ffcc5ede0 Change detail namespace.
Big search and replace to change name of internal namepace so it's mangled with the Boost version number - the aim is to reduce the chances of mixing different header and library versions.
2015-04-04 19:10:37 +01:00
297e87360c Fix for bug in recursive expressions, see http://lists.boost.org/Archives/boost/2015/03/221018.php 2015-03-24 19:09:17 +00:00
74d6318135 Add missing function bodies for sub_match::begin/end and enhance tests. 2015-03-19 19:50:00 +00:00
668279010d Add workaround for broken Cygwin ctype facet, plus some warning suppression. 2015-03-19 19:06:26 +00:00
3fde6e8ddd Make sub_match a valid range as per https://svn.boost.org/trac/boost/ticket/11036 2015-03-19 18:14:41 +00:00
115c4e7f42 Fix typo, see https://svn.boost.org/trac/boost/ticket/10268 2014-11-13 11:23:12 +00:00
dbda6314da Initialize all members in initializer list, see https://github.com/boostorg/regex/pull/6 2014-11-13 11:02:36 +00:00
ddd48205b8 Silence Covertity warnings, see https://github.com/boostorg/regex/pull/7 2014-11-13 11:01:50 +00:00
e930d21bd2 Merge branch 'patch-3' of https://github.com/tempoz/regex into develop 2014-11-13 10:17:11 +00:00
abf57b082b Initialize m_position, m_end, and m_flags
The constructor for basic_regex_formatter left m_position, m_end, and m_flags uninitialized, as uncovered by Coverity CID12310. We now value-initialize them in the initializer list.
2014-11-11 13:57:37 -05:00
406b2a9aa1 Apply patch from https://svn.boost.org/trac/boost/ticket/10682 2014-10-21 09:15:40 +01:00
05b582761d Fix case that differs from Perl behavior. 2014-09-25 11:45:26 +01:00
d90fa5bb92 Merge branch 'fix/9544' of https://github.com/pabigot/boost-regex into develop 2014-06-18 17:20:18 +01:00
7a9887f7eb Remove use of deprecated register keyword, see: https://svn.boost.org/trac/boost/ticket/9640 2014-04-24 11:35:58 +01:00
88107e2c7b Revised tentative fix for VC11/12 failures which occur when calling wcsxfrm for "\0". 2014-01-22 19:00:40 +00:00
330a033177 Tentative fix for case where a transformation of a NULL string is requested. 2014-01-22 13:46:38 +00:00
1b8322ecbf fix trac 9544: gcc 4.9.0 -std=c++1y breakage
This is GCC bug PR C++/59681 but the Boost fix is trivial and the GCC
one is (probably) not.

See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59681
2014-01-04 22:03:10 -06:00
6230db51b1 Fix for std::locale's which produce collate keys with embedded null's, see https://svn.boost.org/trac/boost/ticket/9451 2013-12-18 16:54:36 +00:00
937cd366c5 BREAKING CHANGE: change mark_count to do what's documented (and what the std does).
See https://svn.boost.org/trac/boost/ticket/9227.
2013-12-14 17:43:24 +00:00