Commit Graph

193 Commits

Author SHA1 Message Date
c24967709d Reinstate many workarounds to get older msvc versions compiling. 2020-12-13 18:03:47 +00:00
dba05b4d5b Remove more old code and enable standalone mode. 2020-12-10 16:47:08 +00:00
957dc5b79c Remove a lot of boost dependencies and workarounds. 2020-12-01 18:57:42 +00:00
678b3f5c4d Make regex_raw_buffer header only. 2020-11-30 13:21:49 +00:00
49e8067b80 Make the contents of regex.hpp all inline. 2020-11-29 19:10:05 +00:00
9d64cf60ff Make icu.hpp header only. 2020-11-28 18:28:29 +00:00
c9d389014a Make w32_regex_traits.hpp header only. 2020-11-28 16:51:39 +00:00
ddb682a208 Make cpp_regex_traits all inline. 2020-11-27 18:13:59 +00:00
27d2853615 Make c_regex_traits all inline.
Fix some C++20 issues.
2020-11-26 20:05:38 +00:00
1bb29f2134 Remove external template instantiation. 2020-11-26 17:00:04 +00:00
c3ab6405ad Merge branch 'use-boost-override' of https://github.com/EugeneZelenko/regex into develop
Resolved Conflicts:
	include/boost/regex/v4/cpp_regex_traits.hpp
	src/wc_regex_traits.cpp
2020-10-12 19:34:55 +01:00
c9d33026f3 Use BOOST_OVERRIDE to fix GCC -Wsuggest-override and Clang-tidy modernize-use-override warnings.
Also fixed Clang-tidy modernize-redundant-void-arg, readability-container-size-empty, and some readability-simplify-boolean-expr warnings.
Alphabetical order of STL headers.
Fix some misspellings.
2020-05-25 17:04:15 -07:00
cc09733d03 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 17:42:38 -04:00
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
f64c22870f Fix exception specification and msvc warning push/pop. 2020-01-21 10:14:37 +00:00
2cd947f7c4 Suppress msvc warnings.
Fixes: https://github.com/boostorg/regex/issues/80
2020-01-20 19:51:46 +00:00
082437d4fd Merge branch 'develop' into staticptrfix 2020-01-07 19:00:38 +00:00
3168641320 Avoid generating pointers in writeable data section.
They increase memory consumption and make exploits
easier and are completely unnecessary.
Avoid them by either avoiding the pointer indirection
completely by using char arrays for strings instead
of char pointers, convert "static" pointer variables
to simple local variables, or mark the array of
pointers as const instead of just the things pointed to.
2019-11-08 11:18:43 +01:00
3d72b06e9d regex_traits_defaults: Do not export arrays only used in same compilation unit.
Exporting variables is unreliable on some platforms including Windows,
and it seems can cause compilation errors in some cases.
Also symbols should not be exported unnecessarily purely on principle.
It would even be possible to move the arrays into the function, but
as they are a bit large that seems to be worse for readability.
2019-11-08 11:11:01 +01:00
f4e1ff192f Fix potential double-definition of WIN32_LEAN_AND_MEAN macro 2018-11-09 16:08:07 -08:00
8a31a996b8 Merge pull request #63 from jeking3/warnings
resolve some warnings
2018-08-25 18:11:20 +01:00
6369c3c5ee Merge pull request #51 from freiling/develop
Move BOOST_REGEX_DETAIL_NS::RegExData::type_pf cases out of BOOST_REG…
2018-07-22 19:04:52 +01:00
39f1cc0238 resolve some warnings 2018-07-20 18:29:11 +00:00
59d501b07b Regex: fix integer shift warning/error in icu.cpp 2017-12-23 19:18:08 +00:00
b41d9dc323 Move BOOST_REGEX_DETAIL_NS::RegExData::type_pf cases out of BOOST_REGEX_NO_FILEITER to avoid compiler warnings about missing cases in case statement 2017-12-08 17:07:51 -08:00
47635d0733 Update icu.cpp
Conditionally replace deprecated/removed C++98 std::bind2nd by std::bind
2017-05-22 15:39:45 +02: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
526d9d4c2e Merge branch 'patch-3' of https://github.com/ya1gaurav/regex into develop 2015-10-23 13:22:07 +01:00
5fa0354cd8 Check return value of sprintf again.
At other places return value of sprintf is checked, but missed here.
2015-10-20 14:54:48 +05:30
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
d8c95a9950 Change POSIX API's so regcomp doesn't check for magic value and read potentially uninitialized memory.
See https://svn.boost.org/trac/boost/ticket/11472.
2015-09-25 12:41:02 +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
eaeb38c7e9 Remove use of register keyword as it's deprecated in C++11. 2015-03-19 19:07:00 +00:00
39aa10d82d Fix for: https://github.com/boostorg/regex/pull/9 2014-12-31 19:31:20 +00:00
88107e2c7b Revised tentative fix for VC11/12 failures which occur when calling wcsxfrm for "\0". 2014-01-22 19:00:40 +00:00
0983ff065e Fix generic mutex usage, see https://svn.boost.org/trac/boost/ticket/9461. 2013-12-18 18:15:41 +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
7c7f38b009 Add better error checks in mutex support, see https://svn.boost.org/trac/boost/ticket/8903 2013-12-14 12:58:38 +00:00
cc040b0dd5 Fix buffer size determination.
Fixes #8082.

[SVN r83967]
2013-04-19 17:45:22 +00:00
e91bd45820 Fix potential memory leak.
Fixes #7084.

[SVN r79338]
2012-07-07 17:07:18 +00:00
8d48db25cc Add check before copying data.
Fixes #7032.

[SVN r79333]
2012-07-07 12:14:09 +00:00
50795bcfec Make sure at least one Boost header (and therefore Boost.Config) precedes std lib headers so that defines in boost/config/user.hpp are seen by system headers.
Fixes #7009.

[SVN r79152]
2012-06-28 10:53:43 +00:00
f04f7605ce Improve sprintf usage.
Stop passing UDT's through (...) even in meta programs.
Fixes #5958.
Refs #5835.


[SVN r74897]
2011-10-10 15:46:07 +00:00
852bc502cf Allow source to be built by #including all the source files in a single TU.
Fixes #5736.

[SVN r74896]
2011-10-10 15:09:40 +00:00
7ed55a515e Building with IBM C++ no longer needs a main() entry point.
Fixes #5088.

[SVN r68318]
2011-01-20 10:14:55 +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
f4d925ad3b Up the warning level, and fix the resulting warnings with msvc, gcc and Intel.
Fix bug in docs and regenerate.

[SVN r65208]
2010-09-03 08:33:13 +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