Howard Hinnant
|
cd59accbf5
|
Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions.
For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a"
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@186954 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-07-23 16:18:04 +00:00 |
|
Howard Hinnant
|
1e1d05121d
|
Bill Fisher: This patch fixes an ill-formed comparison when parsing control 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@186335 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-07-15 18:21:11 +00:00 |
|
Howard Hinnant
|
e840208989
|
Bill Fisher: This patch fixes a less likely case where '\b' can back up into 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@186089 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-07-11 15:32:55 +00:00 |
|
Howard Hinnant
|
7670f7d1ed
|
Bill Fisher: This patch fixes a bug where regex_iterator doesn't indicate 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185950 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-07-09 17:29:09 +00:00 |
|
Howard Hinnant
|
dbc8cf059e
|
Bill Fisher: This patch fixes a bug where the regex parser doesn't advance 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/.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185449 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-07-02 17:43:31 +00:00 |
|
Howard Hinnant
|
c1ecd97f00
|
Provide missing '{' in parsing extended quoted characters. This fixes http://llvm.org/bugs/show_bug.cgi?id=16135
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185211 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-28 20:31:05 +00:00 |
|
Howard Hinnant
|
e57b7c445b
|
William Fisher: A bug in __lookahead::exec causes /(?=^)b/ to match ab. 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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185196 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-28 19:11:23 +00:00 |
|
Howard Hinnant
|
918f2a80ab
|
Bill Fisher: Fix for failing to throw an exception in regex when parsing an invalid escape sequence. This fixes http://llvm.org/bugs/show_bug.cgi?id=16023
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185192 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-28 18:57:30 +00:00 |
|
Howard Hinnant
|
dd854b2c4e
|
Mark some tests with XFAIL for Lion and Mountain Lion.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@181336 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-05-07 17:37:19 +00:00 |
|
Joerg Sonnenberger
|
63d8f7e341
|
Add explicit casts to unsigned char before calling ctype functions.
Fixes the value range on platforms with signed char.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@180940 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-05-02 19:17:48 +00:00 |
|
Howard Hinnant
|
9976b5511a
|
This is a start at making the libc++ test suite friendlier to the -fnoexceptions flag. Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled. The bulk of this code was donated anonymously.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177824 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-23 17:27:16 +00:00 |
|
Marshall Clow
|
83e2c4d877
|
Move common header files into a 'support' directory; make 'testit' include -I to that directory; rename 'iterators.h' to 'iterator_test.h'; remove hard-coded paths to include files from more than 350 source files
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@171594 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-01-05 03:21:01 +00:00 |
|
Marshall Clow
|
ba1920fe4b
|
Removed several more different 'iterators.h' files in libcxx/test
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@171452 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-01-03 02:29:29 +00:00 |
|
Howard Hinnant
|
0a69fa14d2
|
Zhang Xiongpang: Add definitions for const data members. Fixes http://llvm.org/bugs/show_bug.cgi?id=14585.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@170026 91177308-0d34-0410-b5e6-96231b3b80d8
|
2012-12-12 21:14:28 +00:00 |
|
Howard Hinnant
|
c6fe8cafc3
|
Fix <rdar://problem/10255403> match_results::begin() is off by one
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@141494 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-10-08 14:36:16 +00:00 |
|
Howard Hinnant
|
c0d0cbad9e
|
Windows porting work by Ruben Van Boxem
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@141003 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-10-03 15:23:59 +00:00 |
|
Howard Hinnant
|
59832523ac
|
Fix test bugs found by David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140271 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-21 18:33:46 +00:00 |
|
David Chisnall
|
9e02b90405
|
Fix locales used in re tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140265 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-21 17:38:03 +00:00 |
|
Howard Hinnant
|
709c3d27f5
|
Fix failure found by David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140255 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-21 16:42:32 +00:00 |
|
Howard Hinnant
|
e3e3291f3a
|
Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@137522 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-12 21:56:02 +00:00 |
|
Howard Hinnant
|
31aaf55f4c
|
N3158 Missing preconditions for default-constructed match_result objects
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121282 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-12-08 21:07:55 +00:00 |
|
Howard Hinnant
|
b64f8b07c1
|
license change
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119395 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-16 22:09:02 +00:00 |
|
Howard Hinnant
|
0ce02245a9
|
fixing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114967 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-28 17:19:10 +00:00 |
|
Howard Hinnant
|
73d21a4f07
|
Changed __config to react to all of clang's currently documented has_feature 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113086 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-04 23:28:19 +00:00 |
|
Howard Hinnant
|
bbd8086ee3
|
Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111763 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-22 00:45:01 +00:00 |
|
Howard Hinnant
|
a8d7759708
|
[re.alg.replace]. This finishes all of <regex>. That being said, <regex> 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. :-)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111333 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-18 00:13:08 +00:00 |
|
Howard Hinnant
|
262b779f1d
|
[re.tokiter]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111278 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-17 20:42:03 +00:00 |
|
Howard Hinnant
|
a712c72499
|
[re.regiter]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111178 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-16 20:21:16 +00:00 |
|
Howard Hinnant
|
aa78f9cdb3
|
[re.alg.match]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111075 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-14 19:58:44 +00:00 |
|
Howard Hinnant
|
27405f91a8
|
Everything under [re.results]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111074 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-14 18:14:02 +00:00 |
|
Howard Hinnant
|
7026a17a48
|
Everything under [re.regex]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111024 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-13 18:11:23 +00:00 |
|
Howard Hinnant
|
878465043f
|
Filling out regex tests...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110955 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-12 21:14:20 +00:00 |
|
Howard Hinnant
|
15476f345d
|
Fixed some bugs in the ecma bracket epression regarding escaped characters, and got the awk grammar going.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109599 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-28 17:35:27 +00:00 |
|
Howard Hinnant
|
e9de5ff443
|
lookahead for ecma
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109548 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-27 22:20:32 +00:00 |
|
Howard Hinnant
|
856846b66f
|
grep and egrep grammars
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109534 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-27 19:53:10 +00:00 |
|
Howard Hinnant
|
ad2a7ab9a9
|
continued regex development...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109512 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-27 17:24:17 +00:00 |
|
Howard Hinnant
|
17615b040d
|
A good start on ecma regex's. Maybe even feature complete, not sure yet. Also an unrelated fix to is_constructible thanks to Daniel Krugler.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109479 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-27 01:25:38 +00:00 |
|
Howard Hinnant
|
2ade7c27f8
|
I believe posix extended expr is feature complete. Getting started on ecma exprs.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109126 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-22 17:53:24 +00:00 |
|
Howard Hinnant
|
1371b2e56e
|
A few more tests for posix extended alternation
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109107 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-22 14:12:20 +00:00 |
|
Howard Hinnant
|
aa69808da9
|
A good start on extended posix regex. Loops working. Alternation working. Also update by-chapter completeness summary.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108548 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-16 19:08:36 +00:00 |
|
Howard Hinnant
|
639a668b4c
|
Tests for basic posix regex templated on wchar_t
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108435 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-15 18:18:07 +00:00 |
|
Howard Hinnant
|
22ce0b4a1c
|
Fixed to work with generalized iterators.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108359 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-14 21:14:52 +00:00 |
|
Howard Hinnant
|
68025ed084
|
Minor optimizations. Minor bug fixes. More tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108331 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-14 15:45:11 +00:00 |
|
Howard Hinnant
|
173968a5f2
|
Bracket expressions are working (lightly tested).
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108280 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-13 21:48:06 +00:00 |
|
Howard Hinnant
|
e34f17d383
|
regex_constants icase and collate for matching a single char and for matching back references
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108178 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-12 19:11:27 +00:00 |
|
Howard Hinnant
|
cba352d348
|
back references for BRE
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108168 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-12 18:16:05 +00:00 |
|
Howard Hinnant
|
ac30386dfe
|
Redesign number 3. The previous design was not handling matching of empty strings inside of loops.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108151 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-12 15:51:17 +00:00 |
|
Howard Hinnant
|
37f9f9c587
|
weekly update to by-chapter-summary, plus left and right anchor support in basic posix.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107938 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-09 00:15:26 +00:00 |
|
Howard Hinnant
|
e77aa5e7f4
|
Marked subexpressions in a loop in basic posix working (only lightly tested so far)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107889 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-08 17:43:58 +00:00 |
|
Howard Hinnant
|
f8ce459f8d
|
First loop test passed. The data structure and search algorithm is still crude and in-flux. But this milestone needed to be locked in. Right now every loop is implemented in terms of a structure that will handle the most complicated {min, max} loop. Though only *-loops are tested at the moment. In a future iteration *-loops will likely be optimized a little more. The only tests are for basic posix so far, but I have prototype code running for extended posix and ecma. The prototype code lacks the complicating properties of the real <regex> requirements though.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107803 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-07-07 19:14:52 +00:00 |
|