Commit Graph

52 Commits

Author SHA1 Message Date
afc4229234 Fix recursive expressions where the recursion appears more than once.
Fixes https://github.com/boostorg/regex/issues/87.
Also fix some more msvc warnings.
2020-01-23 19:24:33 +00:00
bc160a58f0 Merge branch 'develop' into git_issue_80
Fixed Conflicts:
	include/boost/regex/v4/basic_regex_creator.hpp
	include/boost/regex/v4/basic_regex_parser.hpp
2020-01-21 12:57:09 +00:00
2cd947f7c4 Suppress msvc warnings.
Fixes: https://github.com/boostorg/regex/issues/80
2020-01-20 19:51:46 +00:00
4bb4d392e4 Remove limit on the number of backrefs possible.
Changes named sub-expressions to use different hashing scheme: high order bit is now always set to clashes between hashes and indexes don't happen until 2^30 or 2^62 sub-expressions in 32 and 64 bit code respectively.
Changes bitmask of seen sub-expressions to use dynamic storage for sub-expression indexes above 64.
Adds tests for the above.
Fixes https://github.com/boostorg/regex/issues/75.
2020-01-19 11:28:36 +00:00
7b2ccc0095 Tentative fix for msvc warnings.
See https://github.com/boostorg/regex/issues/61.
Adds warning test case.
2018-07-22 17:16:21 +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
982f3bbe45 de-fuzz: need to fail when a named recursive subexpression refers to an invalid name. 2017-02-23 09:30:49 +00:00
b0a83dc8d9 de-fuzz: fix overflow in shift 2017-02-21 11:04:26 +00:00
94cd9e582b Simplify adding items to lists, and fix Jamfile build failure. 2017-02-20 13:44:24 +00:00
d70b7bcefe de-fuzz: fix infinite recursion when analysing tail-recursive expressions. 2017-02-16 19:24:22 +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
c281c9cc40 Add COMMIT support plus lots of tests. 2015-09-29 17:40:43 +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
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
2d8ee203bf Regex: Remove obsolete GCC version checks.
[SVN r86065]
2013-09-30 15:57:49 +00:00
70cd773533 Regex: Remove obsolete MSVC version checks.
[SVN r85921]
2013-09-25 21:16:24 +00:00
8a16bff57a Apply updated patches from #8476.
Fixes #8476.

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

[SVN r84015]
2013-04-22 17:29:50 +00:00
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
543e912e14 Fix clang warnings.
Fixes #6863.

[SVN r78431]
2012-05-12 08:11:01 +00:00
c485b12568 Fix case change bug.
Fixes #698.

[SVN r74898]
2011-10-10 16:55:27 +00:00
fbf5c7d62c Fix infinite recursion in bad recursive expressions.
Fix bug that allows invalid regex to go unnoticed and crash later.
Fixes #5613.
Fixes #5612.

[SVN r72612]
2011-06-16 11:27:13 +00:00
680588f638 Fix some compiler warnings by using "int" consistently for hash values.
[SVN r66072]
2010-10-18 12:07:14 +00:00
29088ce346 Fix code to handle multiple named-subexpressions with the same name.
Updated test cases to match.

[SVN r65943]
2010-10-13 16:53:13 +00:00
528cf2abb9 Some lookbehind assertions were accepted when they should not have been.
Fixes #4309.

[SVN r62563]
2010-06-08 12:41:41 +00:00
fa96f4edf1 Change "id" to "idx" to be Objective C++ compatible.
Fixes #2306.
Fixes #4132.
Fixes #4191.

[SVN r61789]
2010-05-05 17:40:07 +00:00
c8e56504d9 Suppress a few warnings.
[SVN r59275]
2010-01-27 13:17:51 +00:00
0e1e9804da Fix bug that effects recursive expressions combined with repeats.
[SVN r58722]
2010-01-05 18:04:08 +00:00
6f8773362e Improve recursion branch-prediction.
[SVN r58466]
2009-12-20 12:56:35 +00:00
6e1f3dcceb Improved error messages generated for thrown exceptions.
Suppressed "gcc -Wall -Wextra -pedantic" and "msvc /W4" warnings.
Updated and rebuilt docs.


