Commit Graph

349 Commits

Author SHA1 Message Date
d97bcfb5dd Fix integer types and signedness:
Fixes https://svn.boost.org/trac10/ticket/13034
2017-07-31 18:51:25 +01:00
f89c75f7b0 Silence MSVC 14.1 warnings of narrowing conversion
In debug mode the compiler is not able to see that the int constant can fit in the character type without loss.
2017-03-25 20:34:56 +03:00
22aedd996c Fix iterator comparisons so legacy compilers (sun and VC6) can handle them 2017-03-01 11:33:28 +00:00
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