93926479e3
de-fuzz: suppress a couple of warnings introduced by de-fuzzing fixes.
2017-02-22 18:46:34 +00:00
c8044ffca0
de-fuzz: more recursive calls that require proper stack unwinding to prevent memory leaks if matching throws.
2017-02-23 09:43:22 +00:00
982f3bbe45
de-fuzz: need to fail when a named recursive subexpression refers to an invalid name.
2017-02-23 09:30:49 +00:00
2e7e73aecf
de-fuzz: Prevent excessive left shifts
2017-02-22 12:52:53 +00:00
3d2dc325de
de-fuzz: Remove debugging code.
2017-02-22 12:45:48 +00:00
85cd85013d
de-fuzz: Memory leak fix: Need to unwind stack when doing recursive call on non-recursive algorithm
2017-02-22 12:43:28 +00:00
b65bf1b459
de-fuzz: make sure recursion stack always has a valid start location for the recursion.
2017-02-21 19:38:36 +00:00
b0a83dc8d9
de-fuzz: fix overflow in shift
2017-02-21 11:04:26 +00:00
ac3838b622
de-fuzz: fix undefined behaviour in negating enum type
2017-02-21 10:53:53 +00:00
f301f3a412
de-fuzz: previous fix broke some code, re-fix it.
2017-02-21 12:43:08 +00:00
94cd9e582b
Simplify adding items to lists, and fix Jamfile build failure.
2017-02-20 13:44:24 +00:00
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