[SVN r57451]
2009-11-07 15:32:45 +00:00
66b633b417 Added support for (?(DEFINE) blocks and updated the docs accordingly.
Added support for ICU libraries which may be named icui18n.lib on some Win32 platforms.

[SVN r55267]
2009-07-29 17:11:56 +00:00
5a6bc29d7c Added initial support for recursive expressions.
Updated docs and tests accordingly.

[SVN r54994]
2009-07-17 10:23:50 +00:00
d70f98e658 Fixes #2306.
Change "id" to "state_id".

[SVN r48751]
2008-09-12 12:40:23 +00:00
0915f19c03 Extended leading repeat optimization to more cases.
[SVN r42992]
2008-01-27 18:43:35 +00:00
4a147d198d Fixes track issue #775, see http://svn.boost.org/trac/boost/ticket/775.
All regex code should now compile warning free at level 4 with MSCV.

[SVN r38864]
2007-08-23 09:06:24 +00:00
e7b65221d1 Tidied up msvc-warning suppression code.
[SVN r38562]
2007-08-10 10:11:03 +00:00
975b05d553 stripped tabs from files
[SVN r34559]
2006-07-16 16:05:13 +00:00
10a3b70df1 suppress gcc -Wshadow warnings.
[SVN r33426]
2006-03-21 18:36:44 +00:00
afc5ce05cd Fix concept check regression, and suppress various VC-related warnings.
[SVN r32014]
2005-12-13 18:30:53 +00:00
ef37b58888 Another fix for very large numbers of repeats.
[SVN r31995]
2005-12-12 13:03:05 +00:00
d4b4f359e5 Fix -analyse errors from VC8.
Merge a couple of changes from the release branch.


[SVN r31987]
2005-12-11 17:33:38 +00:00
ffa362ce17 Consolidated patches and performance tweeks.
[SVN r31492]
2005-10-27 10:24:50 +00:00
b5bc6e2be9 Enabled negated character classes inside character sets.
[SVN r31053]
2005-09-20 12:01:25 +00:00
40b7a4902f Fixed remaining zero-width assertion issues.
Added separate file instantiation of ICU support templates.
Ensured code is STLport debug mode clean.


[SVN r30980]
2005-09-14 12:20:41 +00:00
c39176085b Fixed VC7.1-STLport config setup so it works with /Zc:wchar_t
Re-ordered code in static_mutex.hpp to satisfy SGI IRIX.
Added some additional #includes to satisfy SGI Irix.
Fixed strange bug where some non-greedy repeats could repeat more times than permitted.
Fixed return value from basic_regex<>::empty().
Fixed return value from basic_regex<>::expression() and basic_regex<>::size() when the expression is invalid.


[SVN r30604]
2005-08-19 16:10:11 +00:00
90b647cdd7 Fix gcc-2.95 compatibility, and supress new warnings from gc-4.0 in protected_call.
[SVN r29407]
2005-06-03 16:10:54 +00:00
de28eb9b18 1) Disabled recursive implementation for VC8: stack overflows can't be reliably detected unless the whole program is compiled with asynchronous exceptions.
2) Changed std::copy calls on VC8 to avoid "dangerous code" warnings.
3) Moved backreference and octal escape code into line with POSIX-extended requirements.
4) Changed match_results leftmost-longest rules to stop unnecessary std::distance computations (an optimisation for non-random access iterators).
5) Changed C lib calls to use "safe" versions of string API's where available.
6) Added many new POSIX-extended leftmost-longest tests, to verify the above.


[SVN r27880]
2005-03-30 11:38:51 +00:00
ecd5dd5ff3 Allow sort keys to contain nothing but a single NUL character (characters may be ignorable).
[SVN r27408]
2005-02-17 12:44:16 +00:00
d7e194585d More std::distance fixes for Sunpro.
Changed Dr John Maddock to John Maddock.


[SVN r26791]
2005-01-21 17:22:39 +00:00