cd42f9446b 
								
							 
						 
						
							
							
								
								Now that clang supports doing the right thing with regard to atomic  
							
							... 
							
							
							
							initialisation, do the right thing with regard to atomic initialisation.
Note: clang r154507 or later required for <atomic> to work now.
llvm-svn: 154508 
							
						 
						
							2012-04-11 17:26:23 +00:00  
				
					
						
							
							
								 
						
							
								c5d5a98815 
								
							 
						 
						
							
							
								
								Fix use of __atomic_is_lock_free() intrinsic.  
							
							... 
							
							
							
							llvm-svn: 154093 
							
						 
						
							2012-04-05 13:13:24 +00:00  
				
					
						
							
							
								 
						
							
								7e5b4c9328 
								
							 
						 
						
							
							
								
								Put std::piecewise_construct_t back into the dylib for ABI stability.  When clients are in C++11/constexpr mode this will be safely ignored because piecewise_construct is then declared with internal linkage.  
							
							... 
							
							
							
							llvm-svn: 153981 
							
						 
						
							2012-04-03 23:45:46 +00:00  
				
					
						
							
							
								 
						
							
								b2e9f19caf 
								
							 
						 
						
							
							
								
								constexpr support for <utility>.  Patch contributed by Jonathan Sauer.  
							
							... 
							
							
							
							llvm-svn: 153968 
							
						 
						
							2012-04-03 21:09:48 +00:00  
				
					
						
							
							
								 
						
							
								e386b7b360 
								
							 
						 
						
							
							
								
								Update <random> with constexpr support.  Patch contributed by Jonathan Sauer.  
							
							... 
							
							
							
							llvm-svn: 153896 
							
						 
						
							2012-04-02 21:00:45 +00:00  
				
					
						
							
							
								 
						
							
								338eb3116c 
								
							 
						 
						
							
							
								
								Update <limits> with constexpr support.  Patch contributed by Jonathan Sauer.  
							
							... 
							
							
							
							llvm-svn: 153888 
							
						 
						
							2012-04-02 19:23:15 +00:00  
				
					
						
							
							
								 
						
							
								788c9979d9 
								
							 
						 
						
							
							
								
								This is an initial commit of constexpr support as proposed by Richard Smith.  This by no means completes constexpr support.  Indeed, it hardly scratches the surface.  All it does is lay the foundation in <__config> and changes those few places in the library that are already using that foundation.  
							
							... 
							
							
							
							llvm-svn: 153856 
							
						 
						
							2012-04-02 00:40:41 +00:00  
				
					
						
							
							
								 
						
							
								0527c6207a 
								
							 
						 
						
							
							
								
								I believe tuple is still under development in the standard.  Daniel Krugler is/will be making convincing arguments that a modified form of LWG 2051 (currently NAD Future) is easily acheivable and desirable.  He has demonstrated that a tuple<T...> where all of the T are implicitly convertible from U... should have a tuple constructor that is also implicit, instead of explicit.  This would support the use cases in LWG 2051 while not undermining T... with explicit conversions from U....  This check-in is an experimental implementation of Daniel's work.  I believe this work to be mature enough to warrant inclusion into libc++.  If anyone sees real-world problems that this check in causes, please let me know and I will revert it, and provide the feedback to the LWG.  
							
							... 
							
							
							
							llvm-svn: 153855 
							
						 
						
							2012-04-01 23:10:42 +00:00  
				
					
						
							
							
								 
						
							
								cb16c68042 
								
							 
						 
						
							
							
								
								It appears that the standard accidentally removed the default constructor for error_category.  I'm putting it back in.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=12321 .  
							
							... 
							
							
							
							llvm-svn: 153194 
							
						 
						
							2012-03-21 16:18:57 +00:00  
				
					
						
							
							
								 
						
							
								5f13d66fb4 
								
							 
						 
						
							
							
								
								Make sure [at_]quick_exit is in std::  
							
							... 
							
							
							
							llvm-svn: 152717 
							
						 
						
							2012-03-14 14:10:37 +00:00  
				
					
						
							
							
								 
						
							
								9c95b19f9e 
								
							 
						 
						
							
							
								
								Fix moneypunct_byname algorithm to more accurately represent C locales in C++.  
							
							... 
							
							
							
							llvm-svn: 152501 
							
						 
						
							2012-03-10 18:31:43 +00:00  
				
					
						
							
							
								 
						
							
								8d5df9b9d4 
								
							 
						 
						
							
							
								
								Change some smart_ptr == 0 to smart_ptr == nullptr.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=12185 .  
							
							... 
							
							
							
							llvm-svn: 152240 
							
						 
						
							2012-03-07 20:37:43 +00:00  
				
					
						
							
							
								 
						
							
								04e5ce2bc1 
								
							 
						 
						
							
							
								
								Define _WCHAR_T in solaris/wchar.h.  This fixes a bug where Solaris 10 headers  
							
							... 
							
							
							
							try to define C++ keywords as typedefs (fixed in Solaris 11).
llvm-svn: 151890 
							
						 
						
							2012-03-02 10:56:04 +00:00  
				
					
						
							
							
								 
						
							
								55661e7305 
								
							 
						 
						
							
							
								
								Fix MSVC / Sun #ifdef ordering.  Remove another #if-nothing-#endif.  
							
							... 
							
							
							
							Sorry for the churn.
llvm-svn: 151731 
							
						 
						
							2012-02-29 16:41:21 +00:00  
				
					
						
							
							
								 
						
							
								40d7a8acff 
								
							 
						 
						
							
							
								
								Remove a spurious #ifdef / #endif pair with nothing between them.  
							
							... 
							
							
							
							llvm-svn: 151729 
							
						 
						
							2012-02-29 16:22:33 +00:00  
				
					
						
							
							
								 
						
							
								06af2bbb04 
								
							 
						 
						
							
							
								
								Add support files required for building on Solaris.  
							
							... 
							
							
							
							llvm-svn: 151721 
							
						 
						
							2012-02-29 13:17:28 +00:00  
				
					
						
							
							
								 
						
							
								14c25b80e9 
								
							 
						 
						
							
							
								
								Solaris port.  Currently sees around 200 test failures, mostly related to  
							
							... 
							
							
							
							Solaris not providing some of the locales that the test suite uses.
Note: This depends on an xlocale (partial) implementation for Solaris and a
couple of fixed standard headers.  These will be committed to a branch later
today.
llvm-svn: 151720 
							
						 
						
							2012-02-29 13:05:08 +00:00  
				
					
						
							
							
								 
						
							
								ca78592c16 
								
							 
						 
						
							
							
								
								Don't define __locale_raii if we are not going to be using it.  
							
							... 
							
							
							
							llvm-svn: 151718 
							
						 
						
							2012-02-29 13:00:07 +00:00  
				
					
						
							
							
								 
						
							
								9bb1429f20 
								
							 
						 
						
							
							
								
								Reduce the number of move constructions when constructing a std::function.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=12105 .  
							
							... 
							
							
							
							llvm-svn: 151652 
							
						 
						
							2012-02-28 19:47:38 +00:00  
				
					
						
							
							
								 
						
							
								9ffe10106e 
								
							 
						 
						
							
							
								
								vector::emplace_back was mistakenly requiring move assignable.  Fixed that and did a little drive-by optimization at the same time.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=12085 .  
							
							... 
							
							
							
							llvm-svn: 151492 
							
						 
						
							2012-02-26 15:30:12 +00:00  
				
					
						
							
							
								 
						
							
								8d01935c09 
								
							 
						 
						
							
							
								
								Hook up to the new clang __is_trivially_constructible and __is_trivially_assignable traits.  Fixes r10925427 and  http://llvm.org/bugs/show_bug.cgi?id=12038 .  
							
							... 
							
							
							
							llvm-svn: 151406 
							
						 
						
							2012-02-24 23:32:26 +00:00  
				
					
						
							
							
								 
						
							
								f2f2d8b98d 
								
							 
						 
						
							
							
								
								Modernize conversion to bool to the explicit bool conversion operator (library wide).  This fixes  http://llvm.org/bugs/show_bug.cgi?id=12058 .  
							
							... 
							
							
							
							llvm-svn: 151088 
							
						 
						
							2012-02-21 21:46:43 +00:00  
				
					
						
							
							
								 
						
							
								67f3964766 
								
							 
						 
						
							
							
								
								Modernize relational operators for shared_ptr and unique_ptr.  This includes adding support for nullptr, and using less<T*>.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=12056 .  
							
							... 
							
							
							
							llvm-svn: 151084 
							
						 
						
							2012-02-21 21:02:58 +00:00  
				
					
						
							
							
								 
						
							
								a4fd70ea77 
								
							 
						 
						
							
							
								
								Add missing newlines at EOF.  
							
							... 
							
							
							
							llvm-svn: 150965 
							
						 
						
							2012-02-20 16:56:13 +00:00  
				
					
						
							
							
								 
						
							
								2a9a072485 
								
							 
						 
						
							
							
								
								Give the emulated nullptr_t a default constructor.  
							
							... 
							
							
							
							llvm-svn: 150893 
							
						 
						
							2012-02-18 22:01:22 +00:00  
				
					
						
							
							
								 
						
							
								f9c73f6629 
								
							 
						 
						
							
							
								
								Use __is_polymorphic if available.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=11983  .  Patch contributed by Jonathan Sauer.  
							
							... 
							
							
							
							llvm-svn: 150614 
							
						 
						
							2012-02-15 20:47:11 +00:00  
				
					
						
							
							
								 
						
							
								fa8df7db88 
								
							 
						 
						
							
							
								
								tuple was accidentally lacking a valid copy assignment operator.  It went undetected because I had failed to test assigning from a const lvalue.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=11921  
							
							... 
							
							
							
							llvm-svn: 150613 
							
						 
						
							2012-02-15 20:13:52 +00:00  
				
					
						
							
							
								 
						
							
								6560953383 
								
							 
						 
						
							
							
								
								Do not parse sign if a sign is not the next legal character when parsing floating point from an input stream.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=11871  
							
							... 
							
							
							
							llvm-svn: 150609 
							
						 
						
							2012-02-15 19:19:37 +00:00  
				
					
						
							
							
								 
						
							
								2aa9a38b67 
								
							 
						 
						
							
							
								
								Another stab at fixing  http://llvm.org/bugs/show_bug.cgi?id=12007 .  I earlier missed that there are two common_type definitions and corrected only one of them.  
							
							... 
							
							
							
							llvm-svn: 150599 
							
						 
						
							2012-02-15 18:08:09 +00:00  
				
					
						
							
							
								 
						
							
								425e44d192 
								
							 
						 
						
							
							
								
								Remove reference from common_type definition.  It looks like a recent clang decltype implementation got fixed/improved and exposed this.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=12007 .  
							
							... 
							
							
							
							llvm-svn: 150581 
							
						 
						
							2012-02-15 15:08:30 +00:00  
				
					
						
							
							
								 
						
							
								9741d6c96e 
								
							 
						 
						
							
							
								
								Implement a few optimizations for vector push_back and insert.  Fixes r10828365.  
							
							... 
							
							
							
							llvm-svn: 150542 
							
						 
						
							2012-02-15 00:41:34 +00:00  
				
					
						
							
							
								 
						
							
								e586ac735d 
								
							 
						 
						
							
							
								
								Provide a move(const T&) overload for C++03 mode to enable moving from rvalues.  This is to support proxy references.  Fixes r10858112.  
							
							... 
							
							
							
							llvm-svn: 150488 
							
						 
						
							2012-02-14 16:03:09 +00:00  
				
					
						
							
							
								 
						
							
								21fa1887e0 
								
							 
						 
						
							
							
								
								Enable full functionality of shared_ptr<const void> by adding allocator<const void>.  Credit to John Hurley for discovering this bug.  
							
							... 
							
							
							
							llvm-svn: 148508 
							
						 
						
							2012-01-19 23:15:22 +00:00  
				
					
						
							
							
								 
						
							
								c37917f309 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=11752  
							
							... 
							
							
							
							llvm-svn: 148069 
							
						 
						
							2012-01-12 23:37:51 +00:00  
				
					
						
							
							
								 
						
							
								a04d2b3330 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=11734  
							
							... 
							
							
							
							llvm-svn: 147853 
							
						 
						
							2012-01-10 15:15:47 +00:00  
				
					
						
							
							
								 
						
							
								8e25104b10 
								
							 
						 
						
							
							
								
								1.  Fix make_shared<const T>.  2.  Allow allocator<const T> as an extension.  3.  Refactor work which fixed unique_ptr<const T[]>.  4.  Remove no-longer-needed private declarations from unique_ptr.  5.  Add constraints to some shared_ptr and weak_ptr constructors and assignment operators so that is_constructible/is_assignable give the correct answers for shared_ptr and weak_ptr.  6.  Make defensive preparations in the shared_ptr free functions for the introduction of shared_ptr<T[]> in the future.  7.  As an optimization, add move constructor and move assignment to weak_ptr.  
							
							... 
							
							
							
							llvm-svn: 147437 
							
						 
						
							2012-01-02 17:56:02 +00:00  
				
					
						
							
							
								 
						
							
								b34b48196c 
								
							 
						 
						
							
							
								
								The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory.  
							
							... 
							
							
							
							llvm-svn: 147343 
							
						 
						
							2011-12-29 17:45:35 +00:00  
				
					
						
							
							
								 
						
							
								a87b5e3446 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=11616  
							
							... 
							
							
							
							llvm-svn: 146881 
							
						 
						
							2011-12-19 17:58:44 +00:00  
				
					
						
							
							
								 
						
							
								18e33935f3 
								
							 
						 
						
							
							
								
								Some fixes to <atomic> operations to explicitly use atomic types and operations.  
							
							... 
							
							
							
							The integral types now work with clang trunk (if you remove the guard), although we're still missing an intrinsic for initialising atomics (needed for C1x too).
