58af7e177c 
								
							 
						 
						
							
							
								
								r192075 broke the buildbot at  
							
							... 
							
							
							
							http://lab.llvm.org:8013/builders/libcxx_clang-x86_64-darwin11-RA 
lit.py: <string>:230: note: inferred use_system_lib as: False
lit.py: <string>:247: fatal: C++ ABI setting None unsupported for tests
cxx_abi is geting set to None, and the lit script errors out shortly after
that.  This patch changes the default of cxx_abi from None to 'libcxxabi'.
This is likely not the right way to fix this problem.  However it gets the
buildbot running again.  Improvements to this fix are welcome.
llvm-svn: 192609 
						
							2013-10-14 18:02:02 +00:00  
				
					
						
							
							
								 
						
							
								d58daf9433 
								
							 
						 
						
							
							
								
								LWG Issue 2097: packaged_task constructors should be constrained  
							
							... 
							
							
							
							llvm-svn: 192544 
							
						 
						
							2013-10-12 22:49:17 +00:00  
				
					
						
							
							
								 
						
							
								8de32cb3dc 
								
							 
						 
						
							
							
								
								Implement national body comment GB9: remove std::gets  
							
							... 
							
							
							
							llvm-svn: 192538 
							
						 
						
							2013-10-12 19:09:47 +00:00  
				
					
						
							
							
								 
						
							
								db78c7049e 
								
							 
						 
						
							
							
								
								Fix LWG Issue 2141: common_type trait produces reference types  
							
							... 
							
							
							
							llvm-svn: 192142 
							
						 
						
							2013-10-07 23:43:33 +00:00  
				
					
						
							
							
								 
						
							
								4f44079a2c 
								
							 
						 
						
							
							
								
								Apparently, I don't know the difference between 'left' and 'right'. Swap parameters named 'lhs' and 'rhs' so that they correctly refer to the 'left hand side' and 'right hand side' of comparisons. No functionality change. Thanks to Arthur O'Dwyer for pointing this out to me.  
							
							... 
							
							
							
							llvm-svn: 192080 
							
						 
						
							2013-10-07 02:37:18 +00:00  
				
					
						
							
							
								 
						
							
								26dd09e57f 
								
							 
						 
						
							
							
								
								Make it possible to link against libstdc++ as well as libsupc++ with CMake.  
							
							... 
							
							
							
							Linking against libstdc++, rather than libsupc++, is probably better
for people who need to link against clients of libstdc++.  Because
libsupc++ is provided only as a static library, its globals are not
shared between the static library and the copy linked into libstdc++.
This has been found to cause at least one test failure.
This also removes a number of symbols which were multiply defined
between libstdc++ and libc++, only when linking with libstdc++.
Differential Revision: http://llvm-reviews.chandlerc.com/D1825 
llvm-svn: 192075 
							
						 
						
							2013-10-06 22:13:19 +00:00  
				
					
						
							
							
								 
						
							
								6d48bdd2a8 
								
							 
						 
						
							
							
								
								G M: 1. It changes the temp file handling to use the template and the current directory for windows, matching how it works on other platforms.  
							
							... 
							
							
							
							2. It re-enables the temp file handling for mingw that regressed.
llvm-svn: 192073 
							
						 
						
							2013-10-06 21:14:05 +00:00  
				
					
						
							
							
								 
						
							
								d2f095e5ba 
								
							 
						 
						
							
							
								
								Add tests making sure that optional<T>s can be compared at compile time; this functionality was enabled by N3789  
							
							... 
							
							
							
							llvm-svn: 192051 
							
						 
						
							2013-10-05 23:29:16 +00:00  
				
					
						
							
							
								 
						
							
								dbd2ebb07e 
								
							 
						 
						
							
							
								
								LWG Issue 2247: Implement type trait 'is_null_pointer'  
							
							... 
							
							
							
							llvm-svn: 192049 
							
						 
						
							2013-10-05 21:21:17 +00:00  
				
					
						
							
							
								 
						
							
								ea7c7cc521 
								
							 
						 
						
							
							
								
								Implement literal suffixes for compled  
							
							... 
							
							
							
							llvm-svn: 192048 
							
						 
						
							2013-10-05 21:19:49 +00:00  
				
					
						
							
							
								 
						
							
								3ceafc7f01 
								
							 
						 
						
							
							
								
								Mark namespaces for user defined literals as 'inline'  
							
							... 
							
							
							
							llvm-svn: 192047 
							
						 
						
							2013-10-05 21:18:32 +00:00  
				
					
						
							
							
								 
						
							
								de9320aa2b 
								
							 
						 
						
							
							
								
								Implement LWG issue 2275 'forward_as_tuple should be constexpr'  
							
							... 
							
							
							
							llvm-svn: 192038 
							
						 
						
							2013-10-05 18:46:37 +00:00  
				
					
						
							
							
								 
						
							
								4806fcd697 
								
							 
						 
						
							
							
								
								Make it possible to run the test suite when built as part of LLVM.  
							
							... 
							
							
							
							llvm-svn: 191930 
							
						 
						
							2013-10-03 21:58:25 +00:00  
				
					
						
							
							
								 
						
							
								45b983c4d0 
								
							 
						 
						
							
							
								
								Part 8 of LWG Issue 2210' unordered_set and unordered multiset; this got missed when I went on vacation  
							
							... 
							
							
							
							llvm-svn: 191705 
							
						 
						
							2013-09-30 21:33:51 +00:00  
				
					
						
							
							
								 
						
							
								9fd9f84f48 
								
							 
						 
						
							
							
								
								SCARY/N2913 iterator support between the multi and non-multi versions of the associative and unordered containers.  I beleive lack of support for this was accidentally recently introduced (by me) and this is fixing a regression.  This time tests are put in to prevent such a regression in the future.  
							
							... 
							
							
							
							llvm-svn: 191692 
							
						 
						
							2013-09-30 19:08:22 +00:00  
				
					
						
							
							
								 
						
							
								3d5134dd52 
								
							 
						 
						
							
							
								
								Implement n3789; constexpr support in named function objects  
							
							... 
							
							
							
							llvm-svn: 191626 
							
						 
						
							2013-09-28 19:06:12 +00:00  
				
					
						
							
							
								 
						
							
								7a828034c6 
								
							 
						 
						
							
							
								
								Peter Collingbourne: If a pointer is passed as the third argument of the (iterator,  
							
							... 
							
							
							
							iterator, allocator) constructor with the intention of it being
