summaryrefslogtreecommitdiffstats
path: root/libcxx/include/regex
Commit message (Collapse)AuthorAgeFilesLines
...
* Add code to honor the match_not_bol and match_not_eol regex flats. Fixes ↵Marshall Clow2015-03-191-2/+4
| | | | | | PR#22651. Thanks to Jim Porter for the report and suggested fix. llvm-svn: 232733
* Fix for PR22061 by K-balloMarshall Clow2015-01-281-2/+12
| | | | llvm-svn: 227384
* Make regex::assign not clobber the regex in case of failure. Fixes PR#22213Marshall Clow2015-01-131-3/+1
| | | | llvm-svn: 225799
* Implement LWG 2217 - operator==(sub_match, string) slices on embedded '\0'sMarshall Clow2014-12-151-4/+4
| | | | llvm-svn: 224292
* Base regex code on char_class_type.Dan Albert2014-07-291-5/+6
| | | | | | | | | | | | __get_classname() and __bracket_expression were assuming that char_class_type was ctype_base::mask rather than using regex_traits<_CharT>::char_class_type. This change allows char_class_type to be defined to something other than ctype_base::mask so that the implementation will still work for platforms with an 8-bit ctype mask (such as Android and OpenBSD). llvm-svn: 214201
* Fix Bug 19678 - libc++ does not correctly handle the regex: '[^\0]*'Marshall Clow2014-05-211-0/+7
| | | | llvm-svn: 209307
* Implement LWG issue 2306: match_results::reference should be value_type&, ↵Marshall Clow2014-02-261-2/+2
| | | | | | not const value_type&. This is a general move by the LWG to have the reference type of read-only containers be a non-const reference; however, there are no methods that return a non-const reference to a match_result entry, so there's no worries about getting a non-const reference to a constant object. llvm-svn: 202214
* Implement LWG Issues #2329 and #2332 - disallow iterators into temporary ↵Marshall Clow2014-02-191-1/+90
| | | | | | regexes and regexes into temporary strings llvm-svn: 201717
* Update __parse_DUP_COUNT and __parse_BACKREF to use the traits class to ↵Marshall Clow2014-01-181-10/+19
| | | | | | recognize digits. Fixes PR18514 llvm-svn: 199541
* Fix a bug in regex_token_iterator's copy constructor. Caught by Bob Wilson.Marshall Clow2014-01-131-1/+1
| | | | llvm-svn: 199122
* Fix PR18404 - 'Bug in regex_token_iterator::operator++(int) implementation'. ↵Marshall Clow2014-01-091-17/+15
| | | | | | Enhance the tests for regex_token_iterator and regex_iterator. llvm-svn: 198878
* Patch by GM: apparently '__value' (two underscores) is a special name in ↵Marshall Clow2013-10-211-8/+8
| | | | | | Visual Studio, so rename the private method in <regex> with that name. GM's patch used '___value' (three underscores), but I changed that to '__regex_traits_value' because I've been burned in the past by identifiers that appear identical but are not. llvm-svn: 193087
* Debug mode for string. This commit also marks the first time libc++ ↵Howard Hinnant2013-08-231-2/+2
| | | | | | debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib. llvm-svn: 189114
* Nico Rieck: this patch series fixes visibility issues on Windows as ↵Howard Hinnant2013-08-121-10/+13
| | | | | | explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
* Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ↵Howard Hinnant2013-07-231-7/+16
| | | | | | | | ignoring capture groups inside lookahead assertions. For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a" llvm-svn: 186954
* Bill Fisher: This patch fixes an ill-formed comparison when parsing control ↵Howard Hinnant2013-07-151-1/+10
| | | | | | | | escapes, e.g. "\cA\ca". The code will now throw an error_escape exception for invalid control sequences like "\c:" or "\c". I've added the test cases to bad_escape.pass.cpp. llvm-svn: 186335
* Bill Fisher: This patch fixes a less likely case where '\b' can back up into ↵Howard Hinnant2013-07-111-2/+3
| | | | | | | | invalid memory, when driven by a regex_iterator (for case 1, see r185273 or http://llvm.org/bugs/show_bug.cgi?id=16240) The attached test program also supplies a test for the case 1 fix in r185273. llvm-svn: 186089
* Bill Fisher: This patch fixes a bug where regex_iterator doesn't indicate ↵Howard Hinnant2013-07-091-1/+2
| | | | | | | | when it's restarting in the middle of a string. This bug causes /^a/ to match in the middle of the string "aaaaaaa", during iteration. My patch uses to communicate when is false. llvm-svn: 185950
* Bill Fisher: This patch fixes a bug where the regex parser doesn't advance ↵Howard Hinnant2013-07-021-1/+1
| | | | | | | | the pointer after reading the third character of an octal escape (in awk mode). That is, regex{"\141", awk} results in the regular expression /a1/ instead of just /a/. llvm-svn: 185449
* Prevent '\b' from backing up into invalid memory. Fixes ↵Howard Hinnant2013-06-291-1/+25
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=16240. Sorry, I can not think of a good test case for this one, except by running valgrind as reported in the bug. llvm-svn: 185273
* Provide missing '{' in parsing extended quoted characters. This fixes ↵Howard Hinnant2013-06-281-0/+1
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=16135 llvm-svn: 185211
* William Fisher: A bug in __lookahead::exec causes /(?=^)b/ to match ab. ↵Howard Hinnant2013-06-281-1/+1
| | | | | | When makes a recursive call to , it passes true for the value of . This causes a beginning-of-line anchor (^) inside a lookahead assertion to match anywhere in the text. This fixes http://llvm.org/bugs/show_bug.cgi?id=11118 llvm-svn: 185196
* Bill Fisher: Fix for failing to throw an exception in regex when parsing an ↵Howard Hinnant2013-06-281-1/+1
| | | | | | invalid escape sequence. This fixes http://llvm.org/bugs/show_bug.cgi?id=16023 llvm-svn: 185192
* Fix undefined behavior in syntax_option_type::operator~ and ↵Marshall Clow2013-03-221-2/+2
| | | | | | match_flag_type::operator./a.out Found by UBSan llvm-svn: 177693
* Albert Wong: definition for regex_traits<_CharT>::__regex_word.Howard Hinnant2013-03-071-0/+4
| | | | llvm-svn: 176640
* No functionality change at this time. I've split _LIBCPP_VISIBLE up into ↵Howard Hinnant2013-03-061-8/+8
| | | | | | two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. llvm-svn: 176593
* Zhang Xiongpang: Add definitions for const data members. Fixes ↵Howard Hinnant2012-12-121-0/+21
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14585. llvm-svn: 170026
* Don't neglect to "return *this".Argyrios Kyrtzidis2012-10-131-0/+1
| | | | llvm-svn: 165860
* Dimitry Andric: many visibility fixes. Howard: Much appreciated. Can you ↵Howard Hinnant2012-09-141-2/+2
| | | | | | send me a patch to CREDITS.TXT? llvm-svn: 163862
* noexcept and constexpr applied to <regex>.Howard Hinnant2012-07-211-29/+28
| | | | llvm-svn: 160594
* Quash a whole bunch of warningsHoward Hinnant2011-12-011-7/+4
| | | | llvm-svn: 145624
* Further macro protection by replacing _[A-Z] with _[A-Z]pHoward Hinnant2011-11-291-36/+36
| | | | llvm-svn: 145410
* Add protection from min/max macrosHoward Hinnant2011-11-291-0/+2
| | | | llvm-svn: 145407
* Windows support by Ruben Van Boxem.Howard Hinnant2011-10-171-0/+2
| | | | llvm-svn: 142235
* Fix <rdar://problem/10255403> match_results::begin() is off by oneHoward Hinnant2011-10-081-2/+2
| | | | llvm-svn: 141494
* Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574Howard Hinnant2011-08-121-0/+14
| | | | llvm-svn: 137522
* _STD -> _VSTD to avoid macro clash on windowsHoward Hinnant2011-06-301-101/+101
| | | | llvm-svn: 134190
* Provide names for template and function parameters in forward declarations. ↵Howard Hinnant2011-06-141-1/+1
| | | | | | The purpose is to aid automated documentation tools. llvm-svn: 133008
* Jonathan Sauer found a bug in the way ^ was handledHoward Hinnant2011-03-261-28/+69
| | | | llvm-svn: 128350
* Chris Jefferson noted many places where function calls needed to be ↵Howard Hinnant2011-02-141-21/+21
| | | | | | qualified (thanks Chris). llvm-svn: 125510
* N3158 Missing preconditions for default-constructed match_result objectsHoward Hinnant2010-12-081-3/+21
| | | | llvm-svn: 121282
* license changeHoward Hinnant2010-11-161-2/+2
| | | | llvm-svn: 119395
* visibility-decoration.Howard Hinnant2010-09-231-168/+128
| | | | llvm-svn: 114647
* Changed __config to react to all of clang's currently documented has_feature ↵Howard Hinnant2010-09-041-2/+0
| | | | | | flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. llvm-svn: 113086
* Fixing whitespace problemsHoward Hinnant2010-08-221-52/+51
| | | | llvm-svn: 111750
* [re.alg.replace]. This finishes all of <regex>. That being said, <regex> ↵Howard Hinnant2010-08-181-0/+107
| | | | | | is exceptionally difficult to thoroughly test. If anyone has the ability to test this, combined with the interest to do so, now would be a good time. :-) llvm-svn: 111333
* [re.tokiter]Howard Hinnant2010-08-171-12/+213
| | | | llvm-svn: 111278
* [re.regiter]Howard Hinnant2010-08-161-10/+177
| | | | llvm-svn: 111178
* Everything under [re.results]Howard Hinnant2010-08-141-12/+147
| | | | llvm-svn: 111074
* Everything under [re.regex]Howard Hinnant2010-08-131-17/+82
| | | | llvm-svn: 111024
OpenPOWER on IntegriCloud