Howard: Please review.
llvm-svn: 146865 
							
						 
						
							2011-12-19 11:44:20 +00:00  
				
					
						
							
							
								 
						
							
								e4097ad7e6 
								
							 
						 
						
							
							
								
								Allow unique_ptr<T const []> to be constructed and assigned from a unique_ptr<T[]>  
							
							... 
							
							
							
							llvm-svn: 146853 
							
						 
						
							2011-12-18 21:19:44 +00:00  
				
					
						
							
							
								 
						
							
								d6f44b6601 
								
							 
						 
						
							
							
								
								Allow unique_ptr<T const []> to be constructed with a T* (in addition to a const T*)  
							
							... 
							
							
							
							llvm-svn: 146736 
							
						 
						
							2011-12-16 15:37:23 +00:00  
				
					
						
							
							
								 
						
							
								a1a9e77122 
								
							 
						 
						
							
							
								
								As an extension, support incomplete types in the unordered containers to match what we already do in the associative containers.  
							
							... 
							
							
							
							llvm-svn: 146376 
							
						 
						
							2011-12-12 17:26:24 +00:00  
				
					
						
							
							
								 
						
							
								42b8bb5033 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=11461 .  Credit Alberto Ganesh Barbati.  
							
							... 
							
							
							
							llvm-svn: 146345 
							
						 
						
							2011-12-11 20:31:33 +00:00  
				
					
						
							
							
								 
						
							
								53d2fb0aa2 
								
							 
						 
						
							
							
								
								Installation of CityHash by Craig Silverstein  
							
							... 
							
							
							
							llvm-svn: 146329 
							
						 
						
							2011-12-10 20:28:56 +00:00  
				
					
						
							
							
								 
						
							
								f3d14a65ca 
								
							 
						 
						
							
							
								
								Starting using murmur2 when combining multiple size_t's into a single hash, and also for basic_string.  Also made hash<thread::id> ever so slighly more portable.  I had to tweak one test which is questionable (definitely not portable) anyway.  
							
							... 
							
							
							
							llvm-svn: 145795 
							
						 
						
							2011-12-05 00:08:45 +00:00  
				
					
						
							
							
								 
						
							
								9b0cd149aa 
								
							 
						 
						
							
							
								
								Version #next on the hash functions for scalars.  This builds on Dave's work, extends it to T*, and changes the way double and long double are handled (no longer convert to float on 32 bit).  I also picked up a minor bug with uninitialized bits on the upper end of size_t when sizeof(size_t) > sizeof(T), e.g. in hash<float>.  Most of the functionality has been put in one place:  __scalar_hash in <memory>.  Unfortunately I could not reuse __scalar_hash for hash<long double> on x86 because of the padding bits which need to be zeroed.  I didn't want to add this zeroing step to the more general __scalar_hash when it isn't needed (in the absence of padding bits).  I'm not ignoring the hash<string> issue (possibly changing that to a better hash).  I just haven't gotten there yet.  
							
							... 
							
							
							
							llvm-svn: 145778 
							
						 
						
							2011-12-03 21:11:36 +00:00  
				
					
						
							
							
								 
						
							
								7f3884d58a 
								
							 
						 
						
							
							
								
								I had picked up the wrong version of DaveZ's hash patches.  Corrected here.  
							
							... 
							
							
							
							llvm-svn: 145728 
							
						 
						
							2011-12-02 23:45:22 +00:00  
				
					
						
							
							
								 
						
							
								425d482c21 
								
							 
						 
						
							
							
								
								Fixes to hash for long long, unsigned long long, float, double and long double.  Credit Dave Zarzycki  
							
							... 
							
							
							
							llvm-svn: 145721 
							
						 
						
							2011-12-02 22:52:09 +00:00  
				
					
						
							
							
								 
						
							
								132bd622cf 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=11459 .  Patch supplied by Alberto Ganesh Barbati.  
							
							... 
							
							
							
							llvm-svn: 145703 
							
						 
						
							2011-12-02 20:41:47 +00:00  
				
					
						
							
							
								 
						
							
								75689c1018 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=11428 .  Fix provided by Alberto Ganesh Barbati  
							
							... 
							
							
							
							llvm-svn: 145698 
							
						 
						
							2011-12-02 19:36:40 +00:00  
				
					
						
							
							
								 
						
							
								a5bc2f877f 
								
							 
						 
						
							
							
								
								Jean-Daniel: __builtin_popcountll support for Windows  
							
							... 
							
							
							
							llvm-svn: 145684 
							
						 
						
							2011-12-02 17:22:38 +00:00  
				
					
						
							
							
								 
						
							
								c206366fd7 
								
							 
						 
						
							
							
								
								Quash a whole bunch of warnings  
							
							... 
							
							
							
							llvm-svn: 145624 
							
						 
						
							2011-12-01 20:21:04 +00:00  
				
					
						
							
							
								 
						
							
								c003db1fca 
								
							 
						 
						
							
							
								
								Further macro protection by replacing _[A-Z] with _[A-Z]p  
							
							... 
							
							
							
							llvm-svn: 145410 
							
						 
						
							2011-11-29 18:15:50 +00:00  
				
					
						
							
							
								 
						
							
								ab4f438239 
								
							 
						 
						
							
							
								
								Add protection from min/max macros  
							
							... 
							
							
							
							llvm-svn: 145407 
							
						 
						
							2011-11-29 16:45:27 +00:00  
				
					
						
							
							
								 
						
							
								1c2c87c502 
								
							 
						 
						
							
							
								
								Remove redundant iterator assignment detected by Marshall Clow  
							
							... 
							
							
							
							llvm-svn: 145265 
							
						 
						
							2011-11-28 19:49:26 +00:00  
				
					
						
							
							
								 
						
							
								5e8e0448c3 
								
							 
						 
						
							
							
								
								On FreeBSD, define a macro that causes the unimplemented C99 math.h functions to be declared.  This prevents <cmath> users from being broken, unless they actually use the C++ wrappers that call the missing functions.  
							
							... 
							
							
							
							llvm-svn: 144501 
							
						 
						
							2011-11-13 17:15:33 +00:00  
				
					
						
							
							
								 
						
							
								05e485879c 
								
							 
						 
						
							
							
								
								Fix ratio arithmetic with zero  
							
							... 
							
							
							
							llvm-svn: 143519 
							
						 
						
							2011-11-01 23:13:37 +00:00  
				
					
						
							
							
								 
						
							
								9563a09cee 
								
							 
						 
						
							
							
								
								Windows port work by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 143105 
							
						 
						
							2011-10-27 16:24:42 +00:00  
				
					
						
							
							
								 
						
							
								0176bc6cf5 
								
							 
						 
						
							
							
								
								Fixed bug in __independent_bits_engine found by Nick (from stackoverflow)  
							
							... 
							
							
							
							llvm-svn: 143104 
							
						 
						
							2011-10-27 16:12:10 +00:00  
				
					
						
							
							
								 
						
							
								e4383379ae 
								
							 
						 
						
							
							
								
								More windows port work by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 142732 
							
						 
						
							2011-10-22 20:59:45 +00:00  
				
					
						
							
							
								 
						
							
								8bece6fe69 
								
							 
						 
						
							
							
								
								Windows port work by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 142578 
							
						 
						
							2011-10-20 12:49:21 +00:00  
				
					
						
							
							
								 
						
							
								a892966218 
								
							 
						 
						
							
							
								
								de-tabbify  
							
							... 
							
							
							
							llvm-svn: 142237 
							
						 
						
							2011-10-17 20:08:59 +00:00  
				
					
						
							
							
								 
						
							
								073458b1ab 
								
							 
						 
						
							
							
								
								Windows support by Ruben Van Boxem.  
							
							... 
							
							
							
							llvm-svn: 142235 
							
						 
						
							2011-10-17 20:05:10 +00:00  
				
					
						
							
							
								 
						
							
								7ba930bfca 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=11113  
							
							... 
							
							
							
							llvm-svn: 141714 
							
						 
						
							2011-10-11 21:28:38 +00:00  
				
					
						
							
							
								 
						
							
								a33d4bc1ff 
								
							 
						 
						
							
							
								
								Starting on musl port by Arvid Picciani  
							
							... 
							
							
							
							llvm-svn: 141672 
							
						 
						
							2011-10-11 16:00:46 +00:00  
				
					
						
							
							
								 
						
							
								1ed7df111b 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10256836> getline of an empty string mistakenly causes failure  
							
							... 
							
							
							
							llvm-svn: 141506 
							
						 
						
							2011-10-09 15:20:46 +00:00  
				
					
						
							
							
								 
						
							
								2a4812fd04 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10255403> match_results::begin() is off by one  
							
							... 
							
							
							
							llvm-svn: 141494 
							
						 
						
							2011-10-08 14:36:16 +00:00  
				
					
						
							
							
								 
						
							
								1e31e53fe1 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10226704>  
							
							... 
							
							
							
							llvm-svn: 141054 
							
						 
						
							2011-10-04 01:25:20 +00:00  
				
					
						
							
							
								 
						
							
								2c0a65ee78 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10217868>.  
							
							... 
							
							
							
							llvm-svn: 140907 
							
						 
						
							2011-10-01 00:26:36 +00:00  
				
					
						
							
							
								 
						
							
								8909cdfff9 
								
							 
						 
						
							
							
								
								Windows port work by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 140805 
							
						 
						
							2011-09-29 20:33:10 +00:00  
				
					
						
							
							
								 
						
							
								0c06e58fae 
								
							 
						 
						
							
							
								
								Windows patch work by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 140781 
							
						 
						
							2011-09-29 13:33:15 +00:00  
				
					
						
							
							
								 
						
							
								9978e3709f 
								
							 
						 
						
							
							
								
								Attempted locale refactoring.  _LIBCPP_LOCALE__L_EXTENSIONS now should be defined if one has all of the xxx_l() functions.  I've defined this for apple, freebsd and win32.  _LIBCPP_HAS_DEFAULTRUNELOCALE should be defined if there is a _DefaultRuneLocale.  I've defined this for apple and freebsd.  The block of code we're trying to migrate away from is now under #ifdef __linux__.  I've tested only on OS X.  I hope I haven't broken things too badly elsewhere.  Please let me know.  
							
							... 
							
							
							
							llvm-svn: 140734 
							
						 
						
							2011-09-28 23:39:33 +00:00  
				
					
						
							
							
								 
						
							
								3438889dec 
								
							 
						 
						
							
							
								
								Work on Windows port by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 140728 
							
						 
						
							2011-09-28 21:39:20 +00:00  
				
					
						
							
							
								 
						
							
								0470a63776 
								
							 
						 
						
							
							
								
								Attempt to enable locale simplification.  On which platforms can we now #define _LIBCPP_STABLE_APPLE_ABI?  
							
							... 
							
							
							
							llvm-svn: 140724 
							
						 
						
							2011-09-28 21:05:01 +00:00  
				
					
						
							
							
								 
						
							
								920b56ca88 
								
							 
						 
						
							
							
								
								Another installment on debug mode.  This addresses list.  However this should be considered a temporary state.  The API of the debug database and how vector and list use it, is unsatisfactory at the moment.  It is both inefficient and overly verbose.  I wanted to get this functionality checked in though.  In the next day or so I'll refactor what is there in an attempt to streamline things.  
							
							... 
							
							
							
							llvm-svn: 140660 
							
						 
						
							2011-09-27 23:55:03 +00:00  
				
					
						
							
							
								 
						
							
								dbe8111948 
								
							 
						 
						
							
							
								
								Work on Windows port by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 140384 
							
						 
						
							2011-09-23 16:11:27 +00:00  
				
					
						
							
							
								 
						
							
								3c78ca07bc 
								
							 
						 
						
							
							
								
								Partial Windows port by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 140328 
							
						 
						
							2011-09-22 19:10:18 +00:00  
				
					
						
							
							
								 
						
							
								89728139cb 
								
							 
						 
						
							
							
								
								Fixes for FreeBSD, including some fairly obvious copy-and-paste errors.  
							
							... 
							
							
							
							libc++ now mostly works on FreeBSD with libcxxrt and this patch applied to the base system:
http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110920/e666632c/xlocale-0001.obj 
Summary of tests on FreeBSD:
****************************************************
Results for /root/libcxx/test:
using FreeBSD clang version 3.0 (trunk 135360) 20110717
Target: x86_64-unknown-freebsd9.0
Thread model: posix
with -std=c++0x -stdlib=libc++ -I/root/libcxx/include -L/root/libcxx/build/lib
----------------------------------------------------
sections without tests   : 1
sections with failures   : 48
sections without failures: 1015
                       +   ----
total number of sections : 1064
----------------------------------------------------
number of tests failed   : 145
number of tests passed   : 4179
                       +   ----