implicitly converted to the allocator type, it is possible for overload
resolution to favour the (iterator, iterator, enable_if) constructor.
Eliminate this possibility by moving the enable_if to one of the
existing arguments and removing the third argument.
llvm-svn: 191145 
							
						 
						
							2013-09-21 21:13:54 +00:00  
				
					
						
							
							
								 
						
							
								ead6f1699d 
								
							 
						 
						
							
							
								
								N3659: Shared locking in C++  Revision 2, c++1y only  
							
							... 
							
							
							
							llvm-svn: 191127 
							
						 
						
							2013-09-21 01:49:28 +00:00  
				
					
						
							
							
								 
						
							
								3b2d7ee18c 
								
							 
						 
						
							
							
								
								Marshall Clow:  LWG Issue 2056: future_errc enums start with value 0 (invalid value for broken_promise).  
							
							... 
							
							
							
							llvm-svn: 190756 
							
						 
						
							2013-09-14 18:20:10 +00:00  
				
					
						
							
							
								 
						
							
								a369cb6280 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #7 ): vector and vector<bool>  
							
							... 
							
							
							
							llvm-svn: 190736 
							
						 
						
							2013-09-14 00:47:59 +00:00  
				
					
						
							
							
								 
						
							
								ef6f1151b0 
								
							 
						 
						
							
							
								
								Initial implementation of <dynarray>. No allocator support pending resolution of LWG  #2235 ; no stack allocation pending compiler support  
							
							... 
							
							
							
							llvm-svn: 190697 
							
						 
						
							2013-09-13 15:22:55 +00:00  
				
					
						
							
							
								 
						
							
								b387ea89a6 
								
							 
						 
						
							
							
								
								Test for 'bad_array_length'; got left out of initial commit  
							
							... 
							
							
							
							llvm-svn: 190614 
							
						 
						
							2013-09-12 17:01:38 +00:00  
				
					
						
							
							
								 
						
							
								3cd37e6456 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #6 ): unordered_map and unordered_multimap  
							
							... 
							
							
							
							llvm-svn: 190576 
							
						 
						
							2013-09-12 03:00:31 +00:00  
				
					
						
							
							
								 
						
							
								872ac4b5f0 
								
							 
						 
						
							
							
								
								A collection of minor type-o fixes.  The first two aren't testable, but all tests pass with them.  I stumbled across them while experimenting with a std::move that checks its argument for non-const.  The third corrects a test that is currently failing.  
							
							... 
							
							
							
							llvm-svn: 190563 
							
						 
						
							2013-09-12 00:10:44 +00:00  
				
					
						
							
							
								 
						
							
								fbc317d480 
								
							 
						 
						
							
							
								
								LWG Issue  #2210  Part 5 - map/multimap; no, really - the last one was set/multiset. THIS is map/multimap  
							
							... 
							
							
							
							llvm-svn: 190474 
							
						 
						
							2013-09-11 01:15:47 +00:00  
				
					
						
							
							
								 
						
							
								0a55d17bcd 
								
							 
						 
						
							
							
								
								LWG Issue  #2210  Part 4 - map/multimap  
							
							... 
							
							
							
							llvm-svn: 190454 
							
						 
						
							2013-09-11 00:06:45 +00:00  
				
					
						
							
							
								 
						
							
								cdd01917ff 
								
							 
						 
						
							
							
								
								Remove a tab that snuck in  
							
							... 
							
							
							
							llvm-svn: 190283 
							
						 
						
							2013-09-08 21:13:57 +00:00  
				
					
						
							
							
								 
						
							
								224ccb38d3 
								
							 
						 
						
							
							
								
								Fix minor type-o in tests.  
							
							... 
							
							
							
							llvm-svn: 190280 
							
						 
						
							2013-09-08 19:28:51 +00:00  
				
					
						
							
							
								 
						
							
								fb8297668f 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #2  &  #3 ): list and forward_list  
							
							... 
							
							
							
							llvm-svn: 190279 
							
						 
						
							2013-09-08 19:11:51 +00:00  
				
					
						
							
							
								 
						
							
								630c5e535c 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #1 ): deque  
							
							... 
							
							
							
							llvm-svn: 190251 
							
						 
						
							2013-09-07 16:16:19 +00:00  
				
					
						
							
							
								 
						
							
								ef44edfde4 
								
							 
						 
						
							
							
								
								N3545: Quoted strings  
							
							... 
							
							
							
							llvm-svn: 190032 
							
						 
						
							2013-09-05 04:48:45 +00:00  
				
					
						
							
							
								 
						
							
								5155a569d1 
								
							 
						 
						
							
							
								
								LWG Issue 2148: Hashing Enums  
							
							... 
							
							
							
							llvm-svn: 189831 
							
						 
						
							2013-09-03 17:55:32 +00:00  
				
					
						
							
							
								 
						
							
								cb2e838ed0 
								
							 
						 
						
							
							
								
								Eradicate tabs  
							
							... 
							
							
							
							llvm-svn: 189808 
							
						 
						
							2013-09-03 14:14:27 +00:00  
				
					
						
							
							
								 
						
							
								e7d746d8b9 
								
							 
						 
						
							
							
								
								Implement N3672, optional<T>.  
							
							... 
							
							
							
							llvm-svn: 189772 
							
						 
						
							2013-09-02 20:30:37 +00:00  
				
					
						
							
							
								 
						
							
								dda6f242fb 
								
							 
						 
						
							
							
								
								Forgot to svn add the test for r189722.  
							
							... 
							
							
							
							llvm-svn: 189723 
							
						 
						
							2013-08-31 17:03:02 +00:00  
				
					
						
							
							
								 
						
							
								69bc206547 
								
							 
						 
						
							
							
								
								SFINAE out duration converting constructor if the constructor would otherwise cause a ratio compile-time overflow.  This fixes LWG 2094.  
							
							... 
							
							
							
							llvm-svn: 189722 
							
						 
						
							2013-08-31 16:51:56 +00:00  
				
					
						
							
							
								 
						
							
								b6b3e50bf3 
								
							 
						 
						
							
							
								
								[tests] Change with_system_lib feature to match what XFAIL lines expect.  
							
							... 
							
							
							
							- The lit builtin XFAIL handling is more restrictive than what we were
   previously using, and for now I'd rather keep the lit one restrictive.
