Commit Graph

563 Commits

Author SHA1 Message Date
jzmaddock
ac3838b622 de-fuzz: fix undefined behaviour in negating enum type 2017-02-21 10:53:53 +00:00
jzmaddock
f301f3a412 de-fuzz: previous fix broke some code, re-fix it. 2017-02-21 12:43:08 +00:00
jzmaddock
94cd9e582b Simplify adding items to lists, and fix Jamfile build failure. 2017-02-20 13:44:24 +00:00
jzmaddock
ae9f38e178 de-fuzz: Failed Pearl verbs should fail better and louder. 2017-02-18 13:04:34 +00:00
jzmaddock
d70b7bcefe de-fuzz: fix infinite recursion when analysing tail-recursive expressions. 2017-02-16 19:24:22 +00:00
jzmaddock
7f89a8f3b8 de-fuzz: add missing typename qualifiers to previous fix. 2017-02-15 19:48:56 +00:00
jzmaddock
edd94320c7 de-fuzz: prevent infinite recursion in recursive expressions (case 14). 2017-02-15 19:44:41 +00:00
jzmaddock
b05fafe1c5 de-fuzz: improve set creation so as not to allow duplicate characters. 2017-02-14 19:41:35 +00:00
jzmaddock
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
jzmaddock
2cb49b97da de-fuzz: Fix case 0 again. 2017-02-14 17:38:47 +00:00
jzmaddock
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
jzmaddock
e215c603ad Use the same calling convention for all msvc clones. 2017-02-09 18:24:21 +00:00
jzmaddock
4bfdae4a9f Change config so all msvc compatible compilers use the same algorithm.
This *might* make msvc builds binary compatible with Intel or Clang clients.
See https://svn.boost.org/trac/boost/ticket/12233.
2017-02-08 19:20:04 +00:00
Nikita Kniazev
d92e940ade Fixed missing noreturn 2016-09-01 19:55:40 +03:00
jzmaddock
0f128c2a89 Fix missing variable name in concept checks. 2016-08-07 18:33:59 +01:00
John Maddock
cc21bf9283 Fix Oracle C++ concept failures 2016-08-01 12:24:00 +00:00
jzmaddock
a824b7d236 Fix copying of extra match data when using ICU.
See: https://svn.boost.org/trac/boost/ticket/12130
2016-06-12 13:09:12 +01:00
jzmaddock
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
jzmaddock
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
jzmaddock
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
Yucheng Low
d8af53e222 restored missing header 2015-12-31 15:48:01 -08:00
Yucheng Low
a0dfd81516 Lockfree mem_block_cache only active if std::atomic is available 2015-12-31 15:46:20 -08:00
Yucheng Low
3f14031142 Updated with platform checks 2015-12-15 14:26:03 -08:00
Yucheng Low
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
jzmaddock
eb729f6557 Disable all Win32 API usage on Windows runtime for now, but see also: https://github.com/boostorg/regex/pull/22 for a possible more compete solution. 2015-11-07 09:13:35 +00:00
Gaurav
2a525e5aa6 avoid duplicate check of markid.
Markid is already checked to be >0.
2015-11-03 14:12:17 +05:30
jzmaddock
e824ddb35b Remove redundant check and make it an assert. 2015-10-23 13:27:01 +01:00
jzmaddock
7cbef4a79b Add missing include. 2015-10-22 18:03:03 +01:00
jzmaddock
e5986b8f76 Tentative VC7.1 workaround. 2015-10-22 11:29:55 +01:00
Mikael Olenfalk
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
Mikael Olenfalk
541bcde27f universal-windows: Disable deprecated fileiter 2015-10-08 10:05:20 +02:00
Mikael Olenfalk
c1d2d1a736 universal-windows: Use C++ locale 2015-10-08 10:05:19 +02:00
Mikael Olenfalk
ffac6a2035 universal-windows: Do not define BOOST_REGEX_HAS_OTHER_WCHAR_T
Just as on VC10 this causes linker errors with std::collate<unsigned short>::id.
2015-10-08 09:37:16 +02:00
Mikael Olenfalk
3b461992b4 regex: Add dependency on boost.predef 2015-10-08 09:36:26 +02:00
jzmaddock
a307fd7077 Fix msvc warning. 2015-10-06 13:17:01 +01:00
jzmaddock
f617c73e9a Fix some GCC and clang warnings introduced by the new code 2015-10-06 12:46:09 +01:00
jzmaddock
201d3a424e Add recursive implementation of THEN. 2015-10-05 18:27:37 +01:00
jzmaddock
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
jzmaddock
9a36e035f2 Add support for PRUNE and SKIP (no MARK's though). 2015-10-01 18:34:59 +01:00
jzmaddock
83140ddbed Fix up recursive implementation of ACCEPT and COMMIT. 2015-09-30 18:47:59 +01:00
jzmaddock
b208ef4eed Get commit working in recursive mode. 2015-09-29 19:20:09 +01:00
jzmaddock
c281c9cc40 Add COMMIT support plus lots of tests. 2015-09-29 17:40:43 +01:00
jzmaddock
2580fb035f Add support for ACCEPT verb. 2015-09-26 18:47:39 +01:00
jzmaddock
b557febb0e Start adding Perl verb support with FAIL as the first supported verb. 2015-09-25 19:30:20 +01:00
jzmaddock
94c7d4a38a Fix start of extended character range.
See https://svn.boost.org/trac/boost/ticket/11524
2015-09-24 19:01:44 +01:00
jzmaddock
b9ee7a2f2e Oracle compiler in C++11 mode doesn't like external template instances in shared library. 2015-08-17 19:28:21 +01:00
jzmaddock
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
jzmaddock
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
jzmaddock
74d6318135 Add missing function bodies for sub_match::begin/end and enhance tests. 2015-03-19 19:50:00 +00:00
jzmaddock
668279010d Add workaround for broken Cygwin ctype facet, plus some warning suppression. 2015-03-19 19:06:26 +00:00
jzmaddock
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
jzmaddock
f6a9bce728 Fix icu behaviour with partial matches. See https://svn.boost.org/trac/boost/ticket/10114 2014-12-02 09:31:42 +00:00
jzmaddock
115c4e7f42 Fix typo, see https://svn.boost.org/trac/boost/ticket/10268 2014-11-13 11:23:12 +00:00
jzmaddock
dbda6314da Initialize all members in initializer list, see https://github.com/boostorg/regex/pull/6 2014-11-13 11:02:36 +00:00
jzmaddock
ddd48205b8 Silence Covertity warnings, see https://github.com/boostorg/regex/pull/7 2014-11-13 11:01:50 +00:00
jzmaddock
e930d21bd2 Merge branch 'patch-3' of https://github.com/tempoz/regex into develop 2014-11-13 10:17:11 +00:00
Zoey Greer
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
jzmaddock
406b2a9aa1 Apply patch from https://svn.boost.org/trac/boost/ticket/10682 2014-10-21 09:15:40 +01:00
jzmaddock
05b582761d Fix case that differs from Perl behavior. 2014-09-25 11:45:26 +01:00
jzmaddock
d90fa5bb92 Merge branch 'fix/9544' of https://github.com/pabigot/boost-regex into develop 2014-06-18 17:20:18 +01:00
jzmaddock
7a9887f7eb Remove use of deprecated register keyword, see: https://svn.boost.org/trac/boost/ticket/9640 2014-04-24 11:35:58 +01:00
jzmaddock
88107e2c7b Revised tentative fix for VC11/12 failures which occur when calling wcsxfrm for "\0". 2014-01-22 19:00:40 +00:00
jzmaddock
330a033177 Tentative fix for case where a transformation of a NULL string is requested. 2014-01-22 13:46:38 +00:00
Peter A. Bigot
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
jzmaddock
f1aa75af2c Add checks for invalid UTF-8 sequences, see: https://svn.boost.org/trac/boost/ticket/9473 2013-12-19 10:48:06 +00:00
jzmaddock
0983ff065e Fix generic mutex usage, see https://svn.boost.org/trac/boost/ticket/9461. 2013-12-18 18:15:41 +00:00
jzmaddock
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
jzmaddock
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
Stephen Kelly
956d3c4bcf Simplify multi-component ifdefs containing BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
[SVN r86248]
2013-10-11 23:20:59 +00:00
Stephen Kelly
2d8ee203bf Regex: Remove obsolete GCC version checks.
[SVN r86065]
2013-09-30 15:57:49 +00:00
Stephen Kelly
49b7f2c8f9 Regex: Remove obsolete MSVC version check.
[SVN r86020]
2013-09-30 00:17:24 +00:00
Stephen Kelly
70cd773533 Regex: Remove obsolete MSVC version checks.
[SVN r85921]
2013-09-25 21:16:24 +00:00
Stephen Kelly
7158ab5734 Regex: Remove use of obsolete macro for template types and args.
[SVN r85914]
2013-09-25 21:13:11 +00:00
Stephen Kelly
9fccd1ca89 Regex: Remove ATL specific define for old MSVC.
[SVN r85913]
2013-09-25 21:12:55 +00:00
Stephen Kelly
d6b0b18650 Remove use of obsolete BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE{,_SPEC} macro.
[SVN r85896]
2013-09-25 10:29:44 +00:00
John Maddock
82e0fc2222 Optimise iterator advances for slow (non-random access) iterators.
[SVN r84999]
2013-07-10 16:10:44 +00:00
John Maddock
66d8b8140a When a {} repeat sequence is invalid or incomplete, and the language is Perl, then backtrack and treat the sequence as a literal, not a repeat operator.
Fixes #8569.

[SVN r84371]
2013-05-19 11:12:14 +00:00
John Maddock
8a16bff57a Apply updated patches from #8476.
Fixes #8476.

[SVN r84052]
2013-04-26 10:33:22 +00:00
John Maddock
eed2a486c4 Apply patch from #8476.
Fixes #8476.

[SVN r84015]
2013-04-22 17:29:50 +00:00
John Maddock
55daec294e Fix misc. GCC-4.8 warnings. Refs #8184
[SVN r83980]
2013-04-20 12:14:36 +00:00
John Maddock
06463bec85 Warning suppression.
Fixes #8036.

[SVN r82831]
2013-02-12 17:05:01 +00:00
John Maddock
fded895002 Fix bug in partial matches and POSIX or literal expressions.
[SVN r82673]
2013-01-31 18:31:25 +00:00
John Maddock
1f24ceed4c Add some casts to suppress GCC warnings.
[SVN r82662]
2013-01-28 19:19:56 +00:00
John Maddock
4162776575 Add missing optimization for leading .* repeats.
Fixes #7758.

[SVN r81705]
2012-12-04 16:51:18 +00:00
John Maddock
e2632f2f2f Suppress GCC warning and update History log.
Regenerate docs.
Fixes #7644.

[SVN r81620]
2012-11-29 10:28:07 +00:00
John Maddock
bc8cd9e148 Add further error checking to UTF-8 decoding.
Fixes #7744.

[SVN r81614]
2012-11-28 17:57:26 +00:00
Marshall Clow
82610247fc Removed missed usage of deprecated macros in Boost.Regex
[SVN r81587]
2012-11-27 14:28:12 +00:00
John Maddock
0e867247fc Apply patch from #6333.
Fixes #6333.

[SVN r79349]
2012-07-08 11:52:20 +00:00
John Maddock
1567185ba2 Add workaround for old broken compilers that don't support template construct/assign to containers.
Fixes #6680.

[SVN r79342]
2012-07-08 07:54:35 +00:00
John Maddock
ab6b0d9971 Fix begin() and end() members and add tests.
Fixes #6346.

[SVN r79340]
2012-07-07 18:36:25 +00:00
John Maddock
3bfba1a7cf Fix regex_iterator and regex_replace to do what grep/sed do for multiple repeats when matching in POSIX mode.
Fixes #589.

[SVN r79339]
2012-07-07 18:08:01 +00:00
John Maddock
e18682ca74 Fix some Valgrind reported issues in regex parsing.
[SVN r78940]
2012-06-14 08:37:53 +00:00
John Maddock
1f016f6999 Fix some more GCC warnings.
Fix previous warning suppression which broke tests with GCC.
Refs #6863.

[SVN r78480]
2012-05-15 16:09:12 +00:00
John Maddock
543e912e14 Fix clang warnings.
Fixes #6863.

[SVN r78431]
2012-05-12 08:11:01 +00:00
John Maddock
b45d6bb70c Fix issue with (?!) not being a valid expression. Update tests and docs to match.
[SVN r77602]
2012-03-28 12:00:34 +00:00
John Maddock
9ab4fb9eff Fix bug in object_cache.hpp
Fixes #6440.

[SVN r76775]
2012-01-29 13:33:03 +00:00
John Maddock
ed90c8cec5 Fix pp-logic.
Refs #6359.

[SVN r76324]
2012-01-05 17:31:34 +00:00
John Maddock
eedb7b5063 Add workaround for Intel-12.1 on Windows.
Fixes #6359.

[SVN r76319]
2012-01-05 13:33:48 +00:00
John Maddock
e389d92752 Add BOOST_REGEX_NO_FASTCALL config macro and regenerate docs.
Fixes #6245.

[SVN r76140]
2011-12-24 18:04:37 +00:00
John Maddock
806a0ed81a Fix typos.
Refs #6003.

[SVN r76138]
2011-12-24 17:31:27 +00:00