Eric Fiselier
							
						 
						
							 
							
							
							
							
								
							
							
								5741d86d11 
								
							 
						 
						
							
							
								
								Replace identifiers called `__out` because Windows.h #defines it.  
							
							 
							
							... 
							
							
							
							Windows is greedy and it defines the identifier `__out` as a macro.
This patch renames all conflicting libc++ identifiers in order
to correctly work on Windows.
llvm-svn: 291345 
							
						 
						
							2017-01-07 11:27:06 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Fiselier
							
						 
						
							 
							
							
							
							
								
							
							
								e2f2d1edef 
								
							 
						 
						
							
							
								
								[NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS  
							
							 
							
							... 
							
							
							
							The name _LIBCPP_TYPE_VIS_ONLY is no longer accurate because both
_LIBCPP_TYPE_VIS and _LIBCPP_TYPE_VIS_ONLY expand to
__attribute__((__type_visibility__)) with Clang. The only remaining difference
is that _LIBCPP_TYPE_VIS_ONLY can be applied to templates whereas
_LIBCPP_TYPE_VIS cannot (due to dllimport/dllexport not being allowed on
templates).
This patch renames _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS.
llvm-svn: 291035 
							
						 
						
							2017-01-04 23:56:00 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								da520dcbeb 
								
							 
						 
						
							
							
								
								Fix bug  #31387  - not checking end iterator when parsing decimal escape. Thanks to Karen for the report.  
							
							 
							
							... 
							
							
							
							llvm-svn: 290500 
							
						 
						
							2016-12-24 17:21:03 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Fiselier
							
						 
						
							 
							
							
							
							
								
							
							
								aec0878403 
								
							 
						 
						
							
							
								
								fix sign comparison warnings  
							
							 
							
							... 
							
							
							
							llvm-svn: 290469 
							
						 
						
							2016-12-24 00:24:44 +00:00  
						
					 
				
					
						
							
							
								 
								Tim Shen
							
						 
						
							 
							
							
							
							
								
							
							
								e776667441 
								
							 
						 
						
							
							
								
								[libcxx] Make regex_match backtrack when search fails  
							
							 
							
							... 
							
							
							
							Summary:
Fixes PR19851.
alg.re.match/ecma.pass.cpp still XFAILS on linux, but after commenting out
locale-related tests, it passes. I don't have a freebsd machine to produce a
full pass.
Reviewers: mclow.lists
Subscribers: cfe-commits, emaste
Differential Revision: https://reviews.llvm.org/D26026 
llvm-svn: 285352 
							
						 
						
							2016-10-27 21:40:34 +00:00  
						
					 
				
					
						
							
							
								 
								Tim Shen
							
						 
						
							 
							
							
							
							
								
							
							
								abd1a6e687 
								
							 
						 
						
							
							
								
								[libcxx] Support std::regex_constants::match_not_null  
							
							 
							
							... 
							
							
							
							Summary: Fixes PR21597.
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25595 
llvm-svn: 284881 
							
						 
						
							2016-10-21 20:41:47 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								d437fa5c8c 
								
							 
						 
						
							
							
								
								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 .  
							
							 
							
							... 
							
							
							
							llvm-svn: 279744 
							
						 
						
							2016-08-25 15:09:01 +00:00  
						
					 
				
					
						
							
							
								 
								Hubert Tong
							
						 
						
							 
							
							
							
							
								
							
							
								2fdf202493 
								
							 
						 
						
							
							
								
								[libcxx] Add "flag" default arg: basic_regex ptr_size_flag ctor  
							
							 
							
							... 
							
							
							
							Summary:
The synopsis in C++11 subclause 28.8 [re.regex] has:
```
basic_regex(const charT* p, size_t len,
            flag_type f = regex_constants::ECMAScript);
```
The default argument is added to libc++ by this change.
Reviewers: mclow.lists, rsmith, hubert.reinterpretcast
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D22702 
Reapplies r277966.
Patch by Jason Liu!
llvm-svn: 277968 
							
						 
						
							2016-08-07 22:26:04 +00:00  
						
					 
				
					
						
							
							
								 
								Hubert Tong
							
						 
						
							 
							
							
							
							
								
							
							
								faf3149df6 
								
							 
						 
						
							
							
								
								Revert r277966. Forgot patch attribution.  
							
							 
							
							... 
							
							
							
							llvm-svn: 277967 
							
						 
						
							2016-08-07 22:23:24 +00:00  
						
					 
				
					
						
							
							
								 
								Hubert Tong
							
						 
						
							 
							
							
							
							
								
							
							
								614c406f9e 
								
							 
						 
						
							
							
								
								[libcxx] Add "flag" default arg: basic_regex ptr_size_flag ctor  
							
							 
							
							... 
							
							
							
							Summary:
The synopsis in C++11 subclause 28.8 [re.regex] has:
```
basic_regex(const charT* p, size_t len,
            flag_type f = regex_constants::ECMAScript);
```
The default argument is added to libc++ by this change.
Reviewers: mclow.lists, rsmith, hubert.reinterpretcast
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D22702 
llvm-svn: 277966 
							
						 
						
							2016-08-07 22:18:33 +00:00  
						
					 
				
					
						
							
							
								 
								Hubert Tong
							
						 
						
							 
							
							
							
							
								
							
							
								ac98d59802 
								
							 
						 
						
							
							
								
								[libcxx] basic_regex: add traits_type, string_type  
							
							 
							
							... 
							
							
							
							Summary:
In the synopsis in C++11 subclause 28.8 [re.regex], `basic_regex` is
specified to have member typedefs `traits_type` and `string_type`. This
change adds them to libc++.
Reviewers: mclow.lists, rsmith, hubert.reinterpretcast
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D22698 
Patch by Jason Liu!
llvm-svn: 277526 
							
						 
						
							2016-08-02 21:34:48 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Sanders
							
						 
						
							 
							
							
							
							
								
							
							
								4788179a2c 
								
							 
						 
						
							
							
								
								[libcxx] Fix definition of regex_traits::__regex_word on big-endian glibc systems  
							
							 
							
							... 
							
							
							
							Summary:
On glibc, the bits used for the various character classes is endian dependant
(see _ISbit() in ctypes.h) but __regex_word does not account for this and uses
a spare bit that isn't spare on big-endian. On big-endian, it overlaps with the
bit for graphic characters which causes '-', '@', etc. to be considered a word
character.
Fixed this by defining the value using _ISbit(15) on MIPS glibc systems. We've
restricted this to MIPS for now to avoid the risk of introducing failures in
other targets.
Fixes PR26476.
Reviewers: hans, mclow.lists
Subscribers: dsanders, cfe-commits
Differential Revision: http://reviews.llvm.org/D17132 
llvm-svn: 261088 
							
						 
						
							2016-02-17 13:16:31 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan P. N. Exon Smith
							
						 
						
							 
							
							
							
							
								
							
							
								f42ef3efca 
								
							 
						 
						
							
							
								
								re.results.form: Format out-of-range subexpression references as null  
							
							 
							
							... 
							
							
							
							Rather than crashing in match_results::format() when a reference to a
marked subexpression is out of range, format the subexpression as empty
(i.e., replace it with an empty string).  Note that
match_results::operator[]() has a range-check and returns a null match
in this case, so this just re-uses that logic.
llvm-svn: 259682 
							
						 
						
							2016-02-03 19:30:20 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								b414b2f54b 
								
							 
						 
						
							
							
								
								Fix PR#26175. Thanks to Josh Petrie for the report and the patch. Reviewed as  http://reviews.llvm.org/D16262  
							
							 
							
							... 
							
							
							
							llvm-svn: 258107 
							
						 
						
							2016-01-19 00:50:37 +00:00  
						
					 
				
					
						
							
							
								 
								Evgeniy Stepanov
							
						 
						
							 
							
							
							
							
								
							
							
								906c872db9 
								
							 
						 
						
							
							
								
								Cleanup: move visibility/linkage attributes to the first declaration.  
							
							 
							
							... 
							
							
							
							This change moves visibility attributes from out-of-class method
definitions to in-class declaration. This is needed for a switch to
attribute((internal_linkage)) (see http://reviews.llvm.org/D13925 )
which can only appear on the first declaration.
This change does not touch istream/ostream/streambuf. They are
handled separately in http://reviews.llvm.org/D14409 .
llvm-svn: 252385 
							
						 
						
							2015-11-07 01:22:13 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								550dfe79ca 
								
							 
						 
						
							
							
								
								Fix a crasher found by libFuzzer  
							
							 
							
							... 
							
							
							
							llvm-svn: 245849 
							
						 
						
							2015-08-24 15:57:09 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								05ddbffbf3 
								
							 
						 
						
							
							
								
								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  
							
							 
							
							... 
							
							
							
							llvm-svn: 245239 
							
						 
						
							2015-08-17 21:14:16 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								bcbc37d8a1 
								
							 
						 
						
							
							
								
								Consolidate a bunch of #ifdef _LIBCPP_NO_EXCEPTIONS .. #endif blocks into a single template function. NFC  
							
							 
							
							... 
							
							
							
							llvm-svn: 243415 
							
						 
						
							2015-07-28 13:30:47 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								983d178108 
								
							 
						 
						
							
							
								
								Detect and throw on a class of bad regexes that we mistakenly accepted before. Thanks to Trevor Smigiel for the report  
							
							 
							
							... 
							
							
							
							llvm-svn: 243030 
							
						 
						
							2015-07-23 18:27:51 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Fiselier
							
						 
						
							 
							
							
							
							
								
							
							
								b50f8f9ee7 
								
							 
						 
						
							
							
								
								Fix initializer list order in <regex> to be correct  
							
							 
							
							... 
							
							
							
							llvm-svn: 242864 
							
						 
						
							2015-07-22 01:29:41 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Fiselier
							
						 
						
							 
							
							
							
							
								
							
							
								818139da59 
								
							 
						 
						
							
							
								
								Remove unused typedefs in random and regex  
							
							 
							
							... 
							
							
							
							llvm-svn: 242628 
							
						 
						
							2015-07-18 22:57:14 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								8fa8e5fc74 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 232733 
							
						 
						
							2015-03-19 17:05:59 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								538fec0e59 
								
							 
						 
						
							
							
								
								Fix for PR22061 by K-ballo  
							
							 
							
							... 
							
							
							
							llvm-svn: 227384 
							
						 
						
							2015-01-28 22:22:35 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								9db9069cf3 
								
							 
						 
						
							
							
								
								Make regex::assign not clobber the regex in case of failure. Fixes PR#22213  
							
							 
							
							... 
							
							
							
							llvm-svn: 225799 
							
						 
						
							2015-01-13 16:49:52 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								b04058e8c1 
								
							 
						 
						
							
							
								
								Implement LWG 2217 - operator==(sub_match, string) slices on embedded '\0's  
							
							 
							
							... 
							
							
							
							llvm-svn: 224292 
							
						 
						
							2014-12-15 23:57:56 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Albert
							
						 
						
							 
							
							
							
							
								
							
							
								15c010a37e 
								
							 
						 
						
							
							
								
								Base regex code on char_class_type.  
							
							 
							
							... 
							
							
							
							__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 
							
						 
						
							2014-07-29 19:23:39 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								9393b5113b 
								
							 
						 
						
							
							
								
								Fix Bug 19678 - libc++ does not correctly handle the regex: '[^\0]*'  
							
							 
							
							... 
							
							
							
							llvm-svn: 209307 
							
						 
						
							2014-05-21 16:29:50 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								16da324051 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 202214 
							
						 
						
							2014-02-26 01:56:31 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								7d35711187 
								
							 
						 
						
							
							
								
								Implement LWG Issues  #2329  and  #2332  - disallow iterators into temporary regexes and regexes into temporary strings  
							
							 
							
							... 
							
							
							
							llvm-svn: 201717 
							
						 
						
							2014-02-19 21:21:11 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								9aafa898f9 
								
							 
						 
						
							
							
								
								Update __parse_DUP_COUNT and __parse_BACKREF to use the traits class to recognize digits. Fixes PR18514  
							
							 
							
							... 
							
							
							
							llvm-svn: 199541 
							
						 
						
							2014-01-18 03:40:03 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								54f6bd59f5 
								
							 
						 
						
							
							
								
								Fix a bug in regex_token_iterator's copy constructor. Caught by Bob Wilson.  
							
							 
							
							... 
							
							
							
							llvm-svn: 199122 
							
						 
						
							2014-01-13 17:47:08 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								79b0fee3c6 
								
							 
						 
						
							
							
								
								Fix PR18404 - 'Bug in regex_token_iterator::operator++(int) implementation'. Enhance the tests for regex_token_iterator and regex_iterator.  
							
							 
							
							... 
							
							
							
							llvm-svn: 198878 
							
						 
						
							2014-01-09 18:25:57 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								e604469e5c 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 193087 
							
						 
						
							2013-10-21 15:43:25 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								fc88dbd298 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 189114 
							
						 
						
							2013-08-23 17:37:05 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								f0544c2086 
								
							 
						 
						
							
							
								
								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 >.  
							
							 
							
							... 
							
							
							
							llvm-svn: 188192 
							
						 
						
							2013-08-12 18:38:34 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								7491a16031 
								
							 
						 
						
							
							
								
								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"
llvm-svn: 186954 
							
						 
						
							2013-07-23 16:18:04 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								22161401df 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 186335 
							
						 
						
							2013-07-15 18:21:11 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								c815a4e297 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 186089 
							
						 
						
							2013-07-11 15:32:55 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								dbdeb153d8 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 185950 
							
						 
						
							2013-07-09 17:29:09 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								43bbdd29de 
								
							 
						 
						
							
							
								
								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/.
llvm-svn: 185449 
							
						 
						
							2013-07-02 17:43:31 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								660f2ae422 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 185273 
							
						 
						
							2013-06-29 23:45:43 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								3f75953d82 
								
							 
						 
						
							
							
								
								Provide missing '{' in parsing extended quoted characters.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16135  
							
							 
							
							... 
							
							
							
							llvm-svn: 185211 
							
						 
						
							2013-06-28 20:31:05 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								8d1e822432 
								
							 
						 
						
							
							
								
								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  
							
							 
							
							... 
							
							
							
							llvm-svn: 185196 
							
						 
						
							2013-06-28 19:11:23 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								21246e3314 
								
							 
						 
						
							
							
								
								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  
							
							 
							
							... 
							
							
							
							llvm-svn: 185192 
							
						 
						
							2013-06-28 18:57:30 +00:00  
						
					 
				
					
						
							
							
								 
								Marshall Clow
							
						 
						
							 
							
							
							
							
								
							
							
								1c2c986796 
								
							 
						 
						
							
							
								
								Fix undefined behavior in syntax_option_type::operator~ and match_flag_type::operator./a.out  Found by UBSan  
							
							 
							
							... 
							
							
							
							llvm-svn: 177693 
							
						 
						
							2013-03-22 02:13:55 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								c60bf548c5 
								
							 
						 
						
							
							
								
								Albert Wong: definition for regex_traits<_CharT>::__regex_word.  
							
							 
							
							... 
							
							
							
							llvm-svn: 176640 
							
						 
						
							2013-03-07 19:38:08 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								6e41256f68 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 176593 
							
						 
						
							2013-03-06 23:30:19 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								16694b5df5 
								
							 
						 
						
							
							
								
								Zhang Xiongpang:  Add definitions for const data members.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=14585 .  
							
							 
							
							... 
							
							
							
							llvm-svn: 170026 
							
						 
						
							2012-12-12 21:14:28 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								88db3171dd 
								
							 
						 
						
							
							
								
								Don't neglect to "return *this".  
							
							 
							
							... 
							
							
							
							llvm-svn: 165860 
							
						 
						
							2012-10-13 02:03:45 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								aeb85680fb 
								
							 
						 
						
							
							
								
								Dimitry Andric:  many visibility fixes.  Howard:  Much appreciated.  Can you send me a patch to CREDITS.TXT?  
							
							 
							
							... 
							
							
							
							llvm-svn: 163862 
							
						 
						
							2012-09-14 00:39:16 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								42be98ab54 
								
							 
						 
						
							
							
								
								noexcept and constexpr applied to <regex>.  
							
							 
							
							... 
							
							
							
							llvm-svn: 160594 
							
						 
						
							2012-07-21 01:31:58 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								c206366fd7 
								
							 
						 
						
							
							
								
								Quash a whole bunch of warnings  
							
							 
							
							... 
							
							
							
							llvm-svn: 145624 
							
						 
						
							2011-12-01 20:21:04 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								c003db1fca 
								
							 
						 
						
							
							
								
								Further macro protection by replacing _[A-Z] with _[A-Z]p  
							
							 
							
							... 
							
							
							
							llvm-svn: 145410 
							
						 
						
							2011-11-29 18:15:50 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								ab4f438239 
								
							 
						 
						
							
							
								
								Add protection from min/max macros  
							
							 
							
							... 
							
							
							
							llvm-svn: 145407 
							
						 
						
							2011-11-29 16:45:27 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								073458b1ab 
								
							 
						 
						
							
							
								
								Windows support by Ruben Van Boxem.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142235 
							
						 
						
							2011-10-17 20:05:10 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								2a4812fd04 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10255403> match_results::begin() is off by one  
							
							 
							
							... 
							
							
							
							llvm-svn: 141494 
							
						 
						
							2011-10-08 14:36:16 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								54976f2619 
								
							 
						 
						
							
							
								
								Fixed PR10574:  http://llvm.org/bugs/show_bug.cgi?id=10574  
							
							 
							
							... 
							
							
							
							llvm-svn: 137522 
							
						 
						
							2011-08-12 21:56:02 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								ce48a1137d 
								
							 
						 
						
							
							
								
								_STD -> _VSTD to avoid macro clash on windows  
							
							 
							
							... 
							
							
							
							llvm-svn: 134190 
							
						 
						
							2011-06-30 21:18:19 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								ce53420e37 
								
							 
						 
						
							
							
								
								Provide names for template and function parameters in forward declarations.  The purpose is to aid automated documentation tools.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133008 
							
						 
						
							2011-06-14 19:58:17 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								382600ff97 
								
							 
						 
						
							
							
								
								Jonathan Sauer found a bug in the way ^ was handled  
							
							 
							
							... 
							
							
							
							llvm-svn: 128350 
							
						 
						
							2011-03-26 20:02:27 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								a0fe8c436e 
								
							 
						 
						
							
							
								
								Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris).  
							
							 
							
							... 
							
							
							
							llvm-svn: 125510 
							
						 
						
							2011-02-14 19:12:38 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								966b5a3157 
								
							 
						 
						
							
							
								
								N3158 Missing preconditions for default-constructed match_result objects  
							
							 
							
							... 
							
							
							
							llvm-svn: 121282 
							
						 
						
							2010-12-08 21:07:55 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								412dbebe1b 
								
							 
						 
						
							
							
								
								license change  
							
							 
							
							... 
							
							
							
							llvm-svn: 119395 
							
						 
						
							2010-11-16 22:09:02 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								3e84caaebb 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114647 
							
						 
						
							2010-09-23 15:13:20 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								7609c9b665 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113086 
							
						 
						
							2010-09-04 23:28:19 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								b3371f6f49 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							 
							
							... 
							
							
							
							llvm-svn: 111750 
							
						 
						
							2010-08-22 00:02:43 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								86550b0038 
								
							 
						 
						
							
							
								
								[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. :-)  
							
							 
							
							... 
							
							
							
							llvm-svn: 111333 
							
						 
						
							2010-08-18 00:13:08 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								14dcd3d1ff 
								
							 
						 
						
							
							
								
								[re.tokiter]  
							
							 
							
							... 
							
							
							
							llvm-svn: 111278 
							
						 
						
							2010-08-17 20:42:03 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								2bf1fd99b1 
								
							 
						 
						
							
							
								
								[re.regiter]  
							
							 
							
							... 
							
							
							
							llvm-svn: 111178 
							
						 
						
							2010-08-16 20:21:16 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								48b242a275 
								
							 
						 
						
							
							
								
								Everything under [re.results]  
							
							 
							
							... 
							
							
							
							llvm-svn: 111074 
							
						 
						
							2010-08-14 18:14:02 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								5cd6658798 
								
							 
						 
						
							
							
								
								Everything under [re.regex]  
							
							 
							
							... 
							
							
							
							llvm-svn: 111024 
							
						 
						
							2010-08-13 18:11:23 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								54b409fdb9 
								
							 
						 
						
							
							
								
								now works with -fno-exceptions and -fno-rtti  
							
							 
							
							... 
							
							
							
							llvm-svn: 110828 
							
						 
						
							2010-08-11 17:04:31 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								7189782c6b 
								
							 
						 
						
							
							
								
								bug fix concerning search not at beginning of string and word boundaries  
							
							 
							
							... 
							
							
							
							llvm-svn: 109750 
							
						 
						
							2010-07-29 15:17:28 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								7949ab0743 
								
							 
						 
						
							
							
								
								fix bug incrementing past end in search  
							
							 
							
							... 
							
							
							
							llvm-svn: 109716 
							
						 
						
							2010-07-29 01:15:27 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								4ea5240e05 
								
							 
						 
						
							
							
								
								fix parse bug in ecma non-greedy loop  
							
							 
							
							... 
							
							
							
							llvm-svn: 109711 
							
						 
						
							2010-07-29 00:36:00 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								6e156afa71 
								
							 
						 
						
							
							
								
								Fixed some bugs in the ecma bracket epression regarding escaped characters, and got the awk grammar going.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109599 
							
						 
						
							2010-07-28 17:35:27 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								c1124300fe 
								
							 
						 
						
							
							
								
								lookahead for ecma  
							
							 
							
							... 
							
							
							
							llvm-svn: 109548 
							
						 
						
							2010-07-27 22:20:32 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								93da3b2e41 
								
							 
						 
						
							
							
								
								grep and egrep grammars  
							
							 
							
							... 
							
							
							
							llvm-svn: 109534 
							
						 
						
							2010-07-27 19:53:10 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								6afe8b0a23 
								
							 
						 
						
							
							
								
								continued regex development...  
							
							 
							
							... 
							
							
							
							llvm-svn: 109512 
							
						 
						
							2010-07-27 17:24:17 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								5c67986156 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109479 
							
						 
						
							2010-07-27 01:25:38 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								f7109438ea 
								
							 
						 
						
							
							
								
								I believe posix extended expr is feature complete.  Getting started on ecma exprs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109126 
							
						 
						
							2010-07-22 17:53:24 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								b762bea3ba 
								
							 
						 
						
							
							
								
								A few more tests for posix extended alternation  
							
							 
							
							... 
							
							
							
							llvm-svn: 109107 
							
						 
						
							2010-07-22 14:12:20 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								c1198c320f 
								
							 
						 
						
							
							
								
								A good start on extended posix regex.  Loops working.  Alternation working.  Also update by-chapter completeness summary.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108548 
							
						 
						
							2010-07-16 19:08:36 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								5d695f041c 
								
							 
						 
						
							
							
								
								Fixed to work with generalized iterators.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108359 
							
						 
						
							2010-07-14 21:14:52 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								5699358c63 
								
							 
						 
						
							
							
								
								Minor optimizations.  Minor bug fixes.  More tests.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108331 
							
						 
						
							2010-07-14 15:45:11 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								8ab959c961 
								
							 
						 
						
							
							
								
								Bracket expressions are working (lightly tested).  
							
							 
							
							... 
							
							
							
							llvm-svn: 108280 
							
						 
						
							2010-07-13 21:48:06 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								fdec08bd8b 
								
							 
						 
						
							
							
								
								regex_constants icase and collate for matching a single char and for matching back references  
							
							 
							
							... 
							
							
							
							llvm-svn: 108178 
							
						 
						
							2010-07-12 19:11:27 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								aea2afe334 
								
							 
						 
						
							
							
								
								back references for BRE  
							
							 
							
							... 
							
							
							
							llvm-svn: 108168 
							
						 
						
							2010-07-12 18:16:05 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								0cbed7e140 
								
							 
						 
						
							
							
								
								Redesign number 3.  The previous design was not handling matching of empty strings inside of loops.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108151 
							
						 
						
							2010-07-12 15:51:17 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								87ec03a2ea 
								
							 
						 
						
							
							
								
								weekly update to by-chapter-summary, plus left and right anchor support in basic posix.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107938 
							
						 
						
							2010-07-09 00:15:26 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								8c459a14a9 
								
							 
						 
						
							
							
								
								Marked subexpressions in a loop in basic posix working (only lightly tested so far)  
							
							 
							
							... 
							
							
							
							llvm-svn: 107889 
							
						 
						
							2010-07-08 17:43:58 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								189b212662 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107803 
							
						 
						
							2010-07-07 19:14:52 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								928658cd70 
								
							 
						 
						
							
							
								
								First test for marked subexpressions  
							
							 
							
							... 
							
							
							
							llvm-svn: 107317 
							
						 
						
							2010-06-30 20:30:19 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								237ee6fef8 
								
							 
						 
						
							
							
								
								First, very primitive, search results on one engine  
							
							 
							
							... 
							
							
							
							llvm-svn: 107294 
							
						 
						
							2010-06-30 17:22:19 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								cdefdeee28 
								
							 
						 
						
							
							
								
								two steps forward, one step back...  
							
							 
							
							... 
							
							
							
							llvm-svn: 107230 
							
						 
						
							2010-06-30 00:21:42 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								e5561b04e4 
								
							 
						 
						
							
							
								
								[re.submatch]  
							
							 
							
							... 
							
							
							
							llvm-svn: 107187 
							
						 
						
							2010-06-29 18:37:43 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								853aff80dd 
								
							 
						 
						
							
							
								
								regex: learning to crawl  
							
							 
							
							... 
							
							
							
							llvm-svn: 106882 
							
						 
						
							2010-06-25 20:56:08 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								24e98486a3 
								
							 
						 
						
							
							
								
								Continuing to work through regex, and updated libcxx_by_chapter.pdf with weekly test results  
							
							 
							
							... 
							
							
							
							llvm-svn: 106790 
							
						 
						
							2010-06-24 21:28:00 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								24757ff75e 
								
							 
						 
						
							
							
								
								Finished [re.traits].  I'd like to acknowledge the help of Bjorn Reese with <regex>.  
							
							 
							
							... 
							
							
							
							llvm-svn: 106478 
							
						 
						
							2010-06-21 21:01:43 +00:00  
						
					 
				
					
						
							
							
								 
								Howard Hinnant
							
						 
						
							 
							
							
							
							
								
							
							
								70505305c1 
								
							 
						 
						
							
							
								
								Just getting our toes wet on <regex>  
							
							 
							
							... 
							
							
							
							llvm-svn: 106187 
							
						 
						
							2010-06-17 00:34:59 +00:00