llvm-svn: 189692 
							
						 
						
							2013-08-30 19:52:12 +00:00  
				
					
						
							
							
								 
						
							
								525dc284b4 
								
							 
						 
						
							
							
								
								is_destructible for function types was mistakenly returning true instead of false.  This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049.  
							
							... 
							
							
							
							llvm-svn: 189687 
							
						 
						
							2013-08-30 19:12:42 +00:00  
				
					
						
							
							
								 
						
							
								1e548c72e7 
								
							 
						 
						
							
							
								
								LWG Issue 2128: Implement global cbegin/rbegin/cend/rbegin  
							
							... 
							
							
							
							llvm-svn: 189634 
							
						 
						
							2013-08-30 01:17:07 +00:00  
				
					
						
							
							
								 
						
							
								06fbed03fc 
								
							 
						 
						
							
							
								
								LWG Issue 2162: mark allocator_traits::maxsize as noexcept  
							
							... 
							
							
							
							llvm-svn: 189399 
							
						 
						
							2013-08-27 20:22:15 +00:00  
				
					
						
							
							
								 
						
							
								7988106b21 
								
							 
						 
						
							
							
								
								LWG issues 2174/5/6 - mark wstring_convert::converted as noexcept, and make (some of) the constructors for wstring_convert and wbuffer_convert as explicit. Add configuration macro _LIBCPP_EXPLICIT_AFTER_CXX11  
							
							... 
							
							
							
							llvm-svn: 189398 
							
						 
						
							2013-08-27 20:18:59 +00:00  
				
					
						
							
							
								 
						
							
								54c83368a5 
								
							 
						 
						
							
							
								
								Implement LWG issue 2061  
							
							... 
							
							
							
							llvm-svn: 189345 
							
						 
						
							2013-08-27 13:03:03 +00:00  
				
					
						
							
							
								 
						
							
								93288117a5 
								
							 
						 
						
							
							
								
								Apply constexpr to initializer_list for c++1y.  
							
							... 
							
							
							
							llvm-svn: 189271 
							
						 
						
							2013-08-26 20:11:32 +00:00  
				
					
						
							
							
								 
						
							
								145afa17ca 
								
							 
						 
						
							
							
								
								Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.  
							
							... 
							
							
							
							llvm-svn: 189140 
							
						 
						
							2013-08-23 20:10:18 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								427ae44637 
								
							 
						 
						
							
							
								
								XFAIL a few tests on darwin12  
							
							... 
							
							
							
							llvm-svn: 189043 
							
						 
						
							2013-08-22 18:47:39 +00:00  
				
					
						
							
							
								 
						
							
								9ff3203fcc 
								
							 
						 
						
							
							
								
								Zhihao Yuan noted that a move assignment operation was missing from std::adjacent_difference.  Fixed.  
							
							... 
							
							
							
							llvm-svn: 189036 
							
						 
						
							2013-08-22 18:02:34 +00:00  
				
					
						
							
							
								 
						
							
								d8bf850359 
								
							 
						 
						
							
							
								
								David Blaikie suggested this test for detecting constexpr on the error_category default constructor.  Additionally I decided to make this constructor trivial as well, as I could not come up with a rationale for not doing so.  Fully tested with both current Apple clang and tip-of-trunk clang.  
							
							... 
							
							
							
							llvm-svn: 189034 
							
						 
						
							2013-08-22 17:41:48 +00:00  
				
					
						
							
							
								 
						
							
								56c917c57f 
								
							 
						 
						
							
							
								
								XFAIL 3 tests on darwin 11-12.  The tests have recently been modified, are correct, and pass with an updated libc++.dylib  
							
							... 
							
							
							
							llvm-svn: 188964 
							
						 
						
							2013-08-22 00:04:22 +00:00  
				
					
						
							
							
								 
						
							
								019c5905df 
								
							 
						 
						
							
							
								
								[tests] Update to use lit's now-integrated XFAIL handling.  
							
							... 
							
							
							
							llvm-svn: 188960 
							
						 
						
							2013-08-21 23:06:32 +00:00  
				
					
						
							
							
								 
						
							
								2d6e2834a8 
								
							 
						 
						
							
							
								
								Implement LWG Issue  #2187  (emplace_back and emplace for vector<bool>)  
							
							... 
							
							
							
							llvm-svn: 188333 
							
						 
						
							2013-08-13 23:54:12 +00:00  
				
					
						
							
							
								 
						
							
								e4fa0dee48 
								
							 
						 
						
							
							
								
								Eradicate tabs  
							
							... 
							
							
							
							llvm-svn: 188322 
							
						 
						
							2013-08-13 22:22:40 +00:00  
				
					
						
							
							
								 
						
							
								2585835c3b 
								
							 
						 
						
							
							
								
								Second half (map/multimap) of N3657  
							
							... 
							
							
							
							llvm-svn: 188320 
							
						 
						
							2013-08-13 22:18:47 +00:00  
				
					
						
							
							
								 
						
							
								914993df0b 
								
							 
						 
						
							
							
								
								Added more tests for numeric conversion error handing; Refs LWG issue 2009  
							
							... 
							
							
							
							llvm-svn: 188282 
							
						 
						
							2013-08-13 15:52:51 +00:00  
				
					
						
							
							
								 
						
							
								75f9aa9993 
								
							 
						 
						
							
							
								
								More support for N3657; tests for is_transparent  
							
							... 
							
							
							
							llvm-svn: 188242 
							
						 
						
							2013-08-13 01:12:41 +00:00  
				
					
						
							
							
								 
						
							
								25d3402c6a 
								
							 
						 
						
							
							
								
								First half of support for N3657; heterogenous lookups for set/multiset  
							
							... 
							
							
							
							llvm-svn: 188241 
							
						 
						
							2013-08-13 01:11:06 +00:00  
				
					
						
							
							
								 
						
							
								6afbc442d6 
								
							 
						 
						
							
							
								
								Add a check for arrays of unknown bounds to is_destructible.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16839  
							
							... 
							
							
							
							llvm-svn: 188080 
							
						 
						
							2013-08-09 16:53:45 +00:00  
				
					
						
							
							
								 
						
							
								4a38129468 
								
							 
						 
						
							
							
								
								[tests] Update to use lit_config and lit package, as appropriate.  
							
							... 
							
							
							
							llvm-svn: 188073 
							
						 
						
							2013-08-09 14:44:11 +00:00  
				
					
						
							
							
								 
						
							
								2472b928d2 
								
							 
						 
						
							
							
								
								N3644 tests for map/multimap/set/multiset. Drive-by NOEXCEPT for __tree_const_iterator constructor. Fix comment typos in other tests  
							
							... 
							
							
							
							llvm-svn: 188019 
							
						 
						
							2013-08-08 21:52:50 +00:00  
				
					
						
							
							
								 
						
							
								2c1a894061 
								
							 
						 
						
							
							
								
								N3644 support for <unordered_set> and <unordered_map>  
							
							... 
							
							
							
							llvm-svn: 187915 
							
						 
						
							2013-08-07 21:30:44 +00:00  
				
					
						
							
							
								 
						
							
								798061ded6 
								
							 
						 
						
							
							
								
								N3644 support for vector<bool>  
							
							... 
							
							
							
							llvm-svn: 187910 
							
						 
						
							2013-08-07 20:53:38 +00:00  
				
					
						
							
							
								 
						
							
								07186a7d2d 
								
							 
						 
						
							
							
								
								N3644 support for <string> and <vector>  
							
							... 
							
							
							
							llvm-svn: 187909 
							
						 
						
							2013-08-07 20:48:48 +00:00  
				
					
						
							
							
								 
						
							
								303e27d8ce 
								
							 
						 
						
							
							
								
								Correct logic bug in find optimization for vector<bool>.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16816  
							
							... 
							
							
							
							llvm-svn: 187908 
							
						 
						
							2013-08-07 20:42:16 +00:00  
				
					
						
							
							
								 
						
							
								d098713aaf 
								
							 
						 
						
							
							
								
								War on tabs  
							
							... 
							
							
							
							llvm-svn: 187906 
							
						 
						
							2013-08-07 19:39:48 +00:00  
				
					
						
							
							
								 
						
							
								c5582b57c6 
								
							 
						 
						
							
							
								
								Rename time.duration.literals step 3  
							
							... 
							
							
							
							llvm-svn: 187905 
							
						 
						
							2013-08-07 19:39:11 +00:00  
				
					
						
							
							
								 
						
							
								35e09c7ad7 
								
							 
						 
						
							
							
								
								Rename time.duration.literals step 2  
							
							... 
							
							
							
							llvm-svn: 187904 
							
						 
						
							2013-08-07 19:36:50 +00:00  
				
					
						
							
							
								 
						
							
								453ca75d24 
								
							 
						 
						
							
							
								
								Rename time.duration.literals step 1  
							
							... 
							
							
							
							llvm-svn: 187903 
							
						 
						
							2013-08-07 19:35:46 +00:00  
				
					
						
							
							
								 
						
							
								e141dc0490 
								
							 
						 
						
							
							
								
								Implement tests for NULL iterators for <array> re: N3644  
							
							... 
							
							
							
							llvm-svn: 187809 
							
						 
						
							2013-08-06 17:17:13 +00:00  
				
					
						
							
							
								 
						
							
								8fe0a3722c 
								
							 
						 
						
							
							
								
								Implement NULL iterators for <forward_list> and <deque> re: N3644  
							
							... 
							
							
							
							llvm-svn: 187805 
							
						 
						
							2013-08-06 16:14:36 +00:00  
				
					
						
							
							
								 
						
							
								0c37cfd8b8 
								
							 
						 
						
							
							
								
								Implement NULL iterators for <list> re: N3644  
							
							... 
							
							
							
							llvm-svn: 187740 
							
						 
						
							2013-08-05 21:23:28 +00:00  
				
					
						
							
							
								 
						
							
								2f51de568f 
								
							 
						 
						
							
							
								
								debug mode for unordered_map.  Also picked up a missing check and test in unordered_multimap.  This wraps up debug mode for the unordered containers.  
							
							... 
							
							
							
							llvm-svn: 187659 
							
						 
						
							2013-08-02 17:50:49 +00:00  
				
					
						
							
							
								 
						
							
								42a3046eef 
								
							 
						 
						
							
							
								
								Ok, 3 major changes for debug mode in one commit:  
							
							... 
							
							
							
							1.  I had been detecting and trapping iterator == and \!= among iterators
    in different containers as an error.  But the trapping itself is actually
    an error.
    
    Consider:
    
    #include <iostream>
    #include <vector>
    #include <algorithm>
    template <class C>
    void
    display(const C& c)
    {
        std::cout << "{";
        bool first = true;
        for (const auto& x : c)
        {
            if (\!first)
                std::cout << ", ";
            first = false;
            std::cout << x;
        }
        std::cout << "}\n";
    }
    int
    main()
    {
        typedef std::vector<int> V;
        V v1 = {1, 3, 5};
        V v2 = {2, 4, 6};
        display(v1);
        display(v2);
        V::iterator i = std::find(v1.begin(), v1.end(), 1);
        V::iterator j = std::find(v2.begin(), v2.end(), 2);
        if (*i == *j)
            i = j;    // perfectly legal
        // ...
        if (i \!= j)   // the only way to check
            v2.push_back(*i);
        display(v1);
        display(v2);
    }
    It is legal to assign an iterator from one container to another of the
    same type.  This is required to work.  One might want to test whether or
    not such an assignment had been made.  The way one performs such a check
    is using the iterator's ==, \!= operator.  This is a logical and necessary
    function and does not constitute an error.
