1. 24c7353 Fix an unsigned integer overflow in regex that lead to a bad memory access. Found by OSS-Fuzz by Marshall Clow · 7 years ago
  2. 278c0ba Fix UB - signed integer overflow in regex. Thanks to Tim Shen for the patch. Reviewed as https://reviews.llvm.org/D39066 by Marshall Clow · 7 years ago
  3. 6944743 Fix regex bug with ^\W. Thanks to Tim Shen for the patch. Reviewed as https://reviews.llvm.org/D37955 by Marshall Clow · 7 years ago
  4. ee596eb Apply D28224: 'Throw exception after too many steps' Fixes PR#20291. Thanks to Tim Shen for the patch by Marshall Clow · 7 years ago
  5. e00d350 Fix a bug in regex_Iterator where it would report zero-length matches forever. Reported as http://llvm.org/PR33681. Thanks to Karen Arutyunov for the report. by Marshall Clow · 7 years ago
  6. 018a3d5 [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows by Eric Fiselier · 7 years ago
  7. d89c715 Cleanup _LIBCPP_HAS_NO_<c++11-features> macro usage in regex by Eric Fiselier · 8 years ago
  8. 0867373 Work around recent -Wshadow changes in Clang by Eric Fiselier · 8 years ago
  9. c60e8fc Replace identifiers called `__out` because Windows.h #defines it. by Eric Fiselier · 8 years ago
  10. c3589a8 [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS by Eric Fiselier · 8 years ago
  11. 99447c8 Fix bug #31387 - not checking end iterator when parsing decimal escape. Thanks to Karen for the report. by Marshall Clow · 8 years ago
  12. 50f6579 fix sign comparison warnings by Eric Fiselier · 8 years ago
  13. 38c2a37 [libcxx] Make regex_match backtrack when search fails by Tim Shen · 8 years ago
  14. 741cb8b [libcxx] Support std::regex_constants::match_not_null by Tim Shen · 8 years ago
  15. 14c09a2 Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled. Reviewed as: https://reviews.llvm.org/D23855. by Marshall Clow · 8 years ago
  16. 7f6e8e2 [libcxx] Add "flag" default arg: basic_regex ptr_size_flag ctor by Hubert Tong · 8 years ago
  17. 5f9ee49 Revert r277966. Forgot patch attribution. by Hubert Tong · 8 years ago
  18. 9bae734 [libcxx] Add "flag" default arg: basic_regex ptr_size_flag ctor by Hubert Tong · 8 years ago
  19. b49c67f [libcxx] basic_regex: add traits_type, string_type by Hubert Tong · 8 years ago
  20. 7e87bc9 [libcxx] Fix definition of regex_traits::__regex_word on big-endian glibc systems by Daniel Sanders · 9 years ago
  21. e784f57 re.results.form: Format out-of-range subexpression references as null by Duncan P. N. Exon Smith · 9 years ago
  22. 685cdca Fix PR#26175. Thanks to Josh Petrie for the report and the patch. Reviewed as http://reviews.llvm.org/D16262 by Marshall Clow · 9 years ago
  23. a3b25f8 Cleanup: move visibility/linkage attributes to the first declaration. by Evgeniy Stepanov · 9 years ago
  24. 70e8f59 Fix a crasher found by libFuzzer by Marshall Clow · 9 years ago
  25. fc93ce7 Make regex and any assert when they should throw an exception _but_ the user has decreed 'no exceptions'. This matches the behavior of string and vector by Marshall Clow · 9 years ago
  26. 2576c29 Consolidate a bunch of #ifdef _LIBCPP_NO_EXCEPTIONS .. #endif blocks into a single template function. NFC by Marshall Clow · 9 years ago
  27. 568bd02 Detect and throw on a class of bad regexes that we mistakenly accepted before. Thanks to Trevor Smigiel for the report by Marshall Clow · 9 years ago
  28. 7cc7106 Fix initializer list order in <regex> to be correct by Eric Fiselier · 9 years ago
  29. 47c5dae Remove unused typedefs in random and regex by Eric Fiselier · 9 years ago
  30. 64befb5 Add code to honor the match_not_bol and match_not_eol regex flats. Fixes PR#22651. Thanks to Jim Porter for the report and suggested fix. by Marshall Clow · 10 years ago
  31. 5e56c30 Fix for PR22061 by K-ballo by Marshall Clow · 10 years ago
  32. 083e011 Make regex::assign not clobber the regex in case of failure. Fixes PR#22213 by Marshall Clow · 10 years ago
  33. e3e7054 Implement LWG 2217 - operator==(sub_match, string) slices on embedded '\0's by Marshall Clow · 10 years ago
  34. 1757386 Base regex code on char_class_type. by Dan Albert · 10 years ago
  35. 6b7e692 Fix Bug 19678 - libc++ does not correctly handle the regex: '[^\0]*' by Marshall Clow · 10 years ago
  36. 103af34 Implement LWG issue 2306: match_results::reference should be value_type&, 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. by Marshall Clow · 11 years ago
  37. e0f8672 Implement LWG Issues #2329 and #2332 - disallow iterators into temporary regexes and regexes into temporary strings by Marshall Clow · 11 years ago
  38. 97f50f6 Update __parse_DUP_COUNT and __parse_BACKREF to use the traits class to recognize digits. Fixes PR18514 by Marshall Clow · 11 years ago
  39. 72fe0ae Fix a bug in regex_token_iterator's copy constructor. Caught by Bob Wilson. by Marshall Clow · 11 years ago
  40. 0efd9dc Fix PR18404 - 'Bug in regex_token_iterator::operator++(int) implementation'. Enhance the tests for regex_token_iterator and regex_iterator. by Marshall Clow · 11 years ago
  41. 33ae233 Patch by GM: apparently '__value' (two underscores) is a special name in 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. by Marshall Clow · 11 years ago
  42. 499cea1 Debug mode for string. This commit also marks the first time libc++ 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. by Howard Hinnant · 11 years ago
  43. 0f678bd Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. by Howard Hinnant · 11 years ago
  44. cd59acc Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions. by Howard Hinnant · 11 years ago
  45. 1e1d051 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". by Howard Hinnant · 11 years ago
  46. e840208 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) by Howard Hinnant · 11 years ago
  47. 7670f7d 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. by Howard Hinnant · 11 years ago
  48. dbc8cf0 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). by Howard Hinnant · 11 years ago
  49. a9602d5 Prevent '\b' from backing up into invalid memory. Fixes 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. by Howard Hinnant · 11 years ago
  50. c1ecd97 Provide missing '{' in parsing extended quoted characters. This fixes http://llvm.org/bugs/show_bug.cgi?id=16135 by Howard Hinnant · 11 years ago
  51. e57b7c4 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 by Howard Hinnant · 11 years ago
  52. 918f2a8 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 by Howard Hinnant · 11 years ago
  53. 04bd79b Fix undefined behavior in syntax_option_type::operator~ and match_flag_type::operator./a.out Found by UBSan by Marshall Clow · 12 years ago
  54. 23fb972 Albert Wong: definition for regex_traits<_CharT>::__regex_word. by Howard Hinnant · 12 years ago
  55. 83eade6 No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. by Howard Hinnant · 12 years ago
  56. 0a69fa1 Zhang Xiongpang: Add definitions for const data members. Fixes http://llvm.org/bugs/show_bug.cgi?id=14585. by Howard Hinnant · 12 years ago
  57. 1dc6f7a Don't neglect to "return *this". by Argyrios Kyrtzidis · 12 years ago
  58. 33be35e Dimitry Andric: many visibility fixes. Howard: Much appreciated. Can you send me a patch to CREDITS.TXT? by Howard Hinnant · 12 years ago
  59. 46623a0 noexcept and constexpr applied to <regex>. by Howard Hinnant · 12 years ago
  60. ec3773c Quash a whole bunch of warnings by Howard Hinnant · 13 years ago
  61. 9996844 Further macro protection by replacing _[A-Z] with _[A-Z]p by Howard Hinnant · 13 years ago
  62. 66c6f97 Add protection from min/max macros by Howard Hinnant · 13 years ago
  63. 08e1747 Windows support by Ruben Van Boxem. by Howard Hinnant · 13 years ago
  64. c6fe8ca Fix <rdar://problem/10255403> match_results::begin() is off by one by Howard Hinnant · 13 years ago
  65. e3e3291 Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574 by Howard Hinnant · 13 years ago
  66. 0949eed _STD -> _VSTD to avoid macro clash on windows by Howard Hinnant · 13 years ago
  67. 2b1b2d4 Provide names for template and function parameters in forward declarations. The purpose is to aid automated documentation tools. by Howard Hinnant · 13 years ago
  68. 41fb6e1 Jonathan Sauer found a bug in the way ^ was handled by Howard Hinnant · 14 years ago
  69. 6cf5d8c Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris). by Howard Hinnant · 14 years ago
  70. 31aaf55 N3158 Missing preconditions for default-constructed match_result objects by Howard Hinnant · 14 years ago
  71. b64f8b0 license change by Howard Hinnant · 14 years ago
  72. aef07cb visibility-decoration. by Howard Hinnant · 14 years ago
  73. 73d21a4 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. by Howard Hinnant · 14 years ago
  74. 324bb03 Fixing whitespace problems by Howard Hinnant · 14 years ago
  75. a8d7759 [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. :-) by Howard Hinnant · 14 years ago
  76. 262b779 [re.tokiter] by Howard Hinnant · 14 years ago
  77. a712c72 [re.regiter] by Howard Hinnant · 14 years ago
  78. 27405f9 Everything under [re.results] by Howard Hinnant · 14 years ago
  79. 7026a17 Everything under [re.regex] by Howard Hinnant · 14 years ago
  80. d444470 now works with -fno-exceptions and -fno-rtti by Howard Hinnant · 14 years ago
  81. f3dcca0 bug fix concerning search not at beginning of string and word boundaries by Howard Hinnant · 14 years ago
  82. 8daa733 fix bug incrementing past end in search by Howard Hinnant · 14 years ago
  83. a0d045b fix parse bug in ecma non-greedy loop by Howard Hinnant · 14 years ago
  84. 15476f3 Fixed some bugs in the ecma bracket epression regarding escaped characters, and got the awk grammar going. by Howard Hinnant · 14 years ago
  85. e9de5ff lookahead for ecma by Howard Hinnant · 14 years ago
  86. 856846b grep and egrep grammars by Howard Hinnant · 14 years ago
  87. ad2a7ab continued regex development... by Howard Hinnant · 14 years ago
  88. 17615b0 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. by Howard Hinnant · 14 years ago
  89. 2ade7c2 I believe posix extended expr is feature complete. Getting started on ecma exprs. by Howard Hinnant · 14 years ago
  90. 1371b2e A few more tests for posix extended alternation by Howard Hinnant · 14 years ago
  91. aa69808 A good start on extended posix regex. Loops working. Alternation working. Also update by-chapter completeness summary. by Howard Hinnant · 14 years ago
  92. 22ce0b4 Fixed to work with generalized iterators. by Howard Hinnant · 14 years ago
  93. 68025ed Minor optimizations. Minor bug fixes. More tests. by Howard Hinnant · 14 years ago
  94. 173968a Bracket expressions are working (lightly tested). by Howard Hinnant · 14 years ago
  95. e34f17d regex_constants icase and collate for matching a single char and for matching back references by Howard Hinnant · 14 years ago
  96. cba352d back references for BRE by Howard Hinnant · 14 years ago
  97. ac30386 Redesign number 3. The previous design was not handling matching of empty strings inside of loops. by Howard Hinnant · 14 years ago
  98. 37f9f9c weekly update to by-chapter-summary, plus left and right anchor support in basic posix. by Howard Hinnant · 14 years ago
  99. e77aa5e Marked subexpressions in a loop in basic posix working (only lightly tested so far) by Howard Hinnant · 14 years ago
  100. f8ce459 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. by Howard Hinnant · 14 years ago