total number of tests    : 4324
****************************************************
(Many due to this clang version not supporting C++ atomics)
More fixes to follow...
llvm-svn: 140245 
							
						 
						
							2011-09-21 08:39:44 +00:00  
				
					
						
							
							
								 
						
							
								c756bb3574 
								
							 
						 
						
							
							
								
								Chris Jefferson noted that vector iterator ownership can be transferred from source to target under move construction and move assignment.  This commit makes that happen for debug mode.  
							
							... 
							
							
							
							llvm-svn: 140023 
							
						 
						
							2011-09-19 16:34:29 +00:00  
				
					
						
							
							
								 
						
							
								cdcfbf26dc 
								
							 
						 
						
							
							
								
								Removed unneeded boost implementation of is_base_of  
							
							... 
							
							
							
							llvm-svn: 140014 
							
						 
						
							2011-09-19 13:19:31 +00:00  
				
					
						
							
							
								 
						
							
								0a0f599f2c 
								
							 
						 
						
							
							
								
								Enable __locale to work on FreeBSD.  
							
							... 
							
							
							
							llvm-svn: 140005 
							
						 
						
							2011-09-18 19:23:04 +00:00  
				
					
						
							
							
								 
						
							
								c36bfc499b 
								
							 
						 
						
							
							
								
								Doug Gregor pointed out some problems with debug mode enabled in one TU and not another.  This patch helps detect those situations and offers improved error messages to help get debug mode enabled in more TU's when it is absolutely necessary to do so.  Thanks Doug.  
							
							... 
							
							
							
							llvm-svn: 139933 
							
						 
						
							2011-09-16 19:52:23 +00:00  
				
					
						
							
							
								 
						
							
								0695db06d7 
								
							 
						 
						
							
							
								
								The vector test suite now passes for no-debug, debug-lite and debug-regular  
							
							... 
							
							
							
							llvm-svn: 139930 
							
						 
						
							2011-09-16 18:41:29 +00:00  
				
					
						
							
							
								 
						
							
								cec9af9ead 
								
							 
						 
						
							
							
								
								Create multilevel debug mode  
							
							... 
							
							
							
							llvm-svn: 139913 
							
						 
						
							2011-09-16 17:29:17 +00:00  
				
					
						
							
							
								 
						
							
								f554add54e 
								
							 
						 
						
							
							
								
								Initial checkin for debug mode (version 2)  
							
							... 
							
							
							
							llvm-svn: 139711 
							
						 
						
							2011-09-14 18:33:51 +00:00  
				
					
						
							
							
								 
						
							
								8668139f36 
								
							 
						 
						
							
							
								
								Fix const correctness bug in __move_assign.  Found and fixed by Ion Gaztañaga.  
							
							... 
							
							
							
							llvm-svn: 139032 
							
						 
						
							2011-09-02 20:42:31 +00:00  
				
					
						
							
							
								 
						
							
								5d7a6f31f7 
								
							 
						 
						
							
							
								
								Up version number by 1.  This is a 'minor version' update.  
							
							... 
							
							
							
							llvm-svn: 138978 
							
						 
						
							2011-09-01 23:13:01 +00:00  
				
					
						
							
							
								 
						
							
								00d8c245b2 
								
							 
						 
						
							
							
								
								Reimplemented much of <istream> such that single character extractions do not check to see if this is the last character in the stream and thus never set eofbit.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=10817  .  This fix requires a recompiled libc++.dylib to be fully implemented.  The recompiled libc++.dylib is ABI compatible with that shipped on Lion.  
							
							... 
							
							
							
							llvm-svn: 138961 
							
						 
						
							2011-09-01 21:02:45 +00:00  
				
					
						
							
							
								 
						
							
								b1e3e0e59e 
								
							 
						 
						
							
							
								
								__split_buffer should only require default constructible.  Bug found and fixed by Jared Hoberock  
							
							... 
							
							
							
							llvm-svn: 138726 
							
						 
						
							2011-08-28 15:21:29 +00:00  
				
					
						
							
							
								 
						
							
								e41124ade1 
								
							 
						 
						
							
							
								
								Don't move assign string::allocator_type when propagate_on_container_move_assignment is false.  
							
							... 
							
							
							
							llvm-svn: 137862 
							
						 
						
							2011-08-17 20:36:18 +00:00  
				
					
						
							
							
								 
						
							
								052fd9349f 
								
							 
						 
						
							
							
								
								Fix needle-in-haystack bug found by Walter Brown  
							
							... 
							
							
							
							llvm-svn: 137617 
							
						 
						
							2011-08-15 17:22:22 +00:00  
				
					
						
							
							
								 
						
							
								54976f2619 
								
							 
						 
						
							
							
								
								Fixed PR10574:  http://llvm.org/bugs/show_bug.cgi?id=10574  
							
							... 
							
							
							
							llvm-svn: 137522 
							
						 
						
							2011-08-12 21:56:02 +00:00  
				
					
						
							
							
								 
						
							
								2425d53cd8 
								
							 
						 
						
							
							
								
								Change how _LIBCPP_HAS_NO_ADVANCED_SFINAE gets set.  
							
							... 
							
							
							
							llvm-svn: 136596 
							
						 
						
							2011-07-31 17:10:44 +00:00  
				
					
						
							
							
								 
						
							
								f622b58c83 
								
							 
						 
						
							
							
								
								Fixed PR10507 ( http://llvm.org/bugs/show_bug.cgi?id=10507 )  
							
							... 
							
							
							
							llvm-svn: 136595 
							
						 
						
							2011-07-31 17:04:30 +00:00  
				
					
						
							
							
								 
						
							
								8fd6dc0df3 
								
							 
						 
						
							
							
								
								Revert r136547, r136545, and r136542 by removing slist.  
							
							... 
							
							
							
							This was checked in without review. It is not clear its reasonable to
include with libc++ at all, and needs discussion at a highlevel before
moving forward.
It's also completely lacking tests, and included several bugs in the
implementation.
llvm-svn: 136577 
							
						 
						
							2011-07-30 21:10:18 +00:00  
				
					
						
							
							
								 
						
							
								aa41ea2cc1 
								
							 
						 
						
							
							
								
								Revert r136546, which was submitted without review.  
							
							... 
							
							
							
							Original change:
Destruct elements of hash tables when removing individual entries from
the hash_table. I think this is the correct solution to PR10507, but I'm
not sure since this is a little bit cargo-culted. Howard, please review.
llvm-svn: 136576 
							
						 
						
							2011-07-30 21:10:16 +00:00  
				
					
						
							
							
								 
						
							
								bf78786db0 
								
							 
						 
						
							
							
								
								Add the missing default argument for the allocator and use a cleaner  
							
							... 
							
							
							
							implementation of previous().
llvm-svn: 136547 
							
						 
						
							2011-07-30 00:47:53 +00:00  
				
					
						
							
							
								 
						
							
								9663c8cb15 
								
							 
						 
						
							
							
								
								Destruct elements of hash tables when removing individual entries from  
							
							... 
							
							
							
							the hash_table. I think this is the correct solution to PR10507, but I'm
not sure since this is a little bit cargo-culted. Howard, please review.
llvm-svn: 136546 
							
						 
						
							2011-07-30 00:18:12 +00:00  
				
					
						
							
							
								 
						
							
								241bf43919 
								
							 
						 
						
							
							
								
								Oops. That last commit was from an earlier revision of the file and was  
							
							... 
							
							
							
							more than just a bit broken. This one should compile and run without
infinite loops.
llvm-svn: 136545 
							
						 
						
							2011-07-30 00:06:52 +00:00  
				
					
						
							
							
								 
						
							
								1e846797dd 
								
							 
						 
						
							
							
								
								Include an "implementation" if SGI's slist. This was quickly hacked  
							
							... 
							
							
							
							together to get it working with code, and is neither optimal
(erase(Iterator, Iterator) calculates the previous iterator twice,
rather than calculating the previous iterator of the first one, then
advancing it until the second is found) nor complete (splice() was not
implemented). Most of the implementation is borrowed from forward_list
via using-declarations.
llvm-svn: 136542 
							
						 
						
							2011-07-29 23:42:36 +00:00  
				
					
						
							
							
								 
						
							
								8324378195 
								
							 
						 
						
							
							
								
								Explicitly invoke the size_type specialization of max and min. This  
							
							... 
							
							
							
							avoids bugs where, when the allocator's size_type was smaller than int,
the multiplication or division would cause integral promotions and, with
two different integer types as arguments, deduction of the template
arguments would fail.
llvm-svn: 136540 
							
						 
						
							2011-07-29 23:31:58 +00:00  
				
					
						
							
							
								 
						
							
								8d2ed56644 
								
							 
						 
						
							
							
								
								Add a new hash class in __gnu_ext for the extension containers. There  
							
							... 
							
							
							
							are two motivations for this.
First, this allows users who are specializing __gnu_ext::hash to
continue doing so without changing their code.
Second, SGI specifies hash overloads for char* and const char* that
perform a hash of the string, not of the pointer.
In order to support this, the hashing code for string is factored out.
llvm-svn: 136539 
							
						 
						
							2011-07-29 23:31:56 +00:00  
				
					
						
							
							
								 
						
							
								fe473ae277 
								
							 
						 
						
							
							
								
								Add two missing members from the extension hash containers. The first is  
							
							... 
							
							
							
							the type name 'data_type', which is specified by the SGI spec as being
the correct type name for the mapped type. The second is an overload of
insert found in standard containers, taking an iterator as a 'hint'
(which we ignore in the standard containers as well). libstdc++'s
implementation includes these overloads, and they are needed to make
insert_iterator work (which I suspect is the real motivation for
including them in the standard containers).
The motivation for including these overloads of insert and leaving the
mapped_type typedef is to make it easier for clients to migrate to the
standard containers.
llvm-svn: 136538 
							
						 
						
							2011-07-29 23:31:53 +00:00  
				
					
						
							
							
								 
						
							
								89bdcd7ef5 
								
							 
						 
						
							
							
								
								Configure to get along with 2.9 clang  
							
							... 
							
							
							
							llvm-svn: 136526 
							
						 
						
							2011-07-29 21:35:53 +00:00  
				
					
						
							
							
								 
						
							
								f4a797e3d2 
								
							 
						 
						
							
							
								
								Optimizing valarray::operator=(some-valarray-expression)  
							
							... 
							
							
							
							llvm-svn: 136291 
							
						 
						
							2011-07-27 23:19:59 +00:00  
				
					
						
							
							
								 
						
							
								02364191d6 
								
							 
						 
						
							
							
								
								Fix PR10509:  http://llvm.org/bugs/show_bug.cgi?id=10509  
							
							... 
							
							
							
							llvm-svn: 136247 
							
						 
						
							2011-07-27 19:25:28 +00:00  
				
					
						
							
							
								 
						
							
								21f78d88e1 
								
							 
						 
						
							
							
								
								Fix PR10510:  http://llvm.org/bugs/show_bug.cgi?id=10510  
							
							... 
							
							
							
							llvm-svn: 136232 
							
						 
						
							2011-07-27 18:34:06 +00:00  
				
					
						
							
							
								 
						
							
								1dba445e43 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10469  
							
							... 
							
							
							
							llvm-svn: 135897 
							
						 
						
							2011-07-24 23:59:50 +00:00  
				
					
						
							
							
								 
						
							
								520a61383c 
								
							 
						 
						
							
							
								
								Optimization of string::operator< by M.E. O'Neill.  Discussion in  http://llvm.org/bugs/show_bug.cgi?id=10461  
							
							... 
							
							
							
							llvm-svn: 135893 
							
						 
						
							2011-07-24 21:45:06 +00:00  
				
					
						
							
							
								 
						
							
								5b0bdc2043 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10461  
							
							... 
							
							
							
							llvm-svn: 135873 
							
						 
						
							2011-07-24 15:07:21 +00:00  
				
					
						
							
							
								 
						
							
								7e6ca972c9 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10455  
							
							... 
							
							
							
							llvm-svn: 135854 
							
						 
						
							2011-07-23 16:14:35 +00:00  
				
					
						
							
							
								 
						
							
								397d787642 
								
							 
						 
						
							
							
								
								Given that __underlying_type is now available in clang, implement  
							
							... 
							
							
							
							std::underlying_type.
llvm-svn: 135410 
							
						 
						
							2011-07-18 18:37:21 +00:00  
				
					
						
							
							
								 
						
							
								e3163f5ae3 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10390  
							
							... 
							
							
							
							llvm-svn: 135393 
							
						 
						
							2011-07-18 15:51:59 +00:00  
				
					
						
							
							
								 
						
							
								8ebf07a3de 
								
							 
						 
						
							
							
								
								Revert locale for apple back to original design, getting rid of now useless helper *_l functions  
							
							... 
							
							
							
							llvm-svn: 135272 
							
						 
						
							2011-07-15 14:46:11 +00:00  
				
					
						
							
							
								 
						
							
								3b13c94a14 
								
							 
						 
						
							
							
								
								_LIBCXX_STABLE_APPLE_ABI -> _LIBCPP_STABLE_APPLE_ABI  
							
							... 
							
							
							
							llvm-svn: 135271 
							
						 
						
							2011-07-15 14:25:40 +00:00  
				
					
						
							
							
								 
						
							
								4084c9ebe5 
								
							 
						 
						
							
							
								
								Reapply 135035 with proper conditional inclusion, hopefully solving  
							
							... 
							
							
							
							issues with it.
llvm-svn: 135246 
							
						 
						
							2011-07-15 05:40:33 +00:00  
				
					
						
							
							
								 
						
							
								88410049fa 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10346  
							
							... 
							
							
							
							llvm-svn: 135045 
							
						 
						
							2011-07-13 16:00:50 +00:00  
				
					
						
							
							
								 
						
							
								f6b7e20bc8 
								
							 
						 
						
							
							
								
								Reverted to 134947.  Once I got into it, I discovered there were too many problems to fix in 135035.  
							
							... 
							
							
							
							llvm-svn: 135044 
							
						 
						
							2011-07-13 15:48:16 +00:00  
				
					
						
							
							
								 
						
							
								8a02a632be 
								
							 
						 
						
							
							
								
								Implement the __nolocale functions properly so that they will work on  
							
							... 
							
							
							
							all platforms. Unfortunately a lot of this remains conditionally
compiled so as not to break Apple's ABI.
The new _LIBCPP_LOCALE__L_EXTENSIONS macro can be defined on other
platforms that support _l suffixes for all functions in order to use
them.
llvm-svn: 135035 
							
						 
						
							2011-07-13 06:40:50 +00:00  
				
					
						
							
							
								 
						
							
								8dfec1ac7d 
								
							 
						 
						
							
							
								
								Make sure that __time_put constructors properly on non-Apple platforms.  
							
							... 
							
							
							
							llvm-svn: 134947 
							
						 
						
							2011-07-12 00:55:04 +00:00  
				
					
						
							
							
								 
						
							
								7ae42ef0bf 
								
							 
						 
						
							
							
								
								Make vector<bool>::reference and const_reference public  
							
							... 
							
							
							
							llvm-svn: 134815 
							
						 
						
							2011-07-09 15:50:42 +00:00  
				
					
						
							
							
								 
						
							
								0081892d33 
								
							 
						 
						
							
							
								
								Don't assume that wctype produces a nice mask on all platforms. On  
							
							... 
							
							
							
							glibc, for instance, it's a const char *.
llvm-svn: 134787 
							
						 
						
							2011-07-09 03:40:04 +00:00  
				
					
						
							
							
								 
						
							
								f023519770 
								
							 
						 
						
							
							
								
								Conditionally wrap the changes from r134781.  
							
							... 
							
							
							
							llvm-svn: 134783 
							
						 
						
							2011-07-09 01:09:31 +00:00  
				
					
						
							
							
								 
						
							
								3f60bca9e9 
								
							 
						 
						
							
							
								
								Implement generalized table lookups for upper, lower, and character  
							
							... 
							
							
							
							traits.
To the best of my knowledge, this will not break the ABI for Apple.
However, it does introduce three publicly visible (although with
reserved name) functions that will fail to link against the just-shipped
Apple version of libc++. Since they are not used in any inline
functions, no actual breakage should occur.
If Howard doesn't want to put undefined functions (even internal ones)
into a header, they could be surrounded by additional conditional
compilation.
llvm-svn: 134781 
							
						 
						
							2011-07-09 00:56:23 +00:00  
				
					
						
							
							
								 
						
							
								11af28bdbd 
								
							 
						 
						
							
							
								
								Fixing up some ABI issues  
							
							... 
							
							
							
							llvm-svn: 134639 
							
						 
						
							2011-07-07 21:03:52 +00:00  
				
					
						
							
							
								 
						
							
								1f8da84b76 
								
							 
						 
						
							
							
								
								Fix uninitialized loop counter.  http://llvm.org/bugs/show_bug.cgi?id=10278  
							
							... 
							
							
							
							llvm-svn: 134405 
							
						 
						
							2011-07-05 14:14:17 +00:00  
				
					
						
							
							
								 
						
							
								a77445621b 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10248  
							
							... 
							
							
							
							llvm-svn: 134327 
							
						 
						
							2011-07-02 20:33:23 +00:00  
				
					
						
							
							
								 
						
							
								086d0de171 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10250  
							
							... 
							
							
							
							llvm-svn: 134325 
							
						 
						
							2011-07-02 18:22:36 +00:00  
				
					
						
							
							
								 
						
							
								b929de3c3d 
								
							 
						 
						
							
							
								
								Changed constraints on pair and tuple constructors from is_convertible to is_constructible.  
							
							... 
							
							
							
							llvm-svn: 134252 
							
						 
						
							2011-07-01 20:12:51 +00:00  
				
					
						
							
							
								 
						
							
								5a33687da0 
								
							 
						 
						
							
							
								
								Correct for new rules regarding implicitly deleted special members.  http://llvm.org/bugs/show_bug.cgi?id=10191  
							
							... 
							
							
							
							llvm-svn: 134248 
							
						 
						
							2011-07-01 19:24:36 +00:00  
				
					
						
							
							
								 
						
							
								ce48a1137d 
								
							 
						 
						
							
							
								
								_STD -> _VSTD to avoid macro clash on windows  
							
							... 
							
							
							
							llvm-svn: 134190 
							
						 
						
							2011-06-30 21:18:19 +00:00  
				
					
						
							
							
								 
						
							
								64ec101eb6 
								
							 
						 
						
							
							
								
								Teach libc++ about the addressof() overloads it needs to work with  
							
							... 
							
							
							
							Objective-C Automatic Reference Counting, where Objective-C object
pointers can have several different qualifiers (__strong, __weak,
__autoreleasing, __unsafe_unretained). These addressof() overloads are
only provided in ARC mode, and the __weak variant is conditionalized
on having weak-reference support in the ARC runtime.
For historical reasons, Clang provides these definitions itself, and
defines the macro _LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF to note when
it as done so. The code belongs here, and this redundancy will be
eliminated in the future.
Addresses <rdar://problem/9658274>.
llvm-svn: 133656 
							
						 
						
							2011-06-22 22:17:44 +00:00  
				
					
						
							
							
								 
						
							
								a945a32981 
								
							 
						 
						
							
							
								
								More fixes:  One of my fixes to type_traits earlier today was incorrect, so that is reverted.  Recently clang appears to have tightened up its definition of is_convertible and that has caused some failures in [unordered_][multi]map.  I've switched to using is_constructible to restablish the desired functionality in [unordered_][multi]map.  Specifically, inserting rvalues of move-only types for the keys.  
							
							... 
							
							
							
							llvm-svn: 133402 
							
						 
						
							2011-06-19 21:45:00 +00:00  
				
					
						
							
							
								 
						
							
								2d62821f98 
								
							 
						 
						
							
							
								
								Miscellaneous minor fixes in <type_traits>  
							
							... 
							
							
							
							llvm-svn: 133401 
							
						 
						
							2011-06-19 19:12:59 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								32208bde75 
								
							 
						 
						
							
							
								
								Move nullptr_t to unversioned namespace:  Sean Hunt  
							
							... 
							
							
							
							llvm-svn: 132665 
							
						 
						
							2011-06-05 13:00:46 +00:00  
				
					
						
							
							
								 
						
							
								bd0c160078 
								
							 
						 
						
							
							
								
								noexcept for <stack>.  This completes noexcept for Chapter 23 [containers].  
							
							... 
							
							
							
							llvm-svn: 132652 
							
						 
						
							2011-06-04 22:09:19 +00:00  
				
					
						
							
							
								 
						
							
								6971d82668 
								
							 
						 
						
							
							
								
								noexcept for <queue>.  
							
							... 
							
							
							
							llvm-svn: 132650 
							
						 
						
							2011-06-04 21:32:33 +00:00  
				
					
						
							
							
								 
						
							
								557da866a3 
								
							 
						 
						
							
							
								
								noexcept for <unordered_set>.  
							
							... 
							
							
							
							llvm-svn: 132647 
							
						 
						
							2011-06-04 20:18:37 +00:00  
				
					
						
							
							
								 
						
							
								3714107ed6 
								
							 
						 
						
							
							
								
								noexcept for <unordered_map>.  
							
							... 
							
							
							
							llvm-svn: 132646 
							
						 
						
							2011-06-04 18:54:24 +00:00  
				
					
						
							
							
								 
						
							
								e691351098 
								
							 
						 
						
							
							
								
								Made more implementation  details of [multi]map/set noexcept.  
							
							... 
							
							
							
							llvm-svn: 132642 
							
						 
						
							2011-06-04 17:10:24 +00:00  
				
					
						
							
							
								 
						
							
								0e9f71c13f 
								
							 
						 
						
							
							
								
								noexcept for <set>.  Plus a few fixes to noexcept for <map>.  
							
							... 
							
							
							
							llvm-svn: 132640 
							
						 
						
							2011-06-04 15:22:34 +00:00  
				
					
						
							
							
								 
						
							
								1052ee39cb 
								
							 
						 
						
							
							
								
								noexcept for <map>.  
							
							... 
							
							
							
							llvm-svn: 132639 
							
						 
						
							2011-06-04 14:31:57 +00:00  
				
					
						
							
							
								 
						
							
								3297ed7065 
								
							 
						 
						
							
							
								
								noexcept for <vector>.  This also includes installing move_if_noexcept() into vector.  
							
							... 
							
							
							
							llvm-svn: 132577 
							
						 
						
							2011-06-03 19:40:40 +00:00  
				
					
						
							
							
								 
						
							
								2d45a18c24 
								
							 
						 
						
							
							
								
								Bring noexcept for <string> inline with other containers.  
							
							... 
							
							
							
							llvm-svn: 132573 
							
						 
						
							2011-06-03 18:40:47 +00:00  
				
					
						
							
							
								 
						
							
								4590010473 
								
							 
						 
						
							
							
								
								noexcept for <list>.  
							
							... 
							
							
							
							llvm-svn: 132562 
							
						 
						
							2011-06-03 17:30:28 +00:00  
				
					
						
							
							
								 
						
							
								91a4750733 
								
							 
						 
						
							
							
								
								noexcept for <forward_list>.  
							
							... 
							
							
							
							llvm-svn: 132553 
							
						 
						
							2011-06-03 16:20:53 +00:00  
				
					
						
							
							
								 
						
							
								801291139c 
								
							 
						 
						
							
							
								
								After sleeping on it I've decided that all special members that can be noexcept, should be declared so.  The client has the traits to detect and branch on this information, and it is often an important optimization.  Give deque() a noexcept.  Add test for deque default constructor and deque destructor.  
							
							... 
							
							
							
							llvm-svn: 132549 
							
						 
						
							2011-06-03 15:16:49 +00:00  
				
					
						
							
							
								 
						
							
								b58f59cdb3 
								
							 
						 
						
							
							
								
								Second try at getting noexcept on move and swap for deque.  I changed std::alloctor to propagate_on_container_move_assignment so as to make deque<T> move assignment noexcept.  What we really need is a compile-time switch that says an allocator always compares equal.  
							
							... 
							
							
							
							llvm-svn: 132490 
							
						 
						
							2011-06-02 21:38:57 +00:00  
				
					
						
							
							
								 
						
							
								9eebe11dd5 
								
							 
						 
						
							
							
								
								I've become quite disatsified with the lack of noexcept specifications on container move construction, move assignment operator and swap.  Without proper decoration on at least move construction, vectors of containers will have unacceptable performance.  Here's the fix for deque.  
							
							... 
							
							
							
							llvm-svn: 132480 
							
						 
						
							2011-06-02 20:00:14 +00:00  
				
					
						
							
							
								 
						
							
								f9dc28313f 
								
							 
						 
						
							
							
								
								noexcept for forward_list.  
							
							... 
							
							
							
							llvm-svn: 132461 
							
						 
						
							2011-06-02 16:44:28 +00:00  
				
					
						
							
							
								 
						
							
								a87e836083 
								
							 
						 
						
							
							
								
								noexcept for deque.  
							
							... 
							
							
							
							llvm-svn: 132459 
							
						 
						
							2011-06-02 16:10:22 +00:00  
				
					
						
							
							
								 
						
							
								bc95cf0d5f 
								
							 
						 
						
							
							
								
								Experimental support for a meaningful __is_swappable<T>::value.  This does not appear to be strictly needed for correct functioning of the library.  If it causes any problems, I'd rather pull it sooner rather than later.  
							
							... 
							
							
							
							llvm-svn: 132421 
							
						 
						
							2011-06-01 19:59:32 +00:00  
				
					
						
							
							
								 
						
							
								e88f577da1 
								
							 
						 
						
							
							
								
								Turning on cxx_nullptr exposed a latent bug in is_function, causing nullptr to wrongly classify as a function.  Fixed.  
							
							... 
							
							
							
							llvm-svn: 132406 
							
						 
						
							2011-06-01 17:25:11 +00:00  
				
					
						
							
							
								 
						
							
								542b2507de 
								
							 
						 
						
							
							
								
								I've seen this question enough times to know that it should be fixed:  http://stackoverflow.com/questions/6193734/implicit-conversions-with-stdfunction  
							
							... 
							
							
							
							llvm-svn: 132363 
							
						 
						
							2011-05-31 21:45:26 +00:00  
				
					
						
							
							
								 
						
							
								8f0cd597f1 
								
							 
						 
						
							
							
								
								noexcept for <array>.  
							
							... 
							
							
							
							llvm-svn: 132359 
							
						 
						
							2011-05-31 21:06:33 +00:00  
				
					
						
							
							
								 
						
							
								e3c6708439 
								
							 
						 
						
							
							
								
								Upgrade <ratio> to use template aliases when available.  
							
							... 
							
							
							
							llvm-svn: 132342 
							
						 
						
							2011-05-31 16:55:36 +00:00  
				
					
						
							
							
								 
						
							
								b5d866d4a3 
								
							 
						 
						
							
							
								
								noexcept for Chapter 22 [localization].  
							
							... 
							
							
							
							llvm-svn: 132337 
							
						 
						
							2011-05-31 15:34:58 +00:00  
				
					
						
							
							
								 
						
							
								f5c91471a4 
								
							 
						 
						
							
							
								
								Add _ATTRIBUTE macro for gcc: Justin Hibbits  
							
							... 
							
							
							
							llvm-svn: 132334 
							
						 
						
							2011-05-31 13:13:49 +00:00  
				
					
						
							
							
								 
						
							
								76c7cd0e15 
								
							 
						 
						
							
							
								
								noexcept for Chapter 21 [strings].  
							
							... 
							
							
							
							llvm-svn: 132296 
							
						 
						
							2011-05-29 19:57:12 +00:00  
				
					
						
							
							
								 
						
							
								af152c8431 
								
							 
						 
						
							
							
								
								minor documentation update  
							
							... 
							
							
							
							llvm-svn: 132286 
							
						 
						
							2011-05-29 13:53:56 +00:00  
				
					
						
							
							
								 
						
							
								9e5c99f61f 
								
							 
						 
						
							
							
								
								noexcept for <typeindex>.  This completes Chapter 20 [utilities].  
							
							... 
							
							
							
							llvm-svn: 132267 
							
						 
						
							2011-05-28 18:57:24 +00:00  
				
					
						
							
							
								 
						
							
								cfd52789dc 
								
							 
						 
						
							
							
								
								noexcept for <scoped_allocator>.  
							
							... 
							
							
							
							llvm-svn: 132266 
							
						 
						
							2011-05-28 18:51:12 +00:00  
				
					
						
							
							
								 
						
							
								d53d81522d 
								
							 
						 
						
							
							
								
								noexcept for <chrono>.  
							
							... 
							
							
							
							llvm-svn: 132265 
							
						 
						
							2011-05-28 18:34:36 +00:00  
				
					
						
							
							
								 
						
							
								6a07d6f06d 
								
							 
						 
						
							
							
								
								noexcept for <functional>.  
							
							... 
							
							
							
							llvm-svn: 132264 
							
						 
						
							2011-05-28 17:59:48 +00:00  
				
					
						
							
							
								 
						
							
								3739fe79e5 
								
							 
						 
						
							
							
								
								noexcept for <memory>.  I've added a few extension noexcept to:  allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const.  My rationale was:  If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept.  We're all a little new to noexcept, so things like this are to be expected.  Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|.  And fixed a test case for is_nothrow_destructible.  Destructors are now noexcept by default|  
							
							... 
							
							
							
							llvm-svn: 132261 
							
						 
						
							2011-05-28 14:41:13 +00:00  
				
					
						
							
							
								 
						
							
								d368a84c91 
								
							 
						 
						
							
							
								
								noexcept for <bitset>.  
							
							... 
							
							
							
							llvm-svn: 132216 
							
						 
						
							2011-05-27 20:52:28 +00:00  
				
					
						
							
							
								 
						
							
								27d0a2a75d 
								
							 
						 
						
							
							
								
								noexcept for <tuple>.  And in the process learned that I had done it wrong for pair's swap.  I needed to create an __is_nothrow_swappable<T>::value trait that was smart enought to answer false when __is_swappable<T>::value is false.  Otherwise one gets compile-time errors when using pair or tuple of non-swappable types, even if you never try to swap the pair or tuple.  
							
							... 
							
							
							
							llvm-svn: 132204 
							
						 
						
							2011-05-27 19:08:18 +00:00  
				
					
						
							
							
								 
						
							
								a676f7d36a 
								
							 
						 
						
							
							
								
								noexcept for <utility>.  This included a little repair on pair, and some noexcept workarounds.  
							
							... 
							
							
							
							llvm-svn: 132186 
							
						 
						
							2011-05-27 15:04:19 +00:00  
				
					
						
							
							
								 
						
							
								a62f28994c 
								
							 
						 
						
							
							
								
								Applied noexcept to everything in [diagnostics] (Chapter 19)  
							
							... 
							
							
							
							llvm-svn: 132137 
							
						 
						
							2011-05-26 19:48:01 +00:00  
				
					
						
							
							
								 
						
							
								411d1bcc3b 
								
							 
						 
						
							
							
								
								Turn on cxx_alias_templates support  
							
							... 
							
							
							
							llvm-svn: 132134 
							
						 
						
							2011-05-26 19:07:54 +00:00  
				
					
						
							
							
								 
						
							
								fafca58c58 
								
							 
						 
						
							
							
								
								Applied noexcept to everything in [language.support] (Chapter 18)  
							
							... 
							
							
							
							llvm-svn: 132129 
							
						 
						
							2011-05-26 18:23:59 +00:00  
				
					
						
							
							
								 
						
							
								400b244339 
								
							 
						 
						
							
							
								
								Added [[noreturn]] attribute everywhere it should be  
							
							... 
							
							
							
							llvm-svn: 132125 
							
						 
						
							2011-05-26 17:07:32 +00:00  
				
					
						
							
							
								 
						
							
								2fa07ae9a0 
								
							 
						 
						
							
							
								
								Fix const correctness bug in bind involving reference_wrapper found by Jonathan Sauer  
							
							... 
							
							
							
							llvm-svn: 131852 
							
						 
						
							2011-05-22 15:07:43 +00:00  
				
					
						
							
							
								 
						
							
								5eb6bdfa1d 
								
							 
						 
						
							
							
								
								__invokable and __invoke_of now check for incomplete types and issue a compile-time diagnostic if they are used with incomplete types for anything except a return type.  Note that both arguments *and* parameters are checked for completeness.  
							
							... 
							
							
							
							llvm-svn: 131818 
							
						 
						
							2011-05-22 00:09:02 +00:00  
				
					
						
							
							
								 
						
							
								6282a4a1d3 
								
							 
						 
						
							
							
								
								This is a simplified (and superior) implementation of __invoke, __invokable and __invoke_of.  It is superior in that __invoke now handles reference qualified member functions whereas the previous implementation did not.  And it simply has less infrastructure in its implementation.  I'm still learning how to program in C++11 (and probably will be for a long time).  This change does not impact the behavior we're seeing in  http://llvm.org/bugs/show_bug.cgi?id=9975  
							
							... 
							
							
							
							llvm-svn: 131761 
							
						 
						
							2011-05-20 22:02:53 +00:00  
				
					
						
							
							
								 
						
							
								2344d6c195 
								
							 
						 
						
							
							
								
								Simplied bind using __invoke.  In the process, found and fixed a couple of bugs.  C++11 only.  
							
							... 
							
							
							
							llvm-svn: 131667 
							
						 
						
							2011-05-19 19:41:47 +00:00  
				
					
						
							
							
								 
						
							
								ec0810e1c8 
								
							 
						 
						
							
							
								
								I had a giant misunderstanding of what 'synchronizes with' meant in [futures.async]/p5.  This invalidated the current design of async in <future>.  This is a new design, based on my new understanding, which has been confirmed on the lwg mailing list.  The summary is that ~future() (and ~shared_future()) will block when they are created from within async, and the thread hasn't finished yet.  As part of this work I created two new type traits:  __invokable<F, Args...>::value and __invoke_of<F, Args...>::type.  These are what result_of<F(Args...)> wanted to be when it grew up, but never will be. __invoke_of is carefully crafted so that it can serve as its own enable_if (type doesn't exist if the signature isn't invokable).  All of this work is C++11 only.  
							
							... 
							
							
							
							llvm-svn: 131639 
							
						 
						
							2011-05-19 15:05:04 +00:00  
				
					
						
							
							
								 
						
							
								dcaa2e9294 
								
							 
						 
						
							
							
								
								Fix ambiguity in operator== of scoped_allocator_adaptor.  
							
							... 
							
							
							
							llvm-svn: 131485 
							
						 
						
							2011-05-17 20:41:18 +00:00  
				
					
						
							
							
								 
						
							
								651fedb82c 
								
							 
						 
						
							
							
								
								Fixed bug in recently introduced bind move constructor  
							
							... 
							
							
							
							llvm-svn: 131484 
							
						 
						
							2011-05-17 20:27:51 +00:00  
				
					
						
							
							
								 
						
							
								872a91167e 
								
							 
						 
						
							
							
								
								Brought call_once variadic call up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.  
							
							... 
							
							
							
							llvm-svn: 131414 
							
						 
						
							2011-05-16 19:05:11 +00:00  
				
					
						
							
							
								 
						
							
								8df61ea84d 
								
							 
						 
						
							
							
								
								Brought thread variadic constructor up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.  
							
							... 
							
							
							
							llvm-svn: 131413 
							
						 
						
							2011-05-16 18:40:35 +00:00  
				
					
						
							
							
								 
						
							
								7735ccaf86 
								
							 
						 
						
							
							
								
								Supply missing std::qualifier to call.  
							
							... 
							
							
							
							llvm-svn: 131410 
							
						 
						
							2011-05-16 16:20:59 +00:00  
				
					
						
							
							
								 
						
							
								23fdcd70c6 
								
							 
						 
						
							
							
								
								Spit 5th bullet __invoke into function pointers and everything else because result_of doesn't deal with function pointers.  
							
							... 
							
							
							
							llvm-svn: 131409 
							
						 
						
							2011-05-16 16:20:21 +00:00  
				
					
						
							
							
								 
						
							
								07de7bcaa0 
								
							 
						 
						
							
							
								
								Supply missing move ctor in __bind_r, though this one will eventually be defaulted  
							
							... 
							
							
							
							llvm-svn: 131408 
							
						 
						
							2011-05-16 16:19:01 +00:00  
				
					
						
							
							
								 
						
							
								15c34d48ba 
								
							 
						 
						
							
							
								
								Redesign of result_of to handle reference-qualified member functions  
							
							... 
							
							
							
							llvm-svn: 131407 
							
						 
						
							2011-05-16 16:17:21 +00:00  
				
					
						
							
							
								 
						
							
								b12c37b302 
								
							 
						 
						
							
							
								
								Fix type-o found by Justin Hibbits  
							
							... 
							
							
							
							llvm-svn: 131348 
							
						 
						
							2011-05-14 18:20:45 +00:00  
				
					
						
							
							
								 
						
							
								6db38ae05c 
								
							 
						 
						
							
							
								
								Fix type-o found by Justin Hibbits  
							
							... 
							
							
							
							llvm-svn: 131346 
							
						 
						
							2011-05-14 17:24:22 +00:00  
				
					
						
							
							
								 
						
							
								fb7f07e3bd 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=9854 .  Also created an emulated hexfloat literal for use in some of the tests. <sigh>  And cleaned up some harmless but irritating warnings in the tests.  
							
							... 
							
							
							
							llvm-svn: 131318 
							
						 
						
							2011-05-13 21:52:40 +00:00  
				
					
						
							
							
								 
						
							
								3e71464d50 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=9118  
							
							... 
							
							
							
							llvm-svn: 131296 
							
						 
						
							2011-05-13 17:16:06 +00:00  
				
					
						
							
							
								 
						
							
								467fc38320 
								
							 
						 
						
							
							
								
								A much improved type_traits for C++0x.  Not yet done: is_trivially_constructible, is_trivially_assignable and underlying_type.  
							
							... 
							
							
							
							llvm-svn: 131291 
							
						 
						
							2011-05-13 14:08:16 +00:00  
				
					
						
							
							
								 
						
							
								f738497500 
								
							 
						 
						
							
							
								
								Corrected some bugs in both memory and the tests.  Preparing for being able to turn on support for alias templates.  
							
							... 
							
							
							
							llvm-svn: 131199 
							
						 
						
							2011-05-11 20:21:19 +00:00  
				
					
						
							
							
								 
						
							
								08ad63b580 
								
							 
						 
						
							
							
								
								Redid nothrow traits in terms of non-nothrow traits when noexcept is available  
							
							... 
							
							
							
							llvm-svn: 131198 
							
						 
						
							2011-05-11 20:19:40 +00:00  
				
					
						
							
							
								 
						
							
								0cfdb9517e 
								
							 
						 
						
							
							
								
								Updated type_traits and the type_traits design doc with recent work done in clang.  
							
							... 
							
							
							
							llvm-svn: 131090 
							
						 
						
							2011-05-09 19:21:17 +00:00  
				
					
						
							
							
								 
						
							
								575d41ee92 
								
							 
						 
						
							
							
								
								Correction to set of overloaded pair constructors for C++0x  
							
							... 
							
							
							
							llvm-svn: 130521 
							
						 
						
							2011-04-29 18:10:55 +00:00  
				
					
						
							
							
								 
						
							
								6c38001ec5 
								
							 
						 
						
							
							
								
								Qualify calls to std::next(), to avoid conflicts with  
							
							... 
							
							
							
							libraries/applications that define their own 'next' template.
llvm-svn: 130511 
							
						 
						
							2011-04-29 16:20:26 +00:00  
				
					
						
							
							
								 
						
							
								9d06c8c326 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=9765  
							
							... 
							
							
							
							llvm-svn: 129910 
							
						 
						
							2011-04-21 14:29:59 +00:00  
				
					
						
							
							
								 
						
							
								866d73c7b4 
								
							 
						 
						
							
							
								
								Think-o in poisson_distribution at mean == 10  
							
							... 
							
							
							
							llvm-svn: 129520 
							
						 
						
							2011-04-14 15:59:22 +00:00  
				
					
						
							
							
								 
						
							
								a23551cad4 
								
							 
						 
						
							
							
								
								Fix bug in Sseq constraints found by Seth Cantrell  
							
							... 
							
							
							
							llvm-svn: 129285 
							
						 
						
							2011-04-11 18:22:12 +00:00  
				
					
						
							
							
								 
						
							
								40dab2ce86 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=9672  
							
							... 
							
							
							
							llvm-svn: 129266 
							
						 
						
							2011-04-11 02:18:41 +00:00  
				
					
						
							
							
								 
						
							
								784ba65787 
								
							 
						 
						
							
							
								
								Changes to cerrno to protect against the case the ELAST is not defined.  
							
							... 
							
							
							
							llvm-svn: 129255 
							
						 
						
							2011-04-10 19:46:55 +00:00  
				
					
						
							
							
								 
						
							
								1444d85b5a 
								
							 
						 
						
							
							
								
								time_get was missing the %F specifier.  This change impacts the binary.  
							
							... 
							
							
							
							llvm-svn: 129251 
							
						 
						
							2011-04-10 17:54:14 +00:00  
				
					
						
							
							
								 
						
							
								a9c7c14ebb 
								
							 
						 
						
							
							
								
								Chris Jefferson found a missing const (Bugzilla 9632)  
							
							... 
							
							
							
							llvm-svn: 128885 
							
						 
						
							2011-04-05 14:55:28 +00:00  
				
					
						
							
							
								 
						
							
								dbe14303da 
								
							 
						 
						
							
							
								
								Chris Jefferson submitted this patch to fix  http://llvm.org/bugs/show_bug.cgi?id=9351  
							
							... 
							
							
							
							llvm-svn: 128796 
							
						 
						
							2011-04-03 20:05:29 +00:00  
				
					
						
							
							
								 
						
							
								890477f333 
								
							 
						 
						
							
							
								
								Provide a more readable error message for <atomic> until it is implemented.  
							
							... 
							
							
							
							llvm-svn: 128636 
							
						 
						
							2011-03-31 16:39:39 +00:00  
				
					
						
							
							
								 
						
							
								382600ff97 
								
							 
						 
						
							
							
								
								Jonathan Sauer found a bug in the way ^ was handled  
							
							... 
							
							
							
							llvm-svn: 128350 
							
						 
						
							2011-03-26 20:02:27 +00:00  
				
					
						
							
							
								 
						
							
								8f934e42d8 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=9444  
							
							... 
							
							
							
							llvm-svn: 127412 
							
						 
						
							2011-03-10 17:27:57 +00:00  
				
					
						
							
							
								 
						
							
								8cad46266c 
								
							 
						 
						
							
							
								
								I have to revert this recent fix to tuple conversions until clang implements cwg 1170.  Without this fix pair and tuple don't convert properly.  With it, associative containers get access errors when they shouldn't.  cwg 1170 fixes the latter.  
							
							... 
							
							
							
							llvm-svn: 127411 
							
						 
						
							2011-03-10 17:27:30 +00:00  
				
					
						
							
							
								 
						
							
								709b108ae1 
								
							 
						 
						
							
							
								
								Corrected const-correctness on nullptr type_traits, and beefed up the test for nullptr_t.  
							
							... 
							
							
							
							llvm-svn: 127338 
							
						 
						
							2011-03-09 17:17:06 +00:00  
				
					
						
							
							
								 
						
							
								d6c80dec76 
								
							 
						 
						
							
							
								
								Walter Brown brought to my attention that type_traits was failing to correctly classify nullptr_t  
							
							... 
							
							
							
							llvm-svn: 127334 
							
						 
						
							2011-03-09 15:10:51 +00:00  
				
					
						
							
							
								 
						
							
								f1bf6f9a3a 
								
							 
						 
						
							
							
								
								Chris Jefferson found a defect in the C++0x working draft by trying to run libc++ against boost.  I've submitted an issue to the LWG, and this commit attempts to implement the proposed resolution of that defect report.  I'd point to the issue but it hasn't been put into the LWG list yet.  The title of the issue will be: Stage 2 accumulate incompatibilty  
							
							... 
							
							
							
							llvm-svn: 127303 
							
						 
						
							2011-03-09 01:03:19 +00:00  
				
					
						
							
							
								 
						
							
								b5d166ad93 
								
							 
						 
						
							
							
								
								Chris Jefferson found this bug to pair/tuple introduced by a recent change to the draft that I missed.  
							
							... 
							
							
							
							llvm-svn: 126743 
							
						 
						
							2011-03-01 14:27:55 +00:00  
				
					
						
							
							
								 
						
							
								99847d2bf1 
								
							 
						 
						
							
							
								
								Fix copy_n to increment only n-1 times for an input iterator.  This works much better with std::istream_iterator<int>(std::cin).  Credit: Matan Nassau.  
							
							... 
							
							
							
							llvm-svn: 126581 
							
						 
						
							2011-02-27 20:55:39 +00:00  
				
					
						
							
							
								 
						
							
								73736effce 
								
							 
						 
						
							
							
								
								Fixed two problems found by Chris Jefferson:  Made operator>> for char consistent with gcc.  Opened an LWG issue on this one.  2) Renamed some private typedefs which are causing boost grief.  
							
							... 
							
							
							
							llvm-svn: 126576 
							
						 
						
							2011-02-27 18:02:02 +00:00  
				
					
						
							
							
								 
						
							
								a8d8ca4d6f 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=9326  
							
							... 
							
							
							
							llvm-svn: 126504 
							
						 
						
							2011-02-25 19:52:41 +00:00  
				
					
						
							
							
								 
						
							
								0c68ed006d 
								
							 
						 
						
							
							
								
								Chris Jefferson spotted a problem with messages_base::catalog while getting libc++ to work on boost.  The standard says this type must be an int.  But this type is the key returned by the OS facility catopen.  On OS X the type returned by catopen is void*, which doesn't fit into an int on 64 bit platforms.  Chris suggested using ptrdiff_t instead of void*.  It still isn't compliant with the standard, but chances are that this change will fix what is ailing boost.  Chris also supplied the algorithm for distinguishing high-order pointers from error conditions.  Thanks Chris.  
							
							... 
							
							
							
							llvm-svn: 126462 
							
						 
						
							2011-02-25 00:51:08 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								f190990546 
								
							 
						 
						
							
							
								
								fix stupid type-o  
							
							... 
							
							
							
							llvm-svn: 125311 
							
						 
						
							2011-02-10 21:34:42 +00:00  
				
					
						
							
							
								 
						
							
								05033424f9 
								
							 
						 
						
							
							
								
								Installed __has_feature(is_convertible_to) and __has_feature(is_base_of)  
							
							... 
							
							
							
							llvm-svn: 125290 
							
						 
						
							2011-02-10 17:46:03 +00:00  
				
					
						
							
							
								 
						
							
								da3b02fdb3 
								
							 
						 
						
							
							
								
								Missing traits::to_int_type in fstream  
							
							... 
							
							
							
							llvm-svn: 124727 
							
						 
						
							2011-02-02 17:37:16 +00:00  
				
					
						
							
							
								 
						
							
								72c5e14203 
								
							 
						 
						
							
							
								
								Qualify calls to addressof with std::.  Bug 9106  
							
							... 
							
							
							
							llvm-svn: 124726 
							
						 
						
							2011-02-02 17:36:20 +00:00  
				
					
						
							
							
								 
						
							
								2774545736 
								
							 
						 
						
							
							
								
								Bug 9096 - list::iterator not default constructible  
							
							... 
							
							
							
							llvm-svn: 124508 
							
						 
						
							2011-01-28 23:46:28 +00:00  
				
					
						
							
							
								 
						
							
								d44be13fa8 
								
							 
						 
						
							
							
								
								minor corrections to test, and hook is_base_of up to clang intrinsic  
							
							... 
							
							
							
							llvm-svn: 124502 
							
						 
						
							2011-01-28 20:00:37 +00:00  
				
					
						
							
							
								 
						
							
								59f5dc60d2 
								
							 
						 
						
							
							
								
								Eliminate extraneous {};  
							
							... 
							
							
							
							llvm-svn: 124456 
							
						 
						
							2011-01-27 23:36:08 +00:00  
				
					
						
							
							
								 
						
							
								eb92df7e9e 
								
							 
						 
						
							
							
								
								Make forward_list splice_after and merge work for lvalue lists  
							
							... 
							
							
							
							llvm-svn: 124430 
							
						 
						
							2011-01-27 21:00:35 +00:00  
				
					
						
							
							
								 
						
							
								7015add232 
								
							 
						 
						
							
							
								
								Reverted previous fix to is_convertible as it caused more problems than it fixed.  But this reverted fix will only matter for non-clang compilers.  Installed __is_convertible_to for clang.  
							
							... 
							
							
							
							llvm-svn: 124429 
							
						 
						
							2011-01-27 21:00:00 +00:00  
				
					
						
							
							
								 
						
							
								71711a673b 
								
							 
						 
						
							
							
								
								Inline namespaces are always available in Clang. Rely on that without  
							
							... 
							
							
							
							testing via __has_feature, since __has_feature for C++0x features no