2.  I had a header circular dependence bug when _LIBCPP_DEBUG2 is defined.
    This caused a problem in several of the libc++ tests.
    Fixed.
3.  There is a serious problem when _LIBCPP_DEBUG2=1 at the moment in that
    std::basic_string is inoperable.  std::basic_string uses __wrap_iterator
    to implement its iterators.  __wrap_iterator has been rigged up in debug
    mode to support vector.  But string hasn't been rigged up yet.  This means
    that one gets false positives when using std::string in debug mode.  I've
    upped std::string's priority in www/debug_mode.html.
llvm-svn: 187636 
							
						 
						
							2013-08-02 00:26:35 +00:00  
				
					
						
							
							
								 
						
							
								0be8f64c44 
								
							 
						 
						
							
							
								
								Nico Rieck:  Currently _MSC_VER and _WIN32 are used to guard code which is  
							
							... 
							
							
							
							MSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang can
also define _MSC_VER, and MSVCRT is not necessarily the only C runtime,
these macros should not be used interchangeably.
This patch divides all Windows-related bits into the aforementioned
categories. Two new macros are introduced:
- _LIBCPP_MSVC: Defined when compiling with MSVC. Detected using
  _MSC_VER, excluding Clang.
- _LIBCPP_MSVCRT: Defined when using the Microsoft CRT. This is the default
   when _WIN32 is defined.
This leaves _WIN32 for code using the Windows API.
This also corrects the spelling of _LIBCP_HAS_IS_BASE_OF to _LIBCPP_HAS_IS_BASE_OF.
Nico, please prepare a patch for CREDITS.TXT, thanks.
llvm-svn: 187593 
							
						 
						
							2013-08-01 18:17:34 +00:00  
				
					
						
							
							
								 
						
							
								0f242bea10 
								
							 
						 
						
							
							
								
								Taking another swing at correctly optimizing fill_n.  
							
							... 
							
							
							
							llvm-svn: 187587 
							
						 
						
							2013-08-01 17:29:28 +00:00  
				
					
						
							
							
								 
						
							
								ce075cf1aa 
								
							 
						 
						
							
							
								
								Constrain fill_n -> memset operations to include implicit convertibility to unsigned char.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16764 .  Also a drive-by fix on a chrono test suite bug.  
							
							... 
							
							
							
							llvm-svn: 187552 
							
						 
						
							2013-08-01 00:41:55 +00:00  
				
					
						
							
							
								 
						
							
								a1cd191624 
								
							 
						 
						
							
							
								
								Implement constexpr (n3302) and fix operator *= and /=  
							
							... 
							
							
							
							llvm-svn: 187529 
							
						 
						
							2013-07-31 21:02:34 +00:00  
				
					
						
							
							
								 
						
							
								a1d0d376c8 
								
							 
						 
						
							
							
								
								Implement n3469 - constexpr for chrono  
							
							... 
							
							
							
							llvm-svn: 187517 
							
						 
						
							2013-07-31 19:32:19 +00:00  
				
					
						
							
							
								 
						
							
								4c80bfbd53 
								
							 
						 
						
							
							
								
								Debug mode for unordered_multimap.  Some mods were done for unordered_map as well to keep all the tests passing.  However unordered_map is at the very least still missing tests, if not functionality (if it isn't tested, it probably isn't working).  
							
							... 
							
							
							
							llvm-svn: 187446 
							
						 
						
							2013-07-30 21:04:42 +00:00  
				
					
						
							
							
								 
						
							
								e5c13decbe 
								
							 
						 
						
							
							
								
								Debug mode for unordered_multiset.  The exercise spotted a few places I had missed on unordered_set, so I picked those up as well.  
							
							... 
							
							
							
							There are actually two debug modes:
   1.  -D_LIBCPP_DEBUG2 or -D_LIBCPP_DEBUG2=1
       This is a relatively expensive debug mode, but very thorough.  This is normally what you want to debug with, but may turn O(1) operations into O(N) operations.
   2.  -D_LIBCPP_DEBUG2=0
       This is "debug lite."  Only preconditions that can be checked with O(1) expense are checked.  For example range checking on an indexing operation.  But not iterator validity.
llvm-svn: 187369 
							
						 
						
							2013-07-29 19:05:47 +00:00  
				
					
						
							
							
								 
						
							
								aa5aa98eab 
								
							 
						 
						
							
							
								
								Add operator new[] to test.  Partial fix for valgrind warning in  http://llvm.org/bugs/show_bug.cgi?id=16703 .  
							
							... 
							
							
							
							llvm-svn: 187358 
							
						 
						
							2013-07-29 14:43:42 +00:00  
				
					
						
							
							
								 
						
							
								83c08b4497 
								
							 
						 
						
							
							
								
								Implement N3421; comparison predicates<void>  
							
							... 
							
							
							
							llvm-svn: 187357 
							
						 
						
							2013-07-29 14:21:53 +00:00  
				
					
						
							
							
								 
						
							
								7aa54577d1 
								
							 
						 
						
							
							
								
								literal suffixes for std::chrono  
							
							... 
							
							
							
							llvm-svn: 187078 
							
						 
						
							2013-07-24 21:18:14 +00:00  
				
					
						
							
							
								 
						
							
								b24c802489 
								
							 
						 
						
							
							
								
								Debug mode for unordered_set.  I believe this to be fairly complete for  
							
							... 
							
							
							
							unordered_set, however it is not complete yet for unordered_multiset,
unordered_map or unordered_multimap.  There has been a lot of work done
for these other three containers, however that work was done just to
keep all of the tests passing.
You can try this out with -D_LIBCPP_DEBUG2.  You will have to link to a
libc++.dylib that has been compiled with src/debug.cpp.  So far, vector
(but not vector<bool>), list, and unordered_set are treated.  I hope to
get the other three unordered containers up fairly quickly now that
unordered_set is done.
The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but
not today.  This is my second effort at getting debug mode going for
libc++, and I'm not quite yet ready to throw all of the work under the
first attempt away.
The basic design is that all of the debug information is kept in a
central database, instead of in the containers.  This has been done as
an attempt to have debug mode and non-debug mode be ABI compatible with
each other.  There are some circumstances where if you construct a
container in an environment without debug mode and pass it into debug
mode, the checking will get confused and let you know with a readable
error message.  Passing containers the other way: from debug mode out to
a non-debugging mode container should be 100% safe (at least that is the
goal).
llvm-svn: 186991 
							
						 
						
							2013-07-23 22:01:58 +00:00  
				
					
						
							
							
								 
						
							
								ca0be23b39 
								
							 
						 
						
							
							
								
								Implement string suffixes from N3642  
							
							... 
							
							
							
							llvm-svn: 186956 
							
						 
						
							2013-07-23 17:05:24 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								8bb1dbbf75 
								
							 
						 
						
							
							
								
								Fix a bug in std::fill_n where memset would end up being called in cases when it shouldn’t.  
							
							... 
							
							
							
							Reviewed by Howard.