longer evaluates true in C++98/03 mode.
Also, eliminate the redundant using directive. Inline namespaces make
their members visible in the enclosing namespace automatically.
llvm-svn: 124293 
							
						 
						
							2011-01-26 15:39:56 +00:00  
				
					
						
							
							
								 
						
							
								d18302f1bb 
								
							 
						 
						
							
							
								
								Teach move_iterator that rvalue references cannot bind to non-function  
							
							... 
							
							
							
							lvalues, nor can one take the address of an xvalue, by adding
appropriate static_cast's (in the first case) and a temporary (in the
second case).
llvm-svn: 124255 
							
						 
						
							2011-01-26 00:12:48 +00:00  
				
					
						
							
							
								 
						
							
								ad16003517 
								
							 
						 
						
							
							
								
								Add always_inline to string move constructors  
							
							... 
							
							
							
							llvm-svn: 124252 
							
						 
						
							2011-01-26 00:06:59 +00:00  
				
					
						
							
							
								 
						
							
								175a104028 
								
							 
						 
						
							
							
								
								Remove an (incorrect) compiler workaround in the __mu function. The  
							
							... 
							
							
							
							workaround relied on rvalue references binding to non-function
lvalues, while the original formulation (with std::forward) does the
right thing.
llvm-svn: 124241 
							
						 
						
							2011-01-25 23:11:15 +00:00  
				
					
						
							
							
								 
						
							
								2a3f1bc13f 
								
							 
						 
						
							
							
								
								tweak for readability (no functionality change)  
							
							... 
							
							
							
							llvm-svn: 124192 
							
						 
						
							2011-01-25 16:31:30 +00:00  
				
					
						
							
							
								 
						
							
								912e161ce0 
								
							 
						 
						
							
							
								
								An rvalue reference cannot bind to an lvalue, so static_cast the  
							
							... 
							
							
							
							result of the __tuple_leaf::get() call to an rvalue reference when
returning from tuple's get().
llvm-svn: 124190 
							
						 
						
							2011-01-25 16:14:21 +00:00  
				
					
						
							
							
								 
						
							
								a7b2241407 
								
							 
						 
						
							
							
								
								Eliminate the C++0x-only is_convertible testing function that accepts  
							
							... 
							
							
							
							a cv-qualifier rvalue reference to the type, e.g.,
  template <class _Tp> char  __test(const volatile typename remove_reference<_Tp>::type&&);
The use of this function signature rather than the more
straightforward one used in C++98/03 mode, e.g.,
  template <class _Tp> char  __test(_Tp);
is broken in two ways:
  1) An rvalue reference cannot bind to lvalues, so is_convertible<X&,
  X&>::value would be false. This breaks two of the unique_ptr tests
  on Clang and GCC >= 4.5. Prior GCC's seem to have allowed rvalue
  references to bind to lvalues, allowing this bug to slip in.
  2) By adding cv-qualifiers to the type we're converting to, we get
  some incorrect "true" results for, e.g., is_convertible<const X&, X&>::value.
llvm-svn: 124166 
							
						 
						
							2011-01-25 01:15:41 +00:00  
				
					
						
							
							
								 
						
							
								465abe92a5 
								
							 
						 
						
							
							
								
								Chandler Carruth changed >> to > > in several places.  
							
							... 
							
							
							
							llvm-svn: 124120 
							
						 
						
							2011-01-24 16:07:25 +00:00  
				
					
						
							
							
								 
						
							
								2503626838 
								
							 
						 
						
							
							
								
								Add attribute to inlined member.  
							
							... 
							
							
							
							llvm-svn: 123392 
							
						 
						
							2011-01-13 20:05:05 +00:00  
				
					
						
							
							
								 
						
							
								59a7dc95de 
								
							 
						 
						
							
							
								
								Fixing an ambiguity in variadics found by clang.  
							
							... 
							
							
							
							llvm-svn: 123337 
							
						 
						
							2011-01-12 22:56:59 +00:00  
				
					
						
							
							
								 
						
							
								119cd0ba12 
								
							 
						 
						
							
							
								
								fix guard  
							
							... 
							
							
							
							llvm-svn: 123269 
							
						 
						
							2011-01-11 20:02:45 +00:00  
				
					
						
							
							
								 
						
							
								b5b2a1e19a 
								
							 
						 
						
							
							
								
								Two minor fixes:  1.  Put integral_constant conversion to integral in even without constexpr support.  2.  Add ios_base to <iosfwd>.  The latter is being tracked by LWG 2026.  
							
							... 
							
							
							
							llvm-svn: 123080 
							
						 
						
							2011-01-08 20:00:48 +00:00  
				
					
						
							
							
								 
						
							
								36fd9f96cf 
								
							 
						 
						
							
							
								
								Reverting an old optimization that conflicts with the new allocator model, and causes some test casees to compile that shouldn't.  
							
							... 
							
							
							
							llvm-svn: 122830 
							
						 
						
							2011-01-04 19:53:31 +00:00  
				
					
						
							
							
								 
						
							
								ab061a656d 
								
							 
						 
						
							
							
								
								Marshall Clow's fix for Bug 8421.  
							
							... 
							
							
							
							llvm-svn: 122825 
							
						 
						
							2011-01-04 19:21:05 +00:00  
				
					
						
							
							
								 
						
							
								c950e77d1d 
								
							 
						 
						
							
							
								
								Effort to reduce the number of exported symbols  
							
							... 
							
							
							
							llvm-svn: 122057 
							
						 
						
							2010-12-17 14:46:43 +00:00  
				
					
						
							
							
								 
						
							
								ba31cbdbca 
								
							 
						 
						
							
							
								
								Reduced copying cost of tuple_cat from quadratic to linear.  
							
							... 
							
							
							
							llvm-svn: 121655 
							
						 
						
							2010-12-12 23:04:37 +00:00  
				
					
						
							
							
								 
						
							
								7f64810bc8 
								
							 
						 
						
							
							
								
								LWG 1385 [FCD] tuple_cat should be a single variadic signature ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#1385 ).  This issue is only in Ready status, meaning it is not official, but probably will be this March in Madrid.  It was tentatively accepted in Batavia with the previso that Bill and I didn't have any problems implementing it.  This is my part of that agreement.  
							
							... 
							
							
							
							llvm-svn: 121619 
							
						 
						
							2010-12-11 20:47:50 +00:00  
				
					
						
							
							
								 
						
							
								d4a83d078c 
								
							 
						 
						
							
							
								
								The implementation of the new definition of result_of (N3123) resulted in some test failures in [func.memfn] that I failed to previously notice.  This corrects that mistake.  
							
							... 
							
							
							
							llvm-svn: 121600 
							
						 
						
							2010-12-11 00:05:19 +00:00  
				
					
						
							
							
								 
						
							
								f5799be4a8 
								
							 
						 
						
							
							
								
								Add CMake build and fix major Linux blockers.  
							
							... 
							
							
							
							llvm-svn: 121510 
							
						 
						
							2010-12-10 19:47:54 +00:00  
				
					
						
							
							
								 
						
							
								966b5a3157 
								
							 
						 
						
							
							
								
								N3158 Missing preconditions for default-constructed match_result objects  
							
							... 
							
							
							
							llvm-svn: 121282 
							
						 
						
							2010-12-08 21:07:55 +00:00  
				
					
						
							
							
								 
						
							
								b5452b3db5 
								
							 
						 
						
							
							
								
								After a long break to wait for the atomic spec to settle, this completes the library part of <atomic>.  It currently won't even parse as it depends on the existence of the intrinsics specified at  http://libcxx.llvm.org/atomic_design_a.html .  Everything has been tested using fake intrinsics which have now been removed.  As the intrinsics come online, the ATOMIC_* macros will need to be adjusted to reflect which operations are lock-free.  These macros will probably need to be #ifdef'd for each supported platform.  
							
							... 
							
							
							
							llvm-svn: 121267 
							
						 
						
							2010-12-08 17:20:28 +00:00  
				
					
						
							
							
								 
						
							
								c5f5f0a166 
								
							 
						 
						
							
							
								
								atomics ...  
							
							... 
							
							
							
							llvm-svn: 121204 
							
						 
						
							2010-12-07 23:24:41 +00:00  
				
					
						
							
							
								 
						
							
								c772a62096 
								
							 
						 
						
							
							
								
								Work on <atomic> continues.  The file size is actually sane now...  
							
							... 
							
							
							
							llvm-svn: 121181 
							
						 
						
							2010-12-07 20:46:14 +00:00  
				
					
						
							
							
								 
						
							
								9847abacb1 
								
							 
						 
						
							
							
								
								Getting <atomic> warmed back up.  We have a hopefully more stable spec now.  And I believe the intrinsic spec at  http://libcxx.llvm.org/atomic_design_a.html  is still good.  
							
							... 
							
							
							
							llvm-svn: 121064 
							
						 
						
							2010-12-06 23:10:08 +00:00  
				
					
						
							
							
								 
						
							
								1596c4531b 
								
							 
						 
						
							
							
								
								N3189 Observers for the three handler functions  
							
							... 
							
							
							
							llvm-svn: 120712 
							
						 
						
							2010-12-02 16:45:21 +00:00  
				
					
						
							
							
								 
						
							
								92e3718b13 
								
							 
						 
						
							
							
								
								Implemented N3194  
							
							... 
							
							
							
							llvm-svn: 120458 
							
						 
						
							2010-11-30 20:23:32 +00:00  
				
					
						
							
							
								 
						
							
								6fd5c65095 
								
							 
						 
						
							
							
								
								Minor fixup in <ratio> and add optional support for shared_mutex and upgrade_mutex which must be opted into with #define _LIBCPP_SHARED_LOCK  
							
							... 
							
							
							
							llvm-svn: 120258 
							
						 
						
							2010-11-28 19:41:07 +00:00  
				
					
						
							
							
								 
						
							
								0c6a0fe7fb 
								
							 
						 
						
							
							
								
								Add template alias emulation to <ratio>  
							
							... 
							
							
							
							llvm-svn: 120098 
							
						 
						
							2010-11-24 17:05:06 +00:00  
				
					
						
							
							
								 
						
							
								e3120ed1bf 
								
							 
						 
						
							
							
								
								N3188 - Revision to N3113: Async Launch Policies (CH 36)  
							
							... 
							
							
							
							llvm-svn: 120027 
							
						 
						
							2010-11-23 18:33:54 +00:00  
				
					
						
							
							
								 
						
							
								3dc6455ff0 
								
							 
						 
						
							
							
								
								N3191: C++ Timeout Specification  
							
							... 
							
							
							
							llvm-svn: 119909 
							
						 
						
							2010-11-20 19:16:30 +00:00  
				
					
						
							
							
								 
						
							
								092980dd65 
								
							 
						 
						
							
							
								
								N3123  
							
							... 
							
							
							
							llvm-svn: 119906 
							
						 
						
							2010-11-20 18:25:22 +00:00  
				
					
						
							
							
								 
						
							
								ca74048398 
								
							 
						 
						
							
							
								
								N3142.  Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.  
							
							... 
							
							
							
							llvm-svn: 119854 
							
						 
						
							2010-11-19 22:17:28 +00:00  
				
					
						
							
							
								 
						
							
								d518d1c807 
								
							 
						 
						
							
							
								
								LWG 1522  
							
							... 
							
							
							
							llvm-svn: 119710 
							
						 
						
							2010-11-18 17:34:48 +00:00  
				
					
						
							
							
								 
						
							
								908484b147 
								
							 
						 
						
							
							
								
								LWG 1439  
							
							... 
							
							
							
							llvm-svn: 119703 
							
						 
						
							2010-11-18 17:01:36 +00:00  
				
					
						
							
							
								 
						
							
								48d05bd26c 
								
							 
						 
						
							
							
								
								LWG 1339  
							
							... 
							
							
							
							llvm-svn: 119699 
							
						 
						
							2010-11-18 16:13:03 +00:00  
				
					
						
							
							
								 
						
							
								fb34010258 
								
							 
						 
						
							
							
								
								LWG 1432  
							
							... 
							
							
							
							llvm-svn: 119611 
							
						 
						
							2010-11-18 01:47:02 +00:00  
				
					
						
							
							
								 
						
							
								a4a1ef1fc2 
								
							 
						 
						
							
							
								
								LWG 1404  
							
							... 
							
							
							
							llvm-svn: 119609 
							
						 
						
							2010-11-18 01:40:00 +00:00  
				
					
						
							
							
								 
						
							
								d09f711dc2 
								
							 
						 
						
							
							
								
								LWG 1325  
							
							... 
							
							
							
							llvm-svn: 119571 
							
						 
						
							2010-11-17 21:53:14 +00:00  
				
					
						
							
							
								 
						
							
								5ba1459c4c 
								
							 
						 
						
							
							
								
								LWG 1323  
							
							... 
							
							
							
							llvm-svn: 119560 
							
						 
						
							2010-11-17 21:11:40 +00:00  
				
					
						
							
							
								 
						
							
								601afb30ec 
								
							 
						 
						
							
							
								
								LWG 1191  
							
							... 
							
							
							
							llvm-svn: 119545 
							
						 
						
							2010-11-17 19:52:17 +00:00  
				
					
						
							
							
								 
						
							
								ef6168357a 
								
							 
						 
						
							
							
								
								LWG 1118  
							
							... 
							
							
							
							llvm-svn: 119541 
							
						 
						
							2010-11-17 19:22:43 +00:00  
				
					
						
							
							
								 
						
							
								57d1ebcc38 
								
							 
						 
						
							
							
								
								Update <string> to use allocator_traits.  
							
							... 
							
							
							
							llvm-svn: 119522 
							
						 
						
							2010-11-17 17:55:08 +00:00  
				
					
						
							
							
								 
						
							
								412dbebe1b 
								
							 
						 
						
							
							
								
								license change  
							
							... 
							
							
							
							llvm-svn: 119395 
							
						 
						
							2010-11-16 22:09:02 +00:00  
				
					
						
							
							
								 
						
							
								9b35c8275c 
								
							 
						 
						
							
							
								
								Dave Zarzycki showed how the efficiency of shared_ptr could be significantly  
							
							... 
							
							
							
							increased.  The following program is running 49% faster:
#include <iostream>
#include <memory>
#include <chrono>
#include <vector>
#include "chrono_io"
int main()
{
    typedef std::chrono::high_resolution_clock Clock;
    Clock::time_point t0 = Clock::now();
    {
        std::shared_ptr<int> p(new int (1));
        std::vector<std::shared_ptr<int> > v(1000000, p);
        v.insert(v.begin(), p);
        v.insert(v.begin(), p);
        v.insert(v.begin(), p);
        v.insert(v.begin(), p);
    }
    Clock::time_point t1 = Clock::now();
    std::cout << (t1-t0) << '\n';
}
llvm-svn: 119388 
							
						 
						
							2010-11-16 21:33:17 +00:00  
				
					
						
							
							
								 
						
							
								c4931c4746 
								
							 
						 
						
							
							
								
								I have reverted all contributions made by Jesse Towner in revision 110724  
							
							... 
							
							
							
							llvm-svn: 119383 
							
						 
						
							2010-11-16 21:10:23 +00:00  
				
					
						
							
							
								 
						
							
								007b26be68 
								
							 
						 
						
							
							
								
								Fixed bug in random_shuffle to avoid swapping with self  
							
							... 
							
							
							
							llvm-svn: 117098 
							
						 
						
							2010-10-22 15:26:39 +00:00  
				
					
						
							
							
								 
						
							
								a7c2f3eac3 
								
							 
						 
						
							
							
								
								[atomics.types.address]  
							
							... 
							
							
							
							llvm-svn: 117033 
							
						 
						
							2010-10-21 17:44:19 +00:00  
				
					
						
							
							
								 
						
							
								f9c02e15c4 
								
							 
						 
						
							
							
								
								atomic_schar, atomic_uchar, atomic_short, atomic_ushort, atomic_int, atomic_uint, atomic_long, atomic_ulong, atomic_llong, atomic_ullong, atomic_char16_t, atomic_char32_t and atomic_wchar_t.  
							
							... 
							
							
							
							llvm-svn: 116860 
							
						 
						
							2010-10-19 21:22:10 +00:00  
				
					
						
							
							
								 
						
							
								d89b01e521 
								
							 
						 
						
							
							
								
								atomic_char  
							
							... 
							
							
							
							llvm-svn: 116813 
							
						 
						
							2010-10-19 16:51:18 +00:00  
				
					
						
							
							
								 
						
							
								b2b5513dcc 
								
							 
						 
						
							
							
								
								Changing <atomic> to follow Design A  
							
							... 
							
							
							
							llvm-svn: 116742 
							
						 
						
							2010-10-18 20:39:07 +00:00  
				
					
						
							
							
								 
						
							
								10e4a48a26 
								
							 
						 
						
							
							
								
								Convert __thread_local_data to the singleton pattern  
							
							... 
							
							
							
							llvm-svn: 116500 
							
						 
						
							2010-10-14 19:18:04 +00:00  
				
					
						
							
							
								 
						
							
								a65a935ba4 
								
							 
						 
						
							
							
								
								Bug 7983 fixed by Bernhard Rosenkraenzer  
							
							... 
							
							
							
							llvm-svn: 116487 
							
						 
						
							2010-10-14 17:11:39 +00:00  
				
					
						
							
							
								 
						
							
								e79d71e2e3 
								
							 
						 
						
							
							
								
								Patch by Marshall Clow to make the assignment operators of piecewise_constant_distribution and piecewise_linear_distribution exception safe.  
							
							... 
							
							
							
							llvm-svn: 116404 
							
						 
						
							2010-10-13 14:37:09 +00:00  
				
					
						
							
							
								 
						
							
								0f444b3b16 
								
							 
						 
						
							
							
								
								Corrected an inconsistency with recent changes in tuple, and perfect forwarding within bind  
							
							... 
							
							
							
							llvm-svn: 115930 
							
						 
						
							2010-10-07 18:03:23 +00:00  
				
					
						
							
							
								 
						
							
								772699070e 
								
							 
						 
						
							
							
								
								Make flag type configurable by the compiler  
							
							... 
							
							
							
							llvm-svn: 115614 
							
						 
						
							2010-10-05 14:02:23 +00:00  
				
					
						
							
							
								 
						
							
								69c3cb85ab 
								
							 
						 
						
							
							
								
								Thanks Sebastian\!  
							
							... 
							
							
							
							llvm-svn: 115612 
							
						 
						
							2010-10-05 13:38:23 +00:00  
				
					
						
							
							
								 
						
							
								668523a1b8 
								
							 
						 
						
							
							
								
								Filling out the infrastructure in <atomic>  
							
							... 
							
							
							
							llvm-svn: 115577 
							
						 
						
							2010-10-04 23:55:35 +00:00  
				
					
						
							
							
								 
						
							
								d5a97fc683 
								
							 
						 
						
							
							
								
								__has_feature crutch  
							
							... 
							
							
							
							llvm-svn: 115540 
							
						 
						
							2010-10-04 19:01:30 +00:00  
				
					
						
							
							
								 
						
							
								2b672e24a5 
								
							 
						 
						
							
							
								
								Still working on the basic design of <atomic>.  I'm working towards a system by which the compiler only needs to define the strongest intrinsics it can.  Weaker atomics in the library automatically try stronger and stronger variants, picking the weakest compiler intrinsic available.  If no compiler intrinsics are available for a given operation, the library locks a mutex and does the job.  Better documentation to follow...  
							
							... 
							
							
							
							llvm-svn: 115538 
							
						 
						
							2010-10-04 18:52:54 +00:00  
				
					
						
							
							
								 
						
							
								2ec672fff5 
								
							 
						 
						
							
							
								
								Tweak to make clang blocks work with std::functional (very fragile)  
							
							... 
							
							
							
							llvm-svn: 115461 
							
						 
						
							2010-10-03 13:59:56 +00:00  
				
					
						
							
							
								 
						
							
								748a5279b1 
								
							 
						 
						
							
							
								
								[atomics.flag] completed.  Initialization is not working on clang and can't be made to work without defaulted default constructors.  
							
							... 
							
							
							
							llvm-svn: 115207 
							
						 
						
							2010-09-30 21:05:29 +00:00  
				
					
						
							
							
								 
						
							
								a31e741ac9 
								
							 
						 
						
							
							
								
								Name change of intrinsics as suggested by Jeffrey Yasskin  
							
							... 
							
							
							
							llvm-svn: 115145 
							
						 
						
							2010-09-30 14:04:35 +00:00  
				
					
						
							
							
								 
						
							
								88efc1c7a5 
								
							 
						 
						
							
							
								
								Contemplating this <atomic> reorganization...  
							
							... 
							
							
							
							llvm-svn: 115087 
							
						 
						
							2010-09-29 21:20:03 +00:00  
				
					
						
							
							
								 
						
							
								7387390d6e 
								
							 
						 
						
							
							
								
								Wrestling with the slowly dawning realization that <atomic> isn't implementable on any compiler at my disposal...  
							
							... 
							
							
							
							llvm-svn: 115054 
							
						 
						
							2010-09-29 18:13:54 +00:00  
				
					
						
							
							
								 
						
							
								cfe0b0a1ab 
								
							 
						 
						
							
							
								
								[atomics.order]  
							
							... 
							
							
							
							llvm-svn: 114966 
							
						 
						
							2010-09-28 17:13:38 +00:00  
				
					
						
							
							
								 
						
							
								cd39d413b4 
								
							 
						 
						
							
							
								
								Getting started on <atomic>  
							
							... 
							
							
							
							llvm-svn: 114887 
							
						 
						
							2010-09-27 21:17:38 +00:00  
				
					
						
							
							
								 
						
							
								f5241d7586 
								
							 
						 
						
							
							
								
								Bugzilla 8231  
							
							... 
							
							
							
							llvm-svn: 114851 
							
						 
						
							2010-09-27 18:09:23 +00:00  
				
					
						
							
							
								 
						
							
								30ad985b6b 
								
							 
						 
						
							
							
								
								Cleaning up some tuple code.  
							
							... 
							
							
							
							llvm-svn: 114848 
							
						 
						
							2010-09-27 17:54:17 +00:00  
				
					
						
							
							
								 
						
							
								789847ddbb 
								
							 
						 
						
							
							
								
								visibility-decoration sweep completed.  
							
							... 
							
							
							
							llvm-svn: 114685 
							
						 
						
							2010-09-23 18:58:28 +00:00  
				
					
						
							
							
								 
						
							
								e060133553 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114671 
							
						 
						
							2010-09-23 17:31:07 +00:00  
				
					
						
							
							
								 
						
							
								53ec0b4e8e 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114658 
							
						 
						
							2010-09-23 16:27:36 +00:00  
				
					
						
							
							
								 
						
							
								3e84caaebb 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114647 
							
						 
						
							2010-09-23 15:13:20 +00:00  
				
					
						
							
							
								 
						
							
								392183f99d 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114559 
							
						 
						
							2010-09-22 18:02:38 +00:00  
				
					
						
							
							
								 
						
							
								848a5374d0 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114551 
							
						 
						
							2010-09-22 16:48:34 +00:00  
				
					
						
							
							
								 
						
							
								3030b2f1ab 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114545 
							
						 
						
							2010-09-22 15:29:08 +00:00  
				
					
						
							
							
								 
						
							
								a3988679f9 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114543 
							
						 
						
							2010-09-22 14:16:26 +00:00  
				
					
						
							
							
								 
						
							
								0af133f941 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114496 
							
						 
						
							2010-09-21 22:55:27 +00:00  
				
					
						
							
							
								 
						
							
								fb100021b7 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114486 
							
						 
						
							2010-09-21 21:28:23 +00:00  
				
					
						
							
							
								 
						
							
								f5ab703f68 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114470 
							
						 
						
							2010-09-21 20:16:37 +00:00  
				
					
						
							
							
								 
						
							
								35ae4a20cd 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114465 
							
						 
						
							2010-09-21 18:58:51 +00:00  
				
					
						
							
							
								 
						
							
								43d9923860 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114451 
							
						 
						
							2010-09-21 17:32:39 +00:00  
				
					
						
							
							
								 
						
							
								4c88c9803f 
								
							 
						 
						
							
							
								
								Getting started on a visibility-decoration sweep.  
							
							... 
							
							
							
							llvm-svn: 114440 
							
						 
						
							2010-09-21 16:04:28 +00:00  
				
					
						
							
							
								 
						
							
								d8e7922ba2 
								
							 
						 
						
							
							
								
								Tweak clang support for char16_t/char32_t  
							
							... 
							
							
							
							llvm-svn: 114129 
							
						 
						
							2010-09-16 23:27:26 +00:00  
				
					
						
							
							
								 
						
							
								03976c1b62 
								
							 
						 
						
							
							
								
								Cement ABI on clang for char16_t and char32_t.  Also fixed some comments in <iterator>.  
							
							... 
							
							
							
							llvm-svn: 113842 
							
						 
						
							2010-09-14 20:26:27 +00:00  
				
					
						
							
							
								 
						
							
								8fb62e398a 
								
							 
						 
						
							
							
								
								Experimenting with a new forward fomulation (kudos Daniel Kruegler), updated insert iterators to work better with pproxies, and doubled the speed of __next_prime.  
							
							... 
							
							
							
							llvm-svn: 113731 
							
						 
						
							2010-09-13 01:43:27 +00:00  
				
					
						
							
							
								 
						
							
								37030a77a0 
								
							 
						 
						
							
							
								
								Fix another const bug in function.  Thanks to Daniel Krugler for finding this and the previous bug.  
							
							... 
							
							
							
							llvm-svn: 113686 
							
						 
						
							2010-09-11 15:33:21 +00:00  
				
					
						
							
							
								 
						
							
								42daac442b 
								
							 
						 
						
							
							
								
								Fix const bug in function  
							
							... 
							
							
							
							llvm-svn: 113684 
							
						 
						
							2010-09-11 15:09:37 +00:00  
				
					
						
							
							
								 
						
							
								f9cca3b7d0 
								
							 
						 
						
							
							
								
								I am experimenting with putting visibility-default attributes on all struct/classes in libc++.  This checkin decorates only basic_string and vector as an experiment, and for review by those in this audience that might know more about visibilty than I do.  If I get no negative feedback on this procedure I will begin to decorate the entire library in this way.  
							
							... 
							
							
							
							llvm-svn: 113590 
							
						 
						
							2010-09-10 16:42:26 +00:00  
				
					
						
							
							
								 
						
							
								7d1c2a0f3a 
								
							 
						 
						
							
							
								
								Yonggang Luo fixed gcc version checking for type_traits support.  
							
							... 
							
							
							
							llvm-svn: 113487 
							
						 
						
							2010-09-09 13:58:34 +00:00  
				
					
						
							
							
								 
						
							
								10b9b7b4bd 
								
							 
						 
						
							
							
								
								Hooked the following up to clang:  is_class, is_enum, has_nothrow_copy_assign, has_trivial_destructor, has_virtual_destructor, is_pod.  Implemented has_copy_assign.  
							
							... 
							
							
							
							llvm-svn: 113373 
							
						 
						
							2010-09-08 17:55:32 +00:00  
				
					
						
							
							
								 
						
							
								331b3dd2ad 
								
							 
						 
						
							
							
								
								has_trivial_copy_assign hooked up to clang (without workarounds).  Filed  http://llvm.org/bugs/show_bug.cgi?id=8109  to take care of several types which don't work yet.  If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.  
							
							... 
							
							
							
							llvm-svn: 113312 
							
						 
						
							2010-09-07 23:38:59 +00:00  
				
					
						
							
							
								 
						
							
								bfc4026f4c 
								
							 
						 
						
							
							
								
								Made a stab at has_copy_constructor.  Got it mostly working for g++-4.0, but only works for scalar types on clang.  Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.  
							
							... 
							
							
							
							llvm-svn: 113304 
							
						 
						
							2010-09-07 23:11:28 +00:00  
				
					
						
							
							
								 
						
							
								06fc97019a 
								
							 
						 
						
							
							
								
								has_nothrow_copy_constructor hooked up to clang.  Filed  http://llvm.org/bugs/show_bug.cgi?id=8107  to take care of several types which don't work yet.  If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.  
							
							... 
							
							
							
							llvm-svn: 113294 
							
						 
						
							2010-09-07 22:09:07 +00:00  
				
					
						
							
							
								 
						
							
								01fd31000b 
								
							 
						 
						
							
							
								
								has_trivial_copy_constructor hooked up to clang.  Filed  http://llvm.org/bugs/show_bug.cgi?id=8105  to take care of void, arrays of incomplete bounds and complete bounds which don't work yet.  If there is some reason we don't want to handle these types in the compiler, I can handle them in the library.  
							
							... 
							
							
							
							llvm-svn: 113270 
							
						 
						
							2010-09-07 20:31:18 +00:00  
				
					
						
							
							
								 
						
							
								ba6f71b030 
								
							 
						 
						
							
							
								
								Made a stab at has_default_constructor.  Got it mostly working for g++-4.0, but only works for scalar types on clang.  Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.  
							
							... 
							
							
							
							llvm-svn: 113225 
							
						 
						
							2010-09-07 17:47:31 +00:00  
				
					
						
							
							
								 
						
							
								f336abfcd2 
								
							 
						 
						
							
							
								
								has_nothrow_default_constructor hooked up to clang.  Filed  http://llvm.org/bugs/show_bug.cgi?id=8101  to take care of void, arrays of incomplete types, and classes with virtual destructors which don't work yet.  If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.  
							
							... 
							
							
							
							llvm-svn: 113217 
							
						 
						
							2010-09-07 17:15:17 +00:00  
				
					
						
							
							
								 
						
							
								c3ed8c312e 
								
							 
						 
						
							
							
								
								has_trivial_default_constructor hooked up to clang.  Filed  http://llvm.org/bugs/show_bug.cgi?id=8097  to take care of void and arrays of incomplete types which don't work yet.  If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.  
							
							... 
							
							
							
							llvm-svn: 113205 
							
						 
						
							2010-09-07 15:53:26 +00:00  
				
					
						
							
							
								 
						
							
								db3e9975d0 
								
							 
						 
						
							
							
								
								Working the type_traits area: Hooked up to clang's __is_union.  Got has_trivial_copy_assign working.  
							
							... 
							
							
							
							llvm-svn: 113162 
							
						 
						
							2010-09-06 19:10:31 +00:00  
				
					
						
							
							
								 
						
							
								959cf8aede 
								
							 
						 
						
							
							
								
								Fix whitespace  
							
							... 
							
							
							
							llvm-svn: 113089 
							
						 
						
							2010-09-04 23:46:48 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7f2aae9937 
								
							 
						 
						
							
							
								
								Configure libc++ to recognize and use inline namespaces for clang.  Many, many thanks to Sebastian Redl for implementing it in clang, and to Daniel Dunbar for rattling my cage about it.  This is huge for libc++.  Thanks to you both\!  
							
							... 
							
							
							
							llvm-svn: 113026 
							
						 
						
							2010-09-03 23:03:25 +00:00  
				
					
						
							
							
								 
						
							
								b77c0c03bb 
								
							 
						 
						
							
							
								
								[futures.atomic_future] and notify_all_at_thread_exit.  This completes the header <future> and all of Chapter 30 (for C++0x enabled compilers).  
							
							... 
							
							
							
							llvm-svn: 113017 
							
						 
						
							2010-09-03 21:46:37 +00:00  
				
					
						
							
							
								 
						
							
								ead85506a7 
								
							 
						 
						
							
							
								
								[futures.shared_future]  
							
							... 
							
							
							
							llvm-svn: 112990 
							
						 
						
							2010-09-03 18:39:25 +00:00  
				
					
						
							
							
								 
						
							
								27f000e10b 
								
							 
						 
						
							
							
								
								[futures.task] and [futures.async].  Requires variadics and rvalue-ref support.  
							
							... 
							
							
							
							llvm-svn: 112500 
							
						 
						
							2010-08-30 18:46:21 +00:00  
				
					
						
							
							
								 
						
							
								8759d9d4d0 
								
							 
						 
						
							
							
								
								[futures.promise].  Depends on rvalue-ref support to work 100%.  
							
							... 
							
							
							
							llvm-svn: 112388 
							
						 
						
							2010-08-28 21:01:06 +00:00  
				
					
						
							
							
								 
						
							
								167fd1084b 
								
							 
						 
						
							
							
								
								future continues ...  
							
							... 
							
							
							
							llvm-svn: 112284 
							
						 
						
							2010-08-27 20:10:19 +00:00  
				
					
						
							
							
								 
						
							
								dae3481b28 
								
							 
						 
						
							
							
								
								Getting started on <future>  
							
							... 
							
							
							
							llvm-svn: 112061 
							
						 
						
							2010-08-25 17:32:05 +00:00  
				
					
						
							
							
								 
						
							
								fae824a32d 
								
							 
						 
						
							
							
								
								Remove tabs  
							
							... 
							
							
							
							llvm-svn: 111778 
							
						 
						
							2010-08-22 13:53:14 +00:00  
				
					
						
							
							
								 
						
							
								b3371f6f49 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111750 
							
						 
						
							2010-08-22 00:02:43 +00:00  
				
					
						
							
							
								 
						
							
								9f1102b7fe 
								
							 
						 
						
							
							
								
								US 108, N3109  
							
							... 
							
							
							
							llvm-svn: 111747 
							
						 
						
							2010-08-21 21:14:53 +00:00  
				
					
						
							
							
								 
						
							
								e8e7af2477 
								
							 
						 
						
							
							
								
								DE 23  
							
							... 
							
							
							
							llvm-svn: 111746 
							
						 
						
							2010-08-21 21:01:59 +00:00  
				
					
						
							
							
								 
						
							
								3db88036f6 
								
							 
						 
						
							
							
								
								US 117  
							
							... 
							
							
							
							llvm-svn: 111745 
							
						 
						
							2010-08-21 20:58:44 +00:00  
				
					
						
							
							
								 
						
							
								4eb27b79c1 
								
							 
						 
						
							
							
								
								US 122, N3106  
							
							... 
							
							
							
							llvm-svn: 111742 
							
						 
						
							2010-08-21 20:10:01 +00:00  
				
					
						
							
							
								 
						
							
								9b0b6d45d2 
								
							 
						 
						
							
							
								
								Installed allocator into std::function  
							
							... 
							
							
							
							llvm-svn: 111672 
							
						 
						
							2010-08-20 19:36:46 +00:00  
				
					
						
							
							
								 
						
							
								cbbc430d24 
								
							 
						 
						
							
							
								
								JP 3 & JP 4  
							
							... 
							
							
							
							llvm-svn: 111547 
							
						 
						
							2010-08-19 19:20:10 +00:00  
				
					
						
							
							
								 
						
							
								907af2668f 
								
							 
						 
						
							
							
								
								GB 85, GB 87  
							
							... 
							
							
							
							llvm-svn: 111546 
							
						 
						
							2010-08-19 19:15:54 +00:00  
				
					
						
							
							
								 
						
							
								de6d046575 
								
							 
						 
						
							
							
								
								DE 19  
							
							... 
							
							
							
							llvm-svn: 111544 
							
						 
						
							2010-08-19 19:09:08 +00:00  
				
					
						
							
							
								 
						
							
								1102fbbd67 
								
							 
						 
						
							
							
								
								US 98, US 99  
							
							... 
							
							
							
							llvm-svn: 111542 
							
						 
						
							2010-08-19 18:59:38 +00:00  
				
					
						
							
							
								 
						
							
								20cc2a42b8 
								
							 
						 
						
							
							
								
								US 107  
							
							... 
							
							
							
							llvm-svn: 111538 
							
						 
						
							2010-08-19 18:39:17 +00:00  
				
					
						
							
							
								 
						
							
								e57dc14c44 
								
							 
						 
						
							
							
								
								LWG 1278  
							
							... 
							
							
							
							llvm-svn: 111532 
							
						 
						
							2010-08-19 17:40:04 +00:00  
				
					
						
							
							
								 
						
							
								5e2f7b89e9 
								
							 
						 
						
							
							
								
								Updated by-chapter chart with weekly test results.  Also did some prototyping on result_of, but if-def'd out the prototyped part (which the LWG may or may not accept)  
							
							... 
							
							
							
							llvm-svn: 111389 
							
						 
						
							2010-08-18 18:52:04 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								14dcd3d1ff 
								
							 
						 
						
							
							
								
								[re.tokiter]  
							
							... 
							
							
							
							llvm-svn: 111278 
							
						 
						
							2010-08-17 20:42:03 +00:00  
				
					
						
							
							
								 
						
							
								2bf1fd99b1 
								
							 
						 
						
							
							
								
								[re.regiter]  
							
							... 
							
							
							
							llvm-svn: 111178 
							
						 
						
							2010-08-16 20:21:16 +00:00  
				
					
						
							
							
								 
						
							
								48b242a275 
								
							 
						 
						
							
							
								
								Everything under [re.results]  
							
							... 
							
							
							
							llvm-svn: 111074 
							
						 
						
							2010-08-14 18:14:02 +00:00  
				
					
						
							
							
								 
						
							
								5cd6658798 
								
							 
						 
						
							
							
								
								Everything under [re.regex]  
							
							... 
							
							
							
							llvm-svn: 111024 
							
						 
						
							2010-08-13 18:11:23 +00:00  
				
					
						
							
							
								 
						
							
								3d87b69f7d 
								
							 
						 
						
							
							
								
								Filling out regex tests...  
							
							... 
							
							
							
							llvm-svn: 110955 
							
						 
						
							2010-08-12 21:14:20 +00:00  
				
					
						
							
							
								 
						
							
								54b409fdb9 
								
							 
						 
						
							
							
								
								now works with -fno-exceptions and -fno-rtti  
							
							... 
							
							
							
							llvm-svn: 110828 
							
						 
						
							2010-08-11 17:04:31 +00:00  
				
					
						
							
							
								 
						
							
								37aab7674a 
								
							 
						 
						
							
							
								
								#ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available.  
							
							... 
							
							
							
							llvm-svn: 110827 
							
						 
						
							2010-08-11 16:52:41 +00:00  
				
					
						
							
							
								 
						
							
								2a072dde4b 
								
							 
						 
						
							
							
								
								Include sys/endian.h on FreeBSD and use that to detect the byte order.  
							
							... 
							
							
							
							llvm-svn: 110824 
							
						 
						
							2010-08-11 16:27:20 +00:00  
				
					
						
							
							
								 
						
							
								08b0997cc1 
								
							 
						 
						
							
							
								
								Modified the definition of std::foward to address National Body Comment US 90  
							
							... 
							
							
							
							llvm-svn: 110805 
							
						 
						
							2010-08-11 14:05:55 +00:00  
				
					
						
							
							
								 
						
							
								2bcfef5e9c 
								
							 
						 
						
							
							
								
								Fix conflict with cstring and using namespace std  
							
							... 
							
							
							
							llvm-svn: 110736 
							
						 
						
							2010-08-10 21:57:23 +00:00  
				
					
						
							
							
								 
						
							
								eb2692571f 
								
							 
						 
						
							
							
								
								patch by Jesse Towner, and bug fix by Sebastian Redl  
							
							... 
							
							
							
							llvm-svn: 110724 
							
						 
						
							2010-08-10 20:48:29 +00:00  
				
					
						
							
							
								 
						
							
								e7b3e177c4 
								
							 
						 
						
							
							
								
								Let C lib supply stdbool.h  
							
							... 
							
							
							
							llvm-svn: 109894 
							
						 
						
							2010-07-30 21:28:27 +00:00  
				
					
						
							
							
								 
						
							
								a8e3da215c 
								
							 
						 
						
							
							
								
								Make complex.h play nice with C  
							
							... 
							
							
							
							llvm-svn: 109791 
							
						 
						
							2010-07-29 18:43:15 +00:00  
				
					
						
							
							
								 
						
							
								7189782c6b 
								
							 
						 
						
							
							
								
								bug fix concerning search not at beginning of string and word boundaries  
							
							... 
							
							
							
							llvm-svn: 109750 
							
						 
						
							2010-07-29 15:17:28 +00:00  
				
					
						
							
							
								 
						
							
								7949ab0743 
								
							 
						 
						
							
							
								
								fix bug incrementing past end in search  
							
							... 
							
							
							
							llvm-svn: 109716 
							
						 
						
							2010-07-29 01:15:27 +00:00  
				
					
						
							
							
								 
						
							
								4ea5240e05 
								
							 
						 
						
							
							
								
								fix parse bug in ecma non-greedy loop  
							
							... 
							
							
							
							llvm-svn: 109711 
							
						 
						
							2010-07-29 00:36:00 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								c1124300fe 
								
							 
						 
						
							
							
								
								lookahead for ecma  
							
							... 
							
							
							
							llvm-svn: 109548 
							
						 
						
							2010-07-27 22:20:32 +00:00  
				
					
						
							
							
								 
						
							
								93da3b2e41 
								
							 
						 
						
							
							
								
								grep and egrep grammars  
							
							... 
							
							
							
							llvm-svn: 109534 
							
						 
						
							2010-07-27 19:53:10 +00:00  
				
					
						
							
							
								 
						
							
								6afe8b0a23 
								
							 
						 
						
							
							
								
								continued regex development...  
							
							... 
							
							
							
							llvm-svn: 109512 
							
						 
						
							2010-07-27 17:24:17 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								b762bea3ba 
								
							 
						 
						
							
							
								
								A few more tests for posix extended alternation  
							
							... 
							
							
							
							llvm-svn: 109107 
							
						 
						
							2010-07-22 14:12:20 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								6ded099399 
								
							 
						 
						
							
							
								
								Tests for basic posix regex templated on wchar_t  
							
							... 
							
							
							
							llvm-svn: 108435 
							
						 
						
							2010-07-15 18:18:07 +00:00  
				
					
						
							
							
								 
						
							
								5d695f041c 
								
							 
						 
						
							
							
								
								Fixed to work with generalized iterators.  
							
							... 
							
							
							
							llvm-svn: 108359 
							
						 
						
							2010-07-14 21:14:52 +00:00  
				
					
						
							
							
								 
						
							
								5699358c63 
								
							 
						 
						
							
							
								
								Minor optimizations.  Minor bug fixes.  More tests.  
							
							... 
							
							
							
							llvm-svn: 108331 
							
						 
						
							2010-07-14 15:45:11 +00:00  
				
					
						
							
							
								 
						
							
								8ab959c961 
								
							 
						 
						
							
							
								
								Bracket expressions are working (lightly tested).  
							
							... 
							
							
							
							llvm-svn: 108280 
							
						 
						
							2010-07-13 21:48:06 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								aea2afe334 
								
							 
						 
						
							
							
								
								back references for BRE  
							
							... 
							
							
							
							llvm-svn: 108168 
							
						 
						
							2010-07-12 18:16:05 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								928658cd70 
								
							 
						 
						
							
							
								
								First test for marked subexpressions  
							
							... 
							
							
							
							llvm-svn: 107317 
							
						 
						
							2010-06-30 20:30:19 +00:00  
				
					
						
							
							
								 
						
							
								237ee6fef8 
								
							 
						 
						
							
							
								
								First, very primitive, search results on one engine  
							
							... 
							
							
							
							llvm-svn: 107294 
							
						 
						
							2010-06-30 17:22:19 +00:00  
				
					
						
							
							
								 
						
							
								cdefdeee28 
								
							 
						 
						
							
							
								
								two steps forward, one step back...  
							
							... 
							
							
							
							llvm-svn: 107230 
							
						 
						
							2010-06-30 00:21:42 +00:00  
				
					
						
							
							
								 
						
							
								e5561b04e4 
								
							 
						 
						
							
							
								
								[re.submatch]  
							
							... 
							
							
							
							llvm-svn: 107187 
							
						 
						
							2010-06-29 18:37:43 +00:00  
				
					
						
							
							
								 
						
							
								853aff80dd 
								
							 
						 
						
							
							
								
								regex: learning to crawl  
							
							... 
							
							
							
							llvm-svn: 106882 
							
						 
						
							2010-06-25 20:56:08 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								70505305c1 
								
							 
						 
						
							
							
								
								Just getting our toes wet on <regex>  
							
							... 
							
							
							
							llvm-svn: 106187 
							
						 
						
							2010-06-17 00:34:59 +00:00  
				
					
						
							
							
								 
						
							
								d1803b6c87 
								
							 
						 
						
							
							
								
								[util.smartptr.hash]  
							
							... 
							
							
							
							llvm-svn: 105393 
							
						 
						
							2010-06-03 16:42:57 +00:00  
				
					
						
							
							
								 
						
							
								8ae5097f81 
								
							 
						 
						
							
							
								
								for Ubuntu  
							
							... 
							
							
							
							llvm-svn: 105338 
							
						 
						
							2010-06-02 18:53:22 +00:00  
				
					
						
							
							
								 
						
							
								2234ef3407 
								
							 
						 
						
							
							
								
								I've reverted the changes needed for Ubuntu.  The changes for Ubuntu should go under a #if and I'm not sure what that #if should look like.  
							
							... 
							
							
							
							llvm-svn: 105337 
							
						 
						
							2010-06-02 18:41:21 +00:00  
				
					
						
							
							
								 
						
							
								cbbf633edb 
								
							 
						 
						
							
							
								
								[string.conversions]  
							
							... 
							
							
							
							llvm-svn: 105336 
							
						 
						
							2010-06-02 18:20:39 +00:00  
				
					
						
							
							
								 
						
							
								6508e9936c 
								
							 
						 
						
							
							
								
								[conversions.buffer]  
							
							... 
							
							
							
							llvm-svn: 105286 
							
						 
						
							2010-06-01 20:09:18 +00:00  
				
					
						
							
							
								 
						
							
								5d3c11337a 
								
							 
						 
						
							
							
								
								[conversions.string]  
							
							... 
							
							
							
							llvm-svn: 105254 
							
						 
						
							2010-05-31 20:58:54 +00:00  
				
					
						
							
							
								 
						
							
								0c17e32edd 
								
							 
						 
						
							
							
								
								[locale.stdcvt]  
							
							... 
							
							
							
							llvm-svn: 105174 
							
						 
						
							2010-05-30 21:39:41 +00:00  
				
					
						
							
							
								 
						
							
								bc3c5dc767 
								
							 
						 
						
							
							
								
								Fixed [support.types].  <cstddef> wasn't definining NULL or offsetof.  
							
							... 
							
							
							
							llvm-svn: 104982 
							
						 
						
							2010-05-28 18:04:31 +00:00  
				
					
						
							
							
								 
						
							
								9d4a2861bb 
								
							 
						 
						
							
							
								
								[support.initlist.range]  
							
							... 
							
							
							
							llvm-svn: 104975 
							
						 
						
							2010-05-28 17:53:59 +00:00  
				
					
						
							
							
								 
						
							
								03ec83e9e8 
								
							 
						 
						
							
							
								
								Implemented some adaptor constructors which I had missed.  
							
							... 
							
							
							
							llvm-svn: 104946 
							
						 
						
							2010-05-28 15:49:54 +00:00  
				
					
						
							
							
								 
						
							
								a391bc1323 
								
							 
						 
						
							
							
								
								Corrected rethrow_if_nested  
							
							... 
							
							
							
							llvm-svn: 104943 
							
						 
						
							2010-05-28 13:35:41 +00:00  
				
					
						
							
							
								 
						
							
								c8edcb3651 
								
							 
						 
						
							
							
								
								weekly test results plus a bug fix clang found  
							
							... 
							
							
							
							llvm-svn: 104877 
							
						 
						
							2010-05-27 20:06:01 +00:00  
				
					
						
							
							
								 
						
							
								019fe4b8fd 
								
							 
						 
						
							
							
								
								[except.nested]  
							
							... 
							
							
							
							llvm-svn: 104850 
							
						 
						
							2010-05-27 17:06:52 +00:00  
				
					
						
							
							
								 
						
							
								40c7ef90b2 
								
							 
						 
						
							
							
								
								[numeric.iota]  
							
							... 
							
							
							
							llvm-svn: 104719 
							
						 
						
							2010-05-26 18:53:44 +00:00  
				
					
						
							
							
								 
						
							
								f9d540b062 
								
							 
						 
						
							
							
								
								Completed [alg.random.shuffle].  
							
							... 
							
							
							
							llvm-svn: 104708 
							
						 
						
							2010-05-26 17:49:34 +00:00  
				
					
						
							
							
								 
						
							
								b4d2fd2f0f 
								
							 
						 
						
							
							
								
								[rand.dist.samp.plinear].  This means we've got a fully tested and functional <random>! 489 tests over 48 sections are passing. :-)  The only thing still on my plate in this area is to back-port some of this technology to random_shuffle/shuffle in <algorithm>.  That will involve shuffling header bits around (<random> depepends on <algorithm>), but it won't entail that much development (compared to what has been required for <random>).  
							
							... 
							
							
							
							llvm-svn: 104575 
							
						 
						
							2010-05-25 00:27:34 +00:00  
				
					
						
							
							
								 
						
							
								128ba7191d 
								
							 
						 
						
							
							
								
								patch by Jeffrey Yasskin for porting to Ubuntu Hardy.  Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series.  For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.  
							
							... 
							
							
							
							llvm-svn: 104516 
							
						 
						
							2010-05-24 17:49:41 +00:00  
				
					
						
							
							
								 
						
							
								5d6a2e509f 
								
							 
						 
						
							
							
								
								Optimized [rand.dist.samp.pconst] and several bug fixes in other distributions  
							
							... 
							
							
							
							llvm-svn: 104478 
							
						 
						
							2010-05-24 00:35:40 +00:00  
				
					
						
							
							
								 
						
							
								e302eab415 
								
							 
						 
						
							
							
								
								[rand.dist.samp.pconst] plus some bug fixes in the tests of the other distributions  
							
							... 
							
							
							
							llvm-svn: 104224 
							
						 
						
							2010-05-20 15:11:46 +00:00  
				
					
						
							
							
								 
						
							
								fb0e5ec825 
								
							 
						 
						
							
							
								
								[rand.dist.samp.discrete]  
							
							... 
							
							
							
							llvm-svn: 104103 
							
						 
						
							2010-05-19 01:53:57 +00:00  
				
					
						
							
							
								 
						
							
								ecbb921cbf 
								
							 
						 
						
							
							
								
								[rand.dist.norm.t]  
							
							... 
							
							
							
							llvm-svn: 104052 
							
						 
						
							2010-05-18 20:08:04 +00:00  
				
					
						
							
							
								 
						
							
								e31e36f910 
								
							 
						 
						
							
							
								
								[rand.dist.norm.f]  
							
							... 
							
							
							
							llvm-svn: 104035 
							
						 
						
							2010-05-18 17:32:30 +00:00  
				
					
						
							
							
								 
						
							
								6692b261d8 
								
							 
						 
						
							
							
								
								[rand.dist.norm.cauchy].  I'm having trouble testing the output as all statistical properties are undefined.  They do not converge upon any one value as the number of samples increases.  Suggestions for tests welcome.  
							
							... 
							
							
							
							llvm-svn: 103983 
							
						 
						
							2010-05-17 21:55:46 +00:00  
				
					
						
							
							
								 
						
							
								fd5c3a34e3 
								
							 
						 
						
							
							
								
								[rand.dist.norm.lognormal]  
							
							... 
							
							
							
							llvm-svn: 103957 
							
						 
						
							2010-05-17 18:31:53 +00:00  
				
					
						
							
							
								 
						
							
								c675d983f6 
								
							 
						 
						
							
							
								
								[rand.dist.pois.extreme]  
							
							... 
							
							
							
							llvm-svn: 103942 
							
						 
						
							2010-05-17 16:21:56 +00:00  
				
					
						
							
							
								 
						
							
								05fa30d595 
								
							 
						 
						
							
							
								
								[rand.dist.bern.geo]  
							
							... 
							
							
							
							llvm-svn: 103937 
							
						 
						
							2010-05-17 13:44:27 +00:00  
				
					
						
							
							
								 
						
							
								89eaea24bc 
								
							 
						 
						
							
							
								
								[rand.dist.bern.negbin]  
							
							... 
							
							
							
							llvm-svn: 103916 
							
						 
						
							2010-05-17 00:09:38 +00:00  
				
					
						
							
							
								 
						
							
								45a999719b 
								
							 
						 
						
							
							
								
								Beefed up the tests for all of the distributions to include checks against the expected skewness and kurtosis  
							
							... 
							
							
							
							llvm-svn: 103910 
							
						 
						
							2010-05-16 17:56:20 +00:00  
				
					
						
							
							
								 
						
							
								b8829825f1 
								
							 
						 
						
							
							
								
								[rand.dist.pois.weibull]  
							
							... 
							
							
							
							llvm-svn: 103891 
							
						 
						
							2010-05-16 01:09:02 +00:00  
				
					
						
							
							
								 
						
							
								e3900731f6 
								
							 
						 
						
							
							
								
								[rand.dist.norm.chisq]  
							
							... 
							
							
							
							llvm-svn: 103888 
							
						 
						
							2010-05-15 23:36:00 +00:00  
				
					
						
							
							
								 
						
							
								932ce81fe9 
								
							 
						 
						
							
							
								
								Revisited [rand.dist.bern.bin] and [rand.dist.pois.poisson] with better algorithms  
							
							... 
							
							
							
							llvm-svn: 103886 
							
						 
						
							2010-05-15 21:36:23 +00:00  
				
					
						
							
							
								 
						
							
								0e675818f1 
								
							 
						 
						
							
							
								
								[rand.dist.pois.poisson]  
							
							... 
							
							
							
							llvm-svn: 103814 
							
						 
						
							2010-05-14 21:38:54 +00:00  
				
					
						
							
							
								 
						
							
								111e0cbe51 
								
							 
						 
						
							
							
								
								add headers and implementation for <new>, <exception>, and <typeinfo>  
							
							... 
							
							
							
							llvm-svn: 103795 
							
						 
						
							2010-05-14 20:19:37 +00:00  
				
					
						
							
							
								 
						
							
								7070922ff8 
								
							 
						 
						
							
							
								
								[rand.dist.pois.gamma]  
							
							... 
							
							
							
							llvm-svn: 103788 
							
						 
						
							2010-05-14 18:43:10 +00:00  
				
					
						
							
							
								 
						
							
								f8bfb45e9b 
								
							 
						 
						
							
							
								
								partial [rand.dist.pois.gamma]  
							
							... 
							
							
							
							llvm-svn: 103722 
							
						 
						
							2010-05-13 17:58:28 +00:00  
				
					
						
							
							
								 
						
							
								6f97c4e7bc 
								
							 
						 
						
							
							
								
								[rand.dist.norm.normal]  
							
							... 
							
							
							
							llvm-svn: 103646 
							
						 
						
							2010-05-12 21:02:31 +00:00  
				
					
						
							
							
								 
						
							
								bcc4ff0db0 
								
							 
						 
						
							
							
								
								[rand.dist.pois.exp]  
							
							... 
							
							
							
							llvm-svn: 103621 
							
						 
						
							2010-05-12 17:08:57 +00:00  
				
					
						
							
							
								 
						
							
								deb23ecdf9 
								
							 
						 
						
							
							
								
								[rand.dist.bern.bin].  The evaluation function for this binomial distribution is hopefully just a placeholder.  It is using the simplest and slowest method for computing the distribution and needs to be upgraded.  
							
							... 
							
							
							
							llvm-svn: 103524 
							
						 
						
							2010-05-11 23:26:59 +00:00  
				
					
						
							
							
								 
						
							
								5b08a8a432 
								
							 
						 
						
							
							
								
								Wiped out some non-ascii characters that snuck into the copyright.  
							
							... 
							
							
							
							llvm-svn: 103516 
							
						 
						
							2010-05-11 21:36:01 +00:00  
				
					
						
							
							
								 
						
							
								3e519524c1 
								
							 
						 
						
							
							
								
								libcxx initial import  
							
							... 
							
							
							
							llvm-svn: 103490 
							
						 
						
							2010-05-11 19:42:16 +00:00