llvm-svn: 186875 
							
						 
						
							2013-07-22 21:08:00 +00:00  
				
					
						
							
							
								 
						
							
								75eff74803 
								
							 
						 
						
							
							
								
								Make tuple's constructor and std::get<>(tuple) constexpr. Final stage of fixing bug  #16599 . Thanks to Howard for the review and updates.  
							
							... 
							
							
							
							llvm-svn: 186834 
							
						 
						
							2013-07-22 16:02:19 +00:00  
				
					
						
							
							
								 
						
							
								8bf1f08a2c 
								
							 
						 
						
							
							
								
								Make std::get constexpr  
							
							... 
							
							
							
							llvm-svn: 186525 
							
						 
						
							2013-07-17 18:25:36 +00:00  
				
					
						
							
							
								 
						
							
								fee09c68a0 
								
							 
						 
						
							
							
								
								Add pointer format test for Windows.  
							
							... 
							
							
							
							llvm-svn: 186472 
							
						 
						
							2013-07-16 23:50:06 +00:00  
				
					
						
							
							
								 
						
							
								18191ceb54 
								
							 
						 
						
							
							
								
								Bug 16599 part 2: Make std::pair's constructors and comparison operators (and make_pair) constexpr.  
							
							... 
							
							
							
							llvm-svn: 186430 
							
						 
						
							2013-07-16 17:45:44 +00:00  
				
					
						
							
							
								 
						
							
								1c682f0f0c 
								
							 
						 
						
							
							
								
								Make std::forward and std::move (and std::move_if_noexcept) constexpr in C++14  
							
							... 
							
							
							
							llvm-svn: 186344 
							
						 
						
							2013-07-15 20:46:11 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								10f8387b94 
								
							 
						 
						
							
							
								
								A few fixes to tests for Windows port.  
							
							... 
							
							
							
							llvm-svn: 186334 
							
						 
						
							2013-07-15 18:09:11 +00:00  
				
					
						
							
							
								 
						
							
								e99520c72e 
								
							 
						 
						
							
							
								
								Implement n3584 - Addressing Tuples by Type  
							
							... 
							
							
							
							llvm-svn: 186237 
							
						 
						
							2013-07-13 02:54:05 +00:00  
				
					
						
							
							
								 
						
							
								6d8a38c537 
								
							 
						 
						
							
							
								
								Port make_[un]signed tests to platforms where sizeof(wchar_t) == 2.  
							
							... 
							
							
							
							llvm-svn: 186136 
							
						 
						
							2013-07-11 23:51:05 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								48c9fe29b2 
								
							 
						 
						
							
							
								
								Improved tests (and fixed a bug in the tests); thanks to Richard Smith for the suggestion  
							
							... 
							
							
							
							llvm-svn: 186022 
							
						 
						
							2013-07-10 18:01:34 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								e0fe3d2e96 
								
							 
						 
						
							
							
								
								War on tabs.  
							
							... 
							
							
							
							llvm-svn: 185865 
							
						 
						
							2013-07-08 21:06:38 +00:00  
				
					
						
							
							
								 
						
							
								a7b0e5ddf8 
								
							 
						 
						
							
							
								
								Implement n3668 - std::exchange  
							
							... 
							
							
							
							llvm-svn: 185863 
							
						 
						
							2013-07-08 20:54:40 +00:00  
				
					
						
							
							
								 
						
							
								f331327c6a 
								
							 
						 
						
							
							
								
								Implement n3545 for c++14  
							
							... 
							
							
							
							llvm-svn: 185856 
							
						 
						
							2013-07-08 20:05:31 +00:00  
				
					
						
							
							
								 
						
							
								271426e6ab 
								
							 
						 
						
							
							
								
								Windows port for __codecvt_utf8<wchar_t>.  
							
							... 
							
							
							
							llvm-svn: 185849 
							
						 
						
							2013-07-08 19:03:07 +00:00  
				
					
						
							
							
								 
						
							
								5e00063b86 
								
							 
						 
						
							
							
								
								Silence -Wint-to-void-pointer-cast warning in test.  
							
							... 
							
							
							
							llvm-svn: 185756 
							
						 
						
							2013-07-06 14:41:36 +00:00  
				
					
						
							
							
								 
						
							
								abb160e689 
								
							 
						 
						
							
							
								
								Remove implicit conversion from __value_type to value_type in [unordered_][multi]map.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16549  
							
							... 
							
							
							
							llvm-svn: 185711 
							
						 
						
							2013-07-05 18:06:00 +00:00  
				
					
						
							
							
								 
						
							
								4a95f9eb7e 
								
							 
						 
						
							
							
								
								Removed extension in [unordered_][multi]map which allowed one to emplace using just an argument for the key, as opposed to using piecewise_construct.  However a bug report exposed that this created an unfortunate ambiguity.  People who are currently using the extension will be notified the next time they compile, and will have to change to using piecewise_construct.  There are no ABI issues with the removal of this extension.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16542  
							
							... 
							
							
							
							llvm-svn: 185666 
							
						 
						
							2013-07-04 20:59:16 +00:00  
				
					
						
							
							
								 
						
							
								bbdf669bde 
								
							 
						 
						
							
							
								
								Simplify comparators of [unordered_][multi]map.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16538  
							
							... 
							
							
							
							llvm-svn: 185665 
							
						 
						
							2013-07-04 19:46:35 +00:00  
				
					
						
							
							
								 
						
							
								0644627bef 
								
							 
						 
						
							
							
								
								Fix bashism.  
							
							... 
							
							
							
							llvm-svn: 185646 
							
						 
						
							2013-07-04 15:11:10 +00:00  
				
					
						
							
							
								 
						
							
								5b2ef2b1a6 
								
							 
						 
						
							
							
								
								Patch for N3655 (Transformation type traits) with Howard's additions  
							
							... 
							
							
							
							llvm-svn: 185597 
							
						 
						
							2013-07-04 00:10:01 +00:00  
				
					
						
							
							
								 
						
							
								3fc9ef22b3 
								
							 
						 
						
							
							
								
								Constrain launch ~ operator to defined bits.  
							
							... 
							
							
							
							llvm-svn: 185452 
							
						 
						
							2013-07-02 18:01:41 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								4a142ec6b0 
								
							 
						 
						
							
							
								
								XFAIL this test on 10.7 and 10.8  
							
							... 
							
							
							
							llvm-svn: 185391 
							
						 
						
							2013-07-01 22:59:14 +00:00  
				
					
						
							
							
								 
						
							
								28d8ba5f79 
								
							 
						 
						
							
							
								
								Implement n3656 - make_unique. Thanks to Howard for the review and suggestions.  
							
							... 
							
							
							
							llvm-svn: 185352 
							
						 
						
							2013-07-01 18:16:03 +00:00  
				
					
						
							
							
								 
						
							
								d51891063f 
								
							 
						 
						
							
							
								
								Implement n3658 - Compile-time integer sequences  
							
							... 
							
							
							
							llvm-svn: 185343 
							
						 
						
							2013-07-01 16:26:55 +00:00  
				
					
						
							
							
								 
						
							
								eecacc0fad 
								
							 
						 
						
							
							
								
								In istream::ignore, check the delimeter as an int_type, not as a char_type, so as to correctly handle EOF.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16427  
							
							... 
							
							
							
							llvm-svn: 185298 
							
						 
						
							2013-07-01 00:37:50 +00:00  
				
					
						
							
							
								 
						
							
								9dbbf8dece 
								
							 
						 
						
							
							
								
								The bind and function functor constructors and assignment operators were overly general and getting confused with the copy constructor and copy assignment operators.  Constrained them.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16385  
							
							... 
							
							
							
							llvm-svn: 185297 
							
						 
						
							2013-07-01 00:01:51 +00:00  
				
					
						
							
							
								 
						
							
								9bf42533b7 
								
							 
						 
						
							
							
								
								Fix bind by making _is_valid_bind_return more robust.  It should return false instead of give a compile time error, always.  The problem was down in ____mu_return, the version that handles nested bind objects.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16343  
							
							... 
							
							
							
							llvm-svn: 185289 
							
						 
						
							2013-06-30 19:48:15 +00:00  
				
					
						
							
							
								 
						
							
								1836462545 
								
							 
						 
						
							
							
								
								Add operators to make launch a bitmask type.  Searched all of the standard, and libc++ to see if this error occurred elsewhere and didn't see any other place.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16207  
							
							... 
							
							
							
							llvm-svn: 185265 
							
						 
						
							2013-06-29 18:38:17 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								eec721826c 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for string.  This completes the custom pointer support for the entire library.  
							
							... 
							
							
							
							llvm-svn: 185167 
							
						 
						
							2013-06-28 16:59:19 +00:00  
				
					
						
							
							
								 
						
							
								3ec1f00b73 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for vector.  
							
							... 
							
							
							
							llvm-svn: 185093 
							
						 
						
							2013-06-27 19:35:32 +00:00  
				
					
						
							
							
								 
						
							
								866d4efa7f 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for list.  
							
							... 
							
							
							
							llvm-svn: 184859 
							
						 
						
							2013-06-25 16:08:47 +00:00  
				
					
						
							
							
								 
						
							
								8a27ba8051 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for forward_list.  
							
							... 
							
							
							
							llvm-svn: 184759 
							
						 
						
							2013-06-24 17:17:28 +00:00  
				
					
						
							
							
								 
						
							
								14e200d14d 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for deque.  
							
							... 
							
							
							
							llvm-svn: 184673 
							
						 
						
							2013-06-23 21:17:24 +00:00  
				
					
						
							
							
								 
						
							
								307f814372 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer types in custom allocators.  This is for the unordered containers only.  This work still needs to be done on the sequence containers.  
							
							... 
							
							
							
							llvm-svn: 184635 
							
						 
						
							2013-06-22 15:21:29 +00:00  
				
					
						
							
							
								 
						
							
								07d3eccd26 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer types in custom allocators.  This is for the associative containers only.  This work still needs to be done on the unordered and sequence containers.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=15978  
							
							... 
							
							
							
							llvm-svn: 184358 
							
						 
						
							2013-06-19 21:29:40 +00:00  
				
					
						
							
							
								 
						
							
								e7b6d544f0 
								
							 
						 
						
							
							
								
								Test case for r183481.  
							
							... 
							
							
							
							llvm-svn: 183522 
							
						 
						
							2013-06-07 14:24:18 +00:00  
				
					
						
							
							
								 
						
							
								849821cffb 
								
							 
						 
						
							
							
								
								Fix a couple of bugs in linear_congruential_engine::seed.  Regression test added.  
							
							... 
							
							
							
							llvm-svn: 182421 
							
						 
						
							2013-05-21 21:05:12 +00:00  
				
					
						
							
							
								 
						
							
								0125ab809f 
								
							 
						 
						
							
							
								
								Remove cv qualifiers from member pointers in the __member_pointer_traits test.  This was causing a const-qualified bind result to malfunction.  This was a recent regression due to the new use of __member_pointer_traits in restricting the __invokable and __invoke_of tests.  
							
							... 
							
							
							
							llvm-svn: 181935 
							
						 
						
							2013-05-15 21:49:27 +00:00  
				
					
						
							
							
								 
						
							
								a9ac518364 
								
							 
						 
						
							
							
								
								XFAIL this test when using the darwin12 system library. Reviewed by Howard  
							
							... 
							
							
							
							llvm-svn: 181610 
							
						 
						
							2013-05-10 17:25:57 +00:00  
				
					
						
							
							
								 
						
							
								0b0bbd2f22 
								
							 
						 
						
							
							
								
								Implement n3607: 'equal', 'mismatch', and 'is_permutation'  
							
							... 
							
							
							
							llvm-svn: 181548 
							
						 
						
							2013-05-09 21:14:23 +00:00  
				
					
						
							
							
								 
						
							
								866ed94db1 
								
							 
						 
						
							
							
								
								Constrain __invoke functions more accurately.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15861  .  
							
							... 
							
							
							
							llvm-svn: 181377 
							
						 
						
							2013-05-07 23:40:12 +00:00  
				
					
						
							
							
								 
						
							
								6b1455f6f1 
								
							 
						 
						
							
							
								
								Mark some tests with XFAIL for Lion and Mountain Lion.  
							
							... 
							
							
							
							llvm-svn: 181336 
							
						 
						
							2013-05-07 17:37:19 +00:00  
				
					
						
							
							
								 
						
							
								eedfabd96e 
								
							 
						 
						
							
							
								
								Expose accidentally removed __compressed_pair constructor taking piecewise_construct_t.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15918  .  
							
							... 
							
							
							
							llvm-svn: 181217 
							
						 
						
							2013-05-06 16:58:36 +00:00  
				
					
						
							
							
								 
						
							
								da9ca0b405 
								
							 
						 
						
							
							
								
								Stephan Tolksdorf: fixes the issue in the <atomic> header and adds corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro).  
							
							... 
							
							
							
							The tests use placement new to check that atomic values get properly zero-initialized. I had to modify the atomic_is_lock_free test, because default initialization of an object of const type 'const A' (aka 'const atomic<int>') requires a user-provided default constructor.
llvm-svn: 180945 
							
						 
						
							2013-05-02 20:18:43 +00:00  
				
					
						
							
							
								 
						
							
								087e35ec03 
								
							 
						 
						
							
							
								
								Make it possible to provide special (linker) flags for the thread tests.  
							
							... 
							
							
							
							Use it to build & link against libpthread on NetBSD for tests iff they
are testing the thread interface.
llvm-svn: 180942 
							
						 
						
							2013-05-02 19:21:36 +00:00  
				
					
						
							
							
								 
						
							
								aa05f9eaf3 
								
							 
						 
						
							
							
								
								Add explicit casts to unsigned char before calling ctype functions.  
							
							... 
							
							
							
							Fixes the value range on platforms with signed char.
llvm-svn: 180940 
							
						 
						
							2013-05-02 19:17:48 +00:00  
				
					
						
							
							
								 
						
							
								a2ee3a6e2e 
								
							 
						 
						
							
							
								
								İsmail Dönmez:  Change to mktemp template to make it compatible with Linux.  
							
							... 
							
							
							
							llvm-svn: 180267 
							
						 
						
							2013-04-25 16:08:55 +00:00  
				
					
						
							
							
								 
						
							
								03ec04f9b5 
								
							 
						 
						
							
							
								
								default_delete needs a static_assert against void types.  I had previously thought that sizeof(void) would take care of this.  I was wrong.  
							
							... 
							
							
							
							llvm-svn: 180213 
							
						 
						
							2013-04-24 19:44:26 +00:00  
				
					
						
							
							
								 
						
							
								4341ad3500 
								
							 
						 
						
							
							
								
								Avoid bash specific functionality to work with any POSIX shell  
							
							... 
							
							
							
							implementing $(( )).
llvm-svn: 180139 
							
						 
						
							2013-04-23 19:53:24 +00:00  
				
					
						
							
							
								 
						
							
								f8bb3e522d 
								
							 
						 
						
							
							
								
								Zero-initialize all mbstate_t in the codecvt tests.  
							
							... 
							
							
							
							llvm-svn: 180108 
							
						 
						
							2013-04-23 14:09:35 +00:00  
				
					
						
							
							
								 
						
							
								20428e94e0 
								
							 
						 
						
							
							
								
								Somehow aligned_union got dropped through the cracks.  This adds it.  Did a drive-by fix of alignment_of while I was in the neighborhood.  
							
							... 
							
							
							
							llvm-svn: 180036 
							
						 
						
							2013-04-22 19:37:49 +00:00  
				
					
						
							
							
								 
						
							
								ab65a6f560 
								
							 
						 
						
							
							
								
								After years of telling people: 'If you ever find any of my code that self-move-assigns, send me a bug report.' Somebody finally took me up on it.  vector::erase(begin(), begin()) does a self-move-assign of every element in the vector, leaving all of those elements in an unspecified state.  I checked the other containers for this same bug and did not find it.  Added test case.  
							
							... 
							
							
							
							llvm-svn: 179760 
							
						 
						
							2013-04-18 15:02:57 +00:00  
				
					
						
							
							
								 
						
							
								9a20da75ef 
								
							 
						 
						
							
							
								
								I believe this finishes up debug mode for list.  The testing is a little weak, but I believe all of the functionality is there.  Certainly enough for people to checkout and start beating up on.  
							
							... 
							
							
							
							llvm-svn: 179632 
							
						 
						
							2013-04-16 21:42:36 +00:00  
				
					
						
							
							
								 
						
							
								c76d2bda6f 
								
							 
						 
						
							
							
								
								addressof misbehaving for type with an implicit conversion operator to char&.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15754  
							
							... 
							
							
							
							llvm-svn: 179608 
							
						 
						
							2013-04-16 17:27:56 +00:00  
				
					
						
							
							
								 
						
							
								e7389a6915 
								
							 
						 
						
							
							
								
								Numeric parsing was getting the wrong answer when faced with very long inputs.  This fixes both  http://llvm.org/bugs/show_bug.cgi?id=15751  and  http://llvm.org/bugs/show_bug.cgi?id=15740  
							
							... 
							
							
							
							llvm-svn: 179556 
							
						 
						
							2013-04-15 20:40:06 +00:00  
				
					
						
							
							
								 
						
							
								f3b02b17af 
								
							 
						 
						
							
							
								
								Accidentally disallowed explicit tuple conversions when all elements of the tuple can be explicitly converted.  
							
							... 
							
							
							
							llvm-svn: 179467 
							
						 
						
							2013-04-14 00:01:13 +00:00  
				
					
						
							
							
								 
						
							
								40487ca25e 
								
							 
						 
						
							
							
								
								Set failbit when strtold sets errno to ERANGE when parsing floating point values.  
							
							... 
							
							
							
							llvm-svn: 179461 
							
						 
						
							2013-04-13 18:19:25 +00:00  
				
					
						
							
							
								 
						
							
								f750923161 
								
							 
						 
						
							
							
								
								Fix bug in __libcpp_db::__iterator_copy.  Add debug test for swaping lists.  
							
							... 
							
							
							
							llvm-svn: 178892 
							
						 
						
							2013-04-05 17:58:52 +00:00