d3673eb4e1 
								
							 
						 
						
							
							
								
								Andrew Morrow: The attached patch is an attempt to implement  
							
							... 
							
							
							
							std:🧵 :hardware_concurrency for platforms that don't offer
sysctl, but do provide a POSIX sysconf and _SC_NPROCESSORS_ONLN.
llvm-svn: 161190 
							
						 
						
							2012-08-02 18:17:49 +00:00  
				
					
						
							
							
								 
						
							
								a30af5f7cd 
								
							 
						 
						
							
							
								
								Andrew Morrow: This patch fixes  
							
							... 
							
							
							
							test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
to accept '(nil)' as a valid representation for NULL so that the test
passes on Linux. The same thing is already done in some other tests,
like in /test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp.
llvm-svn: 161188 
							
						 
						
							2012-08-02 18:12:06 +00:00  
				
					
						
							
							
								 
						
							
								8eb04fe53c 
								
							 
						 
						
							
							
								
								Andrew Morrow: Attached is a writeup of the current state of the libc++ test suite on Linux.  
							
							... 
							
							
							
							There are a few tests that are listed as failing here for which I have
a patch in the works. I'll be sending those along soon. There are
others where I know what is going on but don't yet have a solution,
and I've included some notes for those. Several still need to be
investigated, mostly in localization and the regex test suite. I think
that many of these failures are due to locale implementation
variations that make the expected test results not match the actual
results. I'm not sure what the best way to make the tests accomodate
this sort of variation might be.
The failures in the unique_ptr test suite are very new and are caused
by a clang crash which I've not yet looked into.
llvm-svn: 161079 
							
						 
						
							2012-07-31 21:30:28 +00:00  
				
					
						
							
							
								 
						
							
								088e37c77a 
								
							 
						 
						
							
							
								
								Despite my pathological distrust of spin locks, the number just don't lie.  I've put a small spin in __sp_mut::lock() on std::mutex::try_lock(), which is testing quite well.  In my experience, putting in a yield for every failed iteration is also a major performance booster.  This change makes one of the performance tests I was using (a highly contended one) run about 20 times faster.  
							
							... 
							
							
							
							llvm-svn: 160967 
							
						 
						
							2012-07-30 17:13:21 +00:00  
				
					
						
							
							
								 
						
							
								355b660a4b 
								
							 
						 
						
							
							
								
								Updated status  
							
							... 
							
							
							
							llvm-svn: 160959 
							
						 
						
							2012-07-30 13:59:36 +00:00  
				
					
						
							
							
								 
						
							
								fe9fe2dedc 
								
							 
						 
						
							
							
								
								Updated the complete by-chapter graph  
							
							... 
							
							
							
							llvm-svn: 160943 
							
						 
						
							2012-07-30 02:29:34 +00:00  
				
					
						
							
							
								 
						
							
								d77851e837 
								
							 
						 
						
							
							
								
								Implement [util.smartptr.shared.atomic].  This is the last unimplemented  
							
							... 
							
							
							
							section in libc++.  This requires a recompiled dylib.  Failure to rebuild
the dylib will result in a link-time error if and only if the functions from
[util.smartptr.shared.atomic] are used.
The implementation is not lock free.  After considerable thought, I know of no
way to make the implementation lock free.  Ideas welcome along that front.  But
changing the ABI of shared_ptr is not on the table at this point.
The mutex used to lock these function is encapsulated by std::__sp_mut.  The
only thing the client knows about std::__sp_mut is that it has a void* data
member, can't be constructed, and has lock and unlock members.  Within the
binary __sp_mut is currently implemented as a pointer to a std::mutex.  That can
change in the future without disturbing the ABI (as long as sizeof(__sp_mut)
remains constant.
I specifically did not make __sp_mut a spin lock as I have a pathological
distrust of spin locks.  Testing on OS X reveals that the use of std::mutex in
this role is not a large performance penalty as long as the contention for the
mutex is low (more likely to get the lock than to have to wait).  In the future
we can still make __sp_mut a spin lock if that is what is desired (without ABI
damage).
The dylib contains 16 __sp_mut's to be chosen based on the hash of the address
of the shared_ptr.  The constant 16 is a ball-park reasonable space/time
tradeoff.
std::hash<T*> was changed to call __murmur2_or_cityhash, instead of the identity
function.  I had thought we had already done this, but I was mistaken.
All of this is under #if __has_feature(cxx_atomic) even though the
implementation is not lock free, because the signatures require access to
std::memory_order, which is currently available only under
__has_feature(cxx_atomic).
llvm-svn: 160940 
							
						 
						
							2012-07-30 01:40:57 +00:00  
				
					
						
							
							
								 
						
							
								c2e9354004 
								
							 
						 
						
							
							
								
								Update CREDITS.TXT  
							
							... 
							
							
							
							llvm-svn: 160812 
							
						 
						
							2012-07-26 20:22:37 +00:00  
				
					
						
							
							
								 
						
							
								c904ad4518 
								
							 
						 
						
							
							
								
								Patch by Andrew C. Morrow:  shims to work around macroized getc and putc on linux.  On my eglibc 2.13 based Debian system 'getc' is a macro defined in  
							
							... 
							
							
							
							/usr/include/stdio.h. This decision to make it a macro doesn't seem to
be guarded by any feature test macro as far as I can see.
llvm-svn: 160799 
							
						 
						
							2012-07-26 20:01:13 +00:00  
				
					
						
							
							
								 
						
							
								dce0696a36 
								
							 
						 
						
							
							
								
								Patch by Andrew C. Morrow:  Conditionally include cxxabi.h in new.cpp and typeinfo.cpp.  Both new.cpp and typeinfo.cpp have code that is conditionally compiled  
							
							... 
							
							
							
							based on the LIBCXXRT and _LIBCPPABI_VERSION defines, but those files
do not currently include <cxxabi.h> in the non __APPLE__ case. The
attached patch updates those files so that for non __APPLE__ builds
<cxxabi.h> is included if available or if LIBCXXRT is set. I'm
modeling this on the recent updates to exception.cpp.
llvm-svn: 160790 
							
						 
						
							2012-07-26 17:42:39 +00:00  
				
					
						
							
							
								 
						
							
								a1d07d57a7 
								
							 
						 
						
							
							
								
								<algorithm> no longer needs to include <cstdlib>, but can get away with just <cstddef>.  This was brought to my attention by Salvatore Benedetto in his port to a bare-metal coretex-m3.  This exposed two test bugs where an explicit #include <cstdlib> was needed.  
							
							... 
							
							
							
							llvm-svn: 160786 
							
						 
						
							2012-07-26 17:09:09 +00:00  
				
					
						
							
							
								 
						
							
								6a03f169db 
								
							 
						 
						
							
							
								
								locale::id really needs to be constructed at compile time.  
							
							... 
							
							
							
							llvm-svn: 160785 
							
						 
						
							2012-07-26 16:14:37 +00:00  
				
					
						
							
							
								 
						
							
								535a86c3f8 
								
							 
						 
						
							
							
								
								libc++: switch from using _ATTRIBUTE(noreturn) (which conflicts with a  
							
							... 
							
							
							
							platform-provided macro on some systems) to _LIBCPP_NORETURN.
llvm-svn: 160773 
							
						 
						
							2012-07-26 02:04:22 +00:00  
				
					
						
							
							
								 
						
							
								9d772d17b3 
								
							 
						 
						
							
							
								
								Apple LWG 2067:  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3318.html#2067  .  This is the only actionable change that has been made to the C++ draft since C++11.  In general it has not been decided exactly how libc++ will track changes made to C++11.  New features and design changes will probably be #ifdef'd, especially if they are not backwards compatible.  Defects and 'dumb mistakes' are more likely to just be put in.  Decisions on telling one from the other will be made on a case by case basis.  
							
							... 
							
							
							
							llvm-svn: 160608 
							
						 
						
							2012-07-21 19:34:12 +00:00  
				
					
						
							
							
								 
						
							
								a4820bc4d5 
								
							 
						 
						
							
							
								
								noexcept applied to <future>.  
							
							... 
							
							
							
							llvm-svn: 160607 
							
						 
						
							2012-07-21 17:46:55 +00:00  
				
					
						
							
							
								 
						
							
								36101a5b0a 
								
							 
						 
						
							
							
								
								noexcept applied to <thread>.  
							
							... 
							
							
							
							llvm-svn: 160606 
							
						 
						
							2012-07-21 16:50:47 +00:00  
				
					
						
							
							
								 
						
							
								45c663db4e 
								
							 
						 
						
							
							
								
								noexcept applied to <condition_variable>.  
							
							... 
							
							
							
							llvm-svn: 160605 
							
						 
						
							2012-07-21 16:32:53 +00:00  
				
					
						
							
							
								 
						
							
								02e610ef34 
								
							 
						 
						
							
							
								
								noexcept and constexpr applied to <mutex>.  
							
							... 
							
							
							
							llvm-svn: 160604 
							
						 
						
							2012-07-21 16:13:09 +00:00  
				
					
						
							
							
								 
						
							
								42be98ab54 
								
							 
						 
						
							
							
								
								noexcept and constexpr applied to <regex>.  
							
							... 
							
							
							
							llvm-svn: 160594 
							
						 
						
							2012-07-21 01:31:58 +00:00  
				
					
						
							
							
								 
						
							
								5d926bf1b8 
								
							 
						 
						
							
							
								
								noexcept and constexpr applied to <ios>.  
							
							... 
							
							
							
							llvm-svn: 160593 
							
						 
						
							2012-07-21 01:03:40 +00:00  
				
					
						
							
							
								 
						
							
								bf882037be 
								
							 
						 
						
							
							
								
								noexcept applied to <valarray>.  
							
							... 
							
							
							
							llvm-svn: 160592 
							
						 
						
							2012-07-21 00:51:28 +00:00  
				
					
						
							
							
								 
						
							
								f4e11de8e8 
								
							 
						 
						
							
							
								
								constexpr applied to <complex>.  
							
							... 
							
							
							
							llvm-svn: 160585 
							
						 
						
							2012-07-20 22:18:27 +00:00  
				
					
						
							
							
								 
						
							
								00586de436 
								
							 
						 
						
							
							
								
								noexcept applied to <random>.  
							
							... 
							
							
							
							llvm-svn: 160579 
							
						 
						
							2012-07-20 21:44:27 +00:00  
				
					
						
							
							
								 
						
							
								11ac39722c 
								
							 
						 
						
							
							
								
								Relax the tolerances on some timing tests.  
							
							... 
							
							
							
							llvm-svn: 160566 
							
						 
						
							2012-07-20 19:48:05 +00:00  
				
					
						
							
							
								 
						
							
								8e882dcb2e 
								
							 
						 
						
							
							
								
								noexcept applied to <iterator>.  
							
							... 
							
							
							
							llvm-svn: 160565 
							
						 
						
							2012-07-20 19:36:34 +00:00  
				
					
						
							
							
								 
						
							
								397717b7c8 
								
							 
						 
						
							
							
								
								constexpr applied to <array>.  
							
							... 
							
							
							
							llvm-svn: 160564 
							
						 
						
							2012-07-20 19:20:49 +00:00  
				
					
						
							
							
								 
						
							
								931644bfec 
								
							 
						 
						
							
							
								
								constexpr applied to <string>.  
							
							... 
							
							
							
							llvm-svn: 160563 
							
						 
						
							2012-07-20 19:09:12 +00:00  
				
					
						
							
							
								 
						
							
								14c56f6c4a 
								
							 
						 
						
							
							
								
								Further tweaks on relaxing complete type checking for function.  
							
							... 
							
							
							
							llvm-svn: 160562 
							
						 
						
							2012-07-20 18:56:07 +00:00  
				
					
						
							
							
								 
						
							
								07ce90bb9d 
								
							 
						 
						
							
							
								
								Jean-Daniel : clang now supports all required type_traits.  
							
							... 
							
							
							
							llvm-svn: 160510 
							
						 
						
							2012-07-19 15:59:52 +00:00  
				
					
						
							
							
								 
						
							
								51eb2adb2d 
								
							 
						 
						
							
							
								
								Jean-Daniel updates the libc++ index page to reflect not so recent changes in C++ standard status.  
							
							... 
							
							
							
							llvm-svn: 160509 
							
						 
						
							2012-07-19 15:57:51 +00:00  
				
					
						
							
							
								 
						
							
								403845ba75 
								
							 
						 
						
							
							
								
								Relax the complete-type checks that are happening under __invokable<Fp, Args...> to only check Fp, and not Args... .  This should be sufficient to give the desired high quality diagnostics under both bind and function.  And this allows a test reported by Rich E on cfe-dev to pass.  Tracked by <rdar://problem/11880602>.  
							
							... 
							
							
							
							llvm-svn: 160285 
							
						 
						
							2012-07-16 16:17:34 +00:00  
				
					
						
							
							
								 
						
							
								c033115394 
								
							 
						 
						
							
							
								
								Applied constexpr to <chrono>.  
							
							... 
							
							
							
							llvm-svn: 160184 
							
						 
						
							2012-07-13 19:17:27 +00:00  
				
					
						
							
							
								 
						
							
								9146984e73 
								
							 
						 
						
							
							
								
								Fixed a bug in wstring_convert concerning zero-length inputs.  Thanks to Jonathan Coxhead for reporting this bug.  
							
							... 
							
							
							
							llvm-svn: 160136 
							
						 
						
							2012-07-12 18:07:41 +00:00  
				
					
						
							
							
								 
						
							
								ceefe51364 
								
							 
						 
						
							
							
								
								Teach libc++ to check for libc++abi and use its features if they're available.  
							
							... 
							
							
							
							llvm-svn: 160038 
							
						 
						
							2012-07-11 09:35:47 +00:00  
				
					
						
							
							
								 
						
							
								38b99b025c 
								
							 
						 
						
							
							
								
								Add test for self-referencing emplace test.  
							
							... 
							
							
							
							llvm-svn: 159921 
							
						 
						
							2012-07-09 02:47:43 +00:00  
				
					
						
							
							
								 
						
							
								598f702b04 
								
							 
						 
						
							
							
								
								Change emplace for vector and deque to create the temporary (when necessary) before any changes to the container are made.  Nikolay Ivchenkov deserves the credit for pushing this problem and the solution for it.  
							
							... 
							
							
							
							llvm-svn: 159918 
							
						 
						
							2012-07-08 23:23:04 +00:00  
				
					
						
							
							
								 
						
							
								c0937e8add 
								
							 
						 
						
							
							
								
								Appy constexpr to <memory>.  Picked up a few missing noexcepts as well.  
							
							... 
							
							
							
							llvm-svn: 159902 
							
						 
						
							2012-07-07 20:56:04 +00:00  
				
					
						
							
							
								 
						
							
								bfa7990b5a 
								
							 
						 
						
							
							
								
								Apply constexpr to the mutex constructor.  As a conforming extension, apply constexpr to the condition_variable constructor.  These are important because it enables the compiler to construct these types at compile time, even though the object will be non-const.  Since they are constructed at compile time, there is no chance of a data race before they are constructed.  
							
							... 
							
							
							
							llvm-svn: 159901 
							
						 
						
							2012-07-07 20:01:52 +00:00  
				
					
						
							
							
								 
						
							
								eeac9fcfb7 
								
							 
						 
						
							
							
								
								Apply constexpr to <bitset>.  
							
							... 
							
							
							
							llvm-svn: 159899 
							
						 
						
							2012-07-07 17:04:52 +00:00  
				
					
						
							
							
								 
						
							
								8a9ee14803 
								
							 
						 
						
							
							
								
								Apply noexcept to tuple.  
							
							... 
							
							
							
							llvm-svn: 159865 
							
						 
						
							2012-07-06 21:53:48 +00:00  
				
					
						
							
							
								 
						
							
								a0f4c45c38 
								
							 
						 
						
							
							
								
								As a conforming extension give tuple a noexcept default constructor conditionalized on its held types.  
							
							... 
							
							
							
							llvm-svn: 159858 
							
						 
						
							2012-07-06 20:50:27 +00:00  
				
					
						
							
							
								 
						
							
								a62ebe043e 
								
							 
						 
						
							
							
								
								Give tuple a constexpr default constructor.  
							
							... 
							
							
							
							llvm-svn: 159857 
							
						 
						
							2012-07-06 20:39:45 +00:00  
				
					
						
							
							
								 
						
							
								9f06558f86 
								
							 
						 
						
							
							
								
								New Windows libc++ test results provided by Ruben Van Boxem.  
							
							... 
							
							
							
							llvm-svn: 159852 
							
						 
						
							2012-07-06 19:35:31 +00:00  
				
					
						
							
							
								 
						
							
								9d6d1c6860 
								
							 
						 
						
							
							
								
								Apply noexcept to those functions implemented in <cstdlib> as a conforming extension.  
							
							... 
							
							
							
							llvm-svn: 159850 
							
						 
						
							2012-07-06 19:16:56 +00:00  
				
					
						
							
							
								 
						
							
								9c14b75a37 
								
							 
						 
						
							
							
								
								Apply noexcept to those functions implemented in <cmath> as a conforming extension.  
							
							... 
							
							
							
							llvm-svn: 159849 
							
						 
						
							2012-07-06 19:13:50 +00:00  
				
					
						
							
							
								 
						
							
								227001d12e 
								
							 
						 
						
							
							
								
								Add noexcept test for offsetof macro per [support.types]/p4.  
							
							... 
							
							
							
							llvm-svn: 159846 
							
						 
						
							2012-07-06 18:39:01 +00:00  
				
					
						
							
							
								 
						
							
								4cb38a82a2 
								
							 
						 
						
							
							
								
								This commit establishes a new bucket_count policy in the unordered containers:  The policy now allows a power-of-2 number of buckets to be requested (and that request honored) by the client.  And if the number of buckets is set to a power of 2, then the constraint of the hash to the number of buckets uses & instead of %.  If the client does not specify a number of buckets, then the policy remains unchanged:  a prime number of buckets is selected.  The growth policy is that the number of buckets is roughly doubled when needed.  While growing, either the prime, or the power-of-2 strategy will be preserved.  There is a small run time cost for putting in this switch.  For very cheap hash functions, e.g. identity for int, the cost can be as high as 18%.  However with more typical use cases, e.g. strings, the cost is in the noise level.  I've measured cases with very cheap hash functions (int) that using a power-of-2 number of buckets can make look up about twice as fast.  However I've also noted that a power-of-2 number of buckets is more susceptible to accidental catastrophic collisions.  Though I've also noted that accidental catastrophic collisions are also possible when using a prime number of buckets (but seems far less likely).  In short, this patch adds an extra tuning knob for those clients trying to get the last bit of performance squeezed out of their hash containers.  Casual users of the hash containers will not notice the introduction of this tuning knob.  Those clients who swear by power-of-2 hash containers can now opt-in to that strategy.  Clients who prefer a prime number of buckets can continue as they have.  
							
							... 
							
							
							
							llvm-svn: 159836 
							
						 
						
							2012-07-06 17:31:14 +00:00  
				
					
						
							
							
								 
						
							
								6b45660f14 
								
							 
						 
						
							
							
								
								link to Marshall's notes.  
							
							... 
							
							
							
							llvm-svn: 159791 
							
						 
						
							2012-07-06 00:39:38 +00:00  
				
					
						
							
							
								 
						
							
								6317bfb26a 
								
							 
						 
						
							
							
								
								mark operator new(std::nothrow) as noalias (aka __attribute__((malloc))  
							
							... 
							
							
							
							llvm-svn: 159359 
							
						 
						
							2012-06-28 16:47:34 +00:00  
				
					
						
							
							
								 
						
							
								f08ebab2ea 
								
							 
						 
						
							
							
								
								Fixed a bug regarding result_of reported by Sven Behne.  The fix is C++11 only mainly because result_of is a variadic beast and working with variadics is just such a problem in C++03 mode.  This should bring result_of up to full conformance with the C++11 spec.  
							
							... 
							
							
							
							llvm-svn: 159211 
							
						 
						
							2012-06-26 17:37:15 +00:00  
				
					
						
							
							
								 
						
							
								d8ed7e5b03 
								
							 
						 
						
							
							
								
								fix help with bash  
							
							... 
							
							
							
							llvm-svn: 159177 
							
						 
						
							2012-06-25 23:51:05 +00:00  
				
					
						
							
							
								 
						
							
								c418654096 
								
							 
						 
						
							
							
								
								Revert pair constructors back to using is_convertible instead of is_constructible.  This should pull things into alignment with the final draft.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=13063#add_comment .  
							
							... 
							
							
							
							llvm-svn: 158280 
							
						 
						
							2012-06-09 20:01:23 +00:00  
				
					
						
							
							
								 
						
							
								07db340438 
								
							 
						 
						
							
							
								
								Fix warning flags for CMake builds, from Andrew C. Morrow!  
							
							... 
							
							
							
							llvm-svn: 158172 
							
						 
						
							2012-06-07 22:26:00 +00:00  
				
					
						
							
							
								 
						
							
								0bc272cf9a 
								
							 
						 
						
							
							
								
								Fix a few testsuite bugs involving trailing null (or lack thereof) in strstream.  
							
							... 
							
							
							
							llvm-svn: 157832 
							
						 
						
							2012-06-01 20:02:59 +00:00  
				
					
						
							
							
								 
						
							
								4c0de496a0 
								
							 
						 
						
							
							
								
								Fix dangling else clause.  Bug found and fixed by Dimitry Andric.  
							
							... 
							
							
							
							llvm-svn: 157779 
							
						 
						
							2012-05-31 23:12:03 +00:00  
				
					
						
							
							
								 
						
							
								78b4015c1c 
								
							 
						 
						
							
							
								
								Fix the new _ALIGNAS_TYPE per instructions supplied by Eli Friedman.  
							
							... 
							
							
							
							llvm-svn: 157765 
							
						 
						
							2012-05-31 20:14:00 +00:00  
				
					
						
							
							
								 
						
							
								bf33f5b292 
								
							 
						 
						
							
							
								
								Protect use of alignas against older versions of clang  
							
							... 
							
							
							
							llvm-svn: 157764 
							
						 
						
							2012-05-31 19:31:14 +00:00  
				
					
						
							
							
								 
						
							
								8b805c915a 
								
							 
						 
						
							
							
								
								The rules for emplace in map, multimap, unordered_map and unordered_multimap changed a while back and I'm just now updating to these new rules.  In a nutshell, you've got to know you're emplacing to a pair and use one of pair's constructors.  I made one extension:  If you want to emplace the key and default construct the mapped_type, you can just emplace(key), as opposed to emplace(piecewise_construct, forward_as_tuple(key), forward_as_tuple()).  
							
							... 
							
							
							
							llvm-svn: 157503 
							
						 
						
							2012-05-25 22:04:21 +00:00  
				
					
						
							
							
								 
						
							
								a960edd203 
								
							 
						 
						
							
							
								
								Fix memory corruption bug found and fixed by Andrew C. Morrow.  
							
							... 
							
							
							
							llvm-svn: 157476 
							
						 
						
							2012-05-25 15:55:46 +00:00  
				
					
						
							
							
								 
						
							
								49c3b20737 
								
							 
						 
						
							
							
								
								Add documentation regarding -fno-rtti.  
							
							... 
							
							
							
							llvm-svn: 157157 
							
						 
						
							2012-05-20 13:03:53 +00:00  
				
					
						
							
							
								 
						
							
								ed81e910bd 
								
							 
						 
						
							
							
								
								Revert fix to  http://llvm.org/bugs/show_bug.cgi?id=12867  for the reason now included in the code comment.  
							
							... 
							
							
							
							llvm-svn: 157128 
							
						 
						
							2012-05-19 20:20:49 +00:00  
				
					
						
							
							
								 
						
							
								a336f5e645 
								
							 
						 
						
							
							
								
								Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107  
							
							... 
							
							
							
							llvm-svn: 157108 
							
						 
						
							2012-05-19 07:14:17 +00:00  
				
					
						
							
							
								 
						
							
								a1b6937dba 
								
							 
						 
						
							
							
								
								valarray resize should not be _LIBCPP_INLINE_VISIBILITY  
							
							... 
							
							
							
							llvm-svn: 157107 
							
						 
						
							2012-05-19 07:01:14 +00:00  
				
					
						
							
							
								 
						
							
								8f69b1af3d 
								
							 
						 
						
							
							
								
								Move _LIBCPP_VISIBLE_INLINE from the out-of-line definitions of member  
							
							... 
							
							
							
							functions to the original declarations, so that Clang will actually
see them. Part of <rdar://problem/11489333>.
llvm-svn: 157097 
							
						 
						
							2012-05-19 04:41:25 +00:00  
				
					
						
							
							
								 
						
							
								9042d623bf 
								
							 
						 
						
							
							
								
								Protect __shared_weak_count::__get_deleter declaration with _LIBCPP_NO_RTTI.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=12867  
							
							... 
							
							
							
							llvm-svn: 157049 
							
						 
						
							2012-05-18 13:06:21 +00:00  
				
					
						
							
							
								 
						
							
								423a8d7733 
								
							 
						 
						
							
							
								
								Fix several bugs in find/count specialized for bits.  
							
							... 
							
							
							
							llvm-svn: 156546 
							
						 
						
							2012-05-10 14:55:00 +00:00  
				
					
						
							
							
								 
						
							
								19d9cbfb39 
								
							 
						 
						
							
							
								
								Add friends __count_bool_true and __count_bool_false to __bit_iterator.  
							
							... 
							
							
							
							llvm-svn: 156543 
							
						 
						
							2012-05-10 14:01:40 +00:00  
				
					
						
							
							
								 
						
							
								0ae9efeb1a 
								
							 
						 
						
							
							
								
								SFINAE __bit_iterator such that it will only get instantiated with a container that has the nested type __storage_type.  This prevents accidental instantiation such as in  http://llvm.org/bugs/show_bug.cgi?id=12755 .  This fixes  http://llvm.org/bugs/show_bug.cgi?id=12755 .  
							
							... 
							
							
							
							llvm-svn: 156308 
							
						 
						
							2012-05-07 16:50:38 +00:00  
				
					
						
							
							
								 
						
							
								df7aad41fd 
								
							 
						 
						
							
							
								
								Constrain __bind functor constructor such that it won't accidentally get used as a copy constructor from a non-const lvalue.  Fixes <rdar://problem/11359080>.  
							
							... 
							
							
							
							llvm-svn: 156182 
							
						 
						
							2012-05-04 17:21:02 +00:00  
				
					
						
							
							
								 
						
							
								9acfc3af72 
								
							 
						 
						
							
							
								
								Change std::abs from a template function to three overloads for float, double and long double.  
							
							... 
							
							
							
							llvm-svn: 156064 
							
						 
						
							2012-05-03 14:58:34 +00:00  
				
					
						
							
							
								 
						
							
								bff1bfc6be 
								
							 
						 
						
							
							
								
								Greatly scale back ambitions of emulating move semantics in C++03 mode.  It was causing more problems than it solved.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=12704 .  
							
							... 
							
							
							
							llvm-svn: 155918 
							
						 
						
							2012-05-01 15:37:54 +00:00  
				
					
						
							
							
								 
						
							
								11ffde3d7e 
								
							 
						 
						
							
							
								
								libc++: only #include <cxxabi.h> if it exists. This allows libc++ to build  
							
							... 
							
							
							
							out of the box on Linux systems. If you're building against libc++abi, you
still need to make sure it can find <cxxabi.h> so it knows not to export
symbols which libc++abi provides.
llvm-svn: 155091 
							
						 
						
							2012-04-19 01:36:12 +00:00  
				
					
						
							
							
								 
						
							
								99f15d6eb7 
								
							 
						 
						
							
							
								
								libc++: Add some missing #includes to atomics tests. libc++ doesn't need these  
							
							... 
							
							
							
							at the moment, but they allow these tests to be used to test clang against
libstdc++. Add myself to the credits file, as suggested by Howard.
llvm-svn: 155085 
							
						 
						
							2012-04-19 00:50:47 +00:00  
				
					
						
							
							
								 
						
							
								d01320c200 
								
							 
						 
						
							
							
								
								Apply noexcept and constexpr to <atomic>.  
							
							... 
							
							
							
							llvm-svn: 154526 
							
						 
						
							2012-04-11 20:14:21 +00:00  
				
					
						
							
							
								 
						
							
								766e8ccbfc 
								
							 
						 
						
							
							
								
								Switch libc++ from __atomic_* builtins to __c11_atomic_* builtins.  
							
							... 
							
							
							
							Per discussion with Howard, we are not interested in maintaining
compatibility with older versions of clang.
All tests pass with ToT clang, except for two which assert due to
a pre-existing, unrelated bug.
llvm-svn: 154521 
							
						 
						
							2012-04-11 18:55:46 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								4fa71de024 
								
							 
						 
						
							
							
								
								Fix the remaining atomic tests, all of which were wrong for the case where a  
							
							... 
							
							
							
							compare-and-exchange failed (it should update the expected value to the current
value, and the tests were checking that it didn't...).
Results of the atomics part of the test suite on FreeBSD with clang trunk and
the atomic.c from compiler-rt (currently kludged into the test, not installed
properly):
****************************************************
Results for /root/libc++/test/atomics:
using clang version 3.1 (trunk 153415)
Target: x86_64-unknown-freebsd10.0
Thread model: posix
with -std=c++0x -stdlib=libc++ -pthread /tmp/atomic.o  
----------------------------------------------------
sections without tests   : 0
sections with failures   : 0
sections without failures: 14
                       +   ----
total number of sections : 14
----------------------------------------------------
number of tests failed   : 0
number of tests passed   : 52
                       +   ----
total number of tests    : 52
****************************************************
Yay!
llvm-svn: 154095 
							
						 
						
							2012-04-05 13:48:16 +00:00  
				
					
						
							
							
								 
						
							
								ca917f5342 
								
							 
						 
						
							
							
								
								Fix test cases that were trying to make atomic things that are not trivially copyable.  
							
							... 
							
							
							
							Now all of the test cases compile.  Some of them even run!
llvm-svn: 154094 
							
						 
						
							2012-04-05 13:23:08 +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  
				
					
						
							
							
								 
						
							
								6e3e78acba 
								
							 
						 
						
							
							
								
								Updated documentation contributed by Christopher Jefferson.  
							
							... 
							
							
							
							llvm-svn: 153955 
							
						 
						
							2012-04-03 15:08:42 +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  
				
					
						
							
							
								 
						
							
								e8df82fa1a 
								
							 
						 
						
							
							
								
								Fix test for default constructor of discrete_distribution.  This partially addresses  http://llvm.org/bugs/show_bug.cgi?id=12436 .  
							
							... 
							
							
							
							llvm-svn: 153873 
							
						 
						
							2012-04-02 15:00:14 +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  
				
					
						
							
							
								 
						
							
								b2f52bb982 
								
							 
						 
						
							
							
								
								Allow libc++ to be built with CMake from within the LLVM tree. The libc++ part is just some renaming as the variable  was already in use, conflicting with something else in the LLVM tree.  Contributed by Ruben Van Boxem.  
							
							... 
							
							
							
							llvm-svn: 153036 
							
						 
						
							2012-03-19 15:40:23 +00:00  
				
					
						
							
							
								 
						
							
								b4c7522790 
								
							 
						 
						
							
							
								
								Alter the terminal streams such that they do not get added to the atexit chain, and thus never get destructed.  
							
							... 
							
							
							
							llvm-svn: 152926 
							
						 
						
							2012-03-16 15:13:51 +00:00  
				
					
						
							
							
								 
						
							
								1e02029f37 
								
							 
						 
						
							
							
								
								Undo some overzealous #ifdefs for LIBCXXRT.  
							
							... 
							
							
							
							llvm-svn: 152718 
							
						 
						
							2012-03-14 14:11:13 +00:00  
				
					
						
							
							
								 
						
							
								5f13d66fb4 
								
							 
						 
						
							
							
								
								Make sure [at_]quick_exit is in std::  
							
							... 
							
							
							
							llvm-svn: 152717 
							
						 
						
							2012-03-14 14:10:37 +00:00  
				
					
						
							
							
								 
						
							
								2f4cb4d79d 
								
							 
						 
						
							
							
								
								Don't refer to a function that doesn't exist in the quick_exit test.  
							
							... 
							
							
							
							llvm-svn: 152716 
							
						 
						
							2012-03-14 14:02:15 +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  
				
					
						
							
							
								 
						
							
								9e849ad302 
								
							 
						 
						
							
							
								
								Add a warning to ctype<char>::classic_table() if not implemented.  
							
							... 
							
							
							
							llvm-svn: 151728 
							
						 
						
							2012-02-29 16:08:57 +00:00  
				
					
						
							
							
								 
						
							
								27e618efb6 
								
							 
						 
						
							
							
								
								I'm reverting one of the changes made to exception.cpp in r151717.  I'm unsure what the change was trying to do, but it didn't do the right thing for __APPLE__.  So instead of trying to guess what was intended, I'm just putting it back the way it was.  
							
							... 
							
							
							
							llvm-svn: 151727 
							
						 
						
							2012-02-29 15:37:30 +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  
				
					
						
							
							
								 
						
							
								66d4573786 
								
							 
						 
						
							
							
								
								Make the failure reporting in testit a bit more useful.  
							
							... 
							
							
							
							llvm-svn: 151719 
							
						 
						
							2012-02-29 13:00:44 +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  
				
					
						
							
							
								 
						
							
								e1da544e0b 
								
							 
						 
						
							
							
								
								Some libcxxrt-compatibility cleanups (avoid defining things twice).  
							
							... 
							
							
							
							llvm-svn: 151717 
							
						 
						
							2012-02-29 12:59:17 +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  
				
					
						
							
							
								 
						
							
								26bba442ac 
								
							 
						 
						
							
							
								
								update test for explicit bool operator.  
							
							... 
							
							
							
							llvm-svn: 151461 
							
						 
						
							2012-02-25 21:43:14 +00:00  
				
					
						
							
							
								 
						
							
								908d2bebaf 
								
							 
						 
						
							
							
								
								At least temporarily move operator new/delete from the abi back to here.  I'm having trouble reexporting it as a weak symbol.  
							
							... 
							
							
							
							llvm-svn: 151459 
							
						 
						
							2012-02-25 21:36:01 +00:00  
				
					
						
							
							
								 
						
							
								25326f060d 
								
							 
						 
						
							
							
								
								ReExport some mor symbols from libc++abi.  
							
							... 
							
							
							
							llvm-svn: 151453 
							
						 
						
							2012-02-25 20:25:07 +00:00  
				
					
						
							
							
								 
						
							
								167d0fbb8a 
								
							 
						 
						
							
							
								
								Silence some warnings in a test.  
							
							... 
							
							
							
							llvm-svn: 151451 
							
						 
						
							2012-02-25 20:04:11 +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  
				
					
						
							
							
								 
						
							
								d9d5b4492b 
								
							 
						 
						
							
							
								
								Use Xcode relative compilers when possible  
							
							... 
							
							
							
							llvm-svn: 151108 
							
						 
						
							2012-02-22 00:20:30 +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  
				
					
						
							
							
								 
						
							
								f87873b3b3 
								
							 
						 
						
							
							
								
								Silence -Wmissing-field-initializers a little higher in the source.  
							
							... 
							
							
							
							llvm-svn: 150964 
							
						 
						
							2012-02-20 16:51:43 +00:00  
				
					
						
							
							
								 
						
							
								1c075b8934 
								
							 
						 
						
							
							
								
								Add myself to the CREDITS file.  
							
							... 
							
							
							
							llvm-svn: 150935 
							
						 
						
							2012-02-19 18:22:03 +00:00  
				
					
						
							
							
								 
						
							
								7c24d8e70b 
								
							 
						 
						
							
							
								
								Initialize all the fields of struct tm before passing it to strftime. One of the uninitialized fields, probably the pointer field tm_zone, was causing a segfault on linux.  Patch contributed by Jeffrey Yasskin.  
							
							... 
							
							
							
							llvm-svn: 150929 
							
						 
						
							2012-02-19 14:55:32 +00:00  
				
					
						
							
							
								 
						
							
								08487f51b7 
								
							 
						 
						
							
							
								
								Relax pointer output test to accept glibc's output.  Patch supplied by Jeffrey Yasskin.  
							
							... 
							
							
							
							llvm-svn: 150927 
							
						 
						
							2012-02-19 14:51:01 +00:00  
				
					
						
							
							
								 
						
							
								2a9a072485 
								
							 
						 
						
							
							
								
								Give the emulated nullptr_t a default constructor.  
							
							... 
							
							
							
							llvm-svn: 150893 
							
						 
						
							2012-02-18 22:01:22 +00:00  
				
					
						
							
							
								 
						
							
								c7cf23e4bf 
								
							 
						 
						
							
							
								
								Exercise rvalue arguements to make_shared for C++11 mode.  
							
							... 
							
							
							
							llvm-svn: 150887 
							
						 
						
							2012-02-18 20:12:03 +00:00  
				
					
						
							
							
								 
						
							
								f95d9f0a3a 
								
							 
						 
						
							
							
								
								Move typeinfos for exceptions in <stdexcept> to the abi  
							
							... 
							
							
							
							llvm-svn: 150835 
							
						 
						
							2012-02-17 19:24:42 +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  
				
					
						
							
							
								 
						
							
								27c8f620ee 
								
							 
						 
						
							
							
								
								Fix up narrowing conversions in switch statement.  
							
							... 
							
							
							
							llvm-svn: 150082 
							
						 
						
							2012-02-08 19:15:06 +00:00  
				
					
						
							
							
								 
						
							
								23e4e4587f 
								
							 
						 
						
							
							
								
								Make attributes on definition consistent with those on declaration.  
							
							... 
							
							
							
							llvm-svn: 149701 
							
						 
						
							2012-02-03 18:31:43 +00:00  
				
					
						
							
							
								 
						
							
								b8be700974 
								
							 
						 
						
							
							
								
								Added some more symbols to the v2 rexport list.  
							
							... 
							
							
							
							llvm-svn: 149636 
							
						 
						
							2012-02-02 22:01:34 +00:00  
				
					
						
							
							
								 
						
							
								2c9c6a579a 
								
							 
						 
						
							
							
								
								Prepare for running on top of new libc++abi.  
							
							... 
							
							
							
							llvm-svn: 149634 
							
						 
						
							2012-02-02 20:48:35 +00:00  
				
					
						
							
							
								 
						
							
								be745c8cce 
								
							 
						 
						
							
							
								
								Explicitly convert int to future_errc.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=11428  
							
							... 
							
							
							
							llvm-svn: 149630 
							
						 
						
							2012-02-02 20:31:36 +00:00  
				
					
						
							
							
								 
						
							
								1e2ca98cb2 
								
							 
						 
						
							
							
								
								Fix .PHONY target to match new installheaders target.  
							
							... 
							
							
							
							llvm-svn: 148629 
							
						 
						
							2012-01-21 06:16:39 +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  
				
					
						
							
							
								 
						
							
								f53bbd2a1e 
								
							 
						 
						
							
							
								
								Added installheaders target.  
							
							... 
							
							
							
							llvm-svn: 148399 
							
						 
						
							2012-01-18 17:44:31 +00:00  
				
					
						
							
							
								 
						
							
								0fd9a6cc37 
								
							 
						 
						
							
							
								
								Remove installhdrs target from Makefile  
							
							... 
							
							
							
							llvm-svn: 148396 
							
						 
						
							2012-01-18 16:07:25 +00:00  
				
					
						
							
							
								 
						
							
								f30d9ad6e1 
								
							 
						 
						
							
							
								
								Create target installhdrs as a synonym for do-installhdrs.  
							
							... 
							
							
							
							llvm-svn: 148365 
							
						 
						
							2012-01-18 00:30:57 +00:00  
				
					
						
							
							
								 
						
							
								26e8d17f79 
								
							 
						 
						
							
							
								
								Put do-installhdrs target back into Makefile.  
							
							... 
							
							
							
							llvm-svn: 148310 
							
						 
						
							2012-01-17 17:01:18 +00:00  
				
					
						
							
							
								 
						
							
								d6c77994b8 
								
							 
						 
						
							
							
								
								Stop installing headers, this is now done by clang  
							
							... 
							
							
							
							llvm-svn: 148309 
							
						 
						
							2012-01-17 16:09:32 +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  
				
					
						
							
							
								 
						
							
								e9d3d21988 
								
							 
						 
						
							
							
								
								Happy new year 2012!  
							
							... 
							
							
							
							llvm-svn: 147395 
							
						 
						
							2012-01-01 08:16:56 +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  
				
					
						
							
							
								 
						
							
								45146a12cf 
								
							 
						 
						
							
							
								
								Fix memory leak in converting weak_ptr to shared_ptr  
							
							... 
							
							
							
							llvm-svn: 147298 
							
						 
						
							2011-12-27 22:20:51 +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  
				
					
						
							
							
								 
						
							
								fac8c8866d 
								
							 
						 
						
							
							
								
								Remove quotes from locale name identifier.  Credit Edward Meewis.  
							
							... 
							
							
							
							llvm-svn: 146655 
							
						 
						
							2011-12-15 15:01:38 +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  
				
					
						
							
							
								 
						
							
								1196716270 
								
							 
						 
						
							
							
								
								unord test fixes by Edward Meewis  
							
							... 
							
							
							
							llvm-svn: 145707 
							
						 
						
							2011-12-02 21:23:14 +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  
				
					
						
							
							
								 
						
							
								8a3c663e95 
								
							 
						 
						
							
							
								
								Refactor libcxx makefile.  No functional changes intended.  
							
							... 
							
							
							
							Besides cleaning up the repetition in the installhdrs target, the point of this
change is to provide a separate do-installhdrs target that can be used directly
from clang's runtime/libcxx makefile to install a copy of the headers along
with clang.  <rdar://problem/10397739>
llvm-svn: 145162 
							
						 
						
							2011-11-27 05:39:58 +00:00  
				
					
						
							
							
								 
						
							
								7319160e7c 
								
							 
						 
						
							
							
								
								Clarify building instructions for 10.7  
							
							... 
							
							
							
							llvm-svn: 144910 
							
						 
						
							2011-11-17 17:14:16 +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  
				
					
						
							
							
								 
						
							
								91ed25d186 
								
							 
						 
						
							
							
								
								Remove support folder from Apple install  
							
							... 
							
							
							
							llvm-svn: 143702 
							
						 
						
							2011-11-04 15:59:51 +00:00  
				
					
						
							
							
								 
						
							
								05e485879c 
								
							 
						 
						
							
							
								
								Fix ratio arithmetic with zero  
							
							... 
							
							
							
							llvm-svn: 143519 
							
						 
						
							2011-11-01 23:13:37 +00:00  
				
					
						
							
							
								 
						
							
								decdcacece 
								
							 
						 
						
							
							
								
								Add include file install path  
							
							... 
							
							
							
							llvm-svn: 143497 
							
						 
						
							2011-11-01 21:06:50 +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  
				
					
						
							
							
								 
						
							
								03a466b3b9 
								
							 
						 
						
							
							
								
								Remove  -Wglobal-constructors from flags.  This was an accidental addition.  
							
							... 
							
							
							
							llvm-svn: 141551 
							
						 
						
							2011-10-10 17:36:59 +00:00  
				
					
						
							
							
								 
						
							
								287e20e824 
								
							 
						 
						
							
							
								
								Update instructions for building on Mac OS 10.6  
							
							... 
							
							
							
							llvm-svn: 141507 
							
						 
						
							2011-10-09 15:25:34 +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  
				
					
						
							
							
								 
						
							
								b5a46edf35 
								
							 
						 
						
							
							
								
								reverting change to compatibility_version  
							
							... 
							
							
							
							llvm-svn: 141445 
							
						 
						
							2011-10-07 23:55:11 +00:00  
				
					
						
							
							
								 
						
							
								e5bb431d3f 
								
							 
						 
						
							
							
								
								Change compatibility_version  
							
							... 
							
							
							
							llvm-svn: 141391 
							
						 
						
							2011-10-07 19:52:29 +00:00  
				
					
						
							
							
								 
						
							
								7ba069074a 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10136825>  
							
							... 
							
							
							
							llvm-svn: 141132 
							
						 
						
							2011-10-04 23:11:56 +00:00  
				
					
						
							
							
								 
						
							
								1e31e53fe1 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10226704>  
							
							... 
							
							
							
							llvm-svn: 141054 
							
						 
						
							2011-10-04 01:25:20 +00:00  
				
					
						
							
							
								 
						
							
								33a30f4159 
								
							 
						 
						
							
							
								
								Windows porting work by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 141003 
							
						 
						
							2011-10-03 15:23:59 +00:00  
				
					
						
							
							
								 
						
							
								20dde1e8fb 
								
							 
						 
						
							
							
								
								Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 140950 
							
						 
						
							2011-10-01 15:34:27 +00:00  
				
					
						
							
							
								 
						
							
								2c0a65ee78 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10217868>.  
							
							... 
							
							
							
							llvm-svn: 140907 
							
						 
						
							2011-10-01 00:26:36 +00:00  
				
					
						
							
							
								 
						
							
								4f4d310e3e 
								
							 
						 
						
							
							
								
								Provide link to developer's policy  
							
							... 
							
							
							
							llvm-svn: 140857 
							
						 
						
							2011-09-30 16:58:02 +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  
				
					
						
							
							
								 
						
							
								d7aac28ae9 
								
							 
						 
						
							
							
								
								Ruben's Windows test results.  
							
							... 
							
							
							
							llvm-svn: 140700 
							
						 
						
							2011-09-28 15:44:39 +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  
				
					
						
							
							
								 
						
							
								cf50df9d94 
								
							 
						 
						
							
							
								
								Fix test bugs found by David Chisnall  
							
							... 
							
							
							
							llvm-svn: 140271 
							
						 
						
							2011-09-21 18:33:46 +00:00  
				
					
						
							
							
								 
						
							
								580eccb05a 
								
							 
						 
						
							
							
								
								Fix locales used in re tests.  
							
							... 
							
							
							
							llvm-svn: 140265 
							
						 
						
							2011-09-21 17:38:03 +00:00  
				
					
						
							
							
								 
						
							
								13bddcf1bc 
								
							 
						 
						
							
							
								
								Remove undefines in cstdio test.  Fix these properly rather than bodging the tests.  
							
							... 
							
							
							
							llvm-svn: 140264 
							
						 
						
							2011-09-21 17:37:18 +00:00  
				
					
						
							
							
								 
						
							
								ecccb1f868 
								
							 
						 
						
							
							
								
								More +.UTF-8 fixes.  
							
							... 
							
							
							
							llvm-svn: 140262 
							
						 
						
							2011-09-21 17:35:42 +00:00  
				
					
						
							
							
								 
						
							
								b996af1fe7 
								
							 
						 
						
							
							
								
								Fix failure found by David Chisnall  
							
							... 
							
							
							
							llvm-svn: 140255 
							
						 
						
							2011-09-21 16:42:32 +00:00  
				
					
						
							
							
								 
						
							
								bae9fc983e 
								
							 
						 
						
							
							
								
								Correct change to exception.cpp from r140245  
							
							... 
							
							
							
							llvm-svn: 140253 
							
						 
						
							2011-09-21 15:12:26 +00:00  
				
					
						
							
							
								 
						
							
								71850c961d 
								
							 
						 
						
							
							
								
								More fixes to the tests.  Add UTF-8 encoding to all locales that don't specify one.  Undefine some stdio.h macros that break the tests.  
							
							... 
							
							
							
							llvm-svn: 140252 
							
						 
						
							2011-09-21 14:59:10 +00:00  
				
					
						
							
							
								 
						
							
								b25f615c58 
								
							 
						 
						
							
							
								
								Fully-qualify some more locales in the tests...  
							
							... 
							
							
							
							llvm-svn: 140251 
							
						 
						
							2011-09-21 14:48:49 +00:00  
				
					
						
							
							
								 
						
							
								1d9bdaa24d 
								
							 
						 
						
							
							
								
								Don't check STREAMS error numbers on systems that don't implement the obsolete (as described in POSIX2008) XSI STREAMS extension.  
							
							... 
							
							
							
							llvm-svn: 140248 
							
						 
						
							2011-09-21 12:23:11 +00:00  
				
					
						
							
							
								 
						
							
								8b053d5ec1 
								
							 
						 
						
							
							
								
								More locale cleanups.  Fully specify locales in iostream tests.  
							
							... 
							
							
							
							llvm-svn: 140247 
							
						 
						
							2011-09-21 12:09:17 +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  
				
					
						
							
							
								 
						
							
								e36a15db17 
								
							 
						 
						
							
							
								
								Localisation test fixes to make the tests pass on FreeBSD, which does not provide shortened forms of the various locales (e.g. en_US, rather than en_US.UTF-8 / en_US.ISO{whatever}).  
							
							... 
							
							
							
							Reviewed by Howard Hinnant.
llvm-svn: 140242 
							
						 
						
							2011-09-21 08:19:20 +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  
				
					
						
							
							
								 
						
							
								55f2a50994 
								
							 
						 
						
							
							
								
								Address PR10909:  http://llvm.org/bugs/show_bug.cgi?id=10909  
							
							... 
							
							
							
							llvm-svn: 139493 
							
						 
						
							2011-09-12 14:15:45 +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  
				
					
						
							
							
								 
						
							
								6137b627ab 
								
							 
						 
						
							
							
								
								Merge the Apple branch into trunk  
							
							... 
							
							
							
							We will eventually rebranch for the next Apple release and when we do, we don't want to drop changes.
llvm-svn: 137940 
							
						 
						
							2011-08-18 15:53:00 +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  
				
					
						
							
							
								 
						
							
								eaaf7f26df 
								
							 
						 
						
							
							
								
								Correct misspelling:_LIBCPP_APPLE_STABLE_ABI -> _LIBCPP_STABLE_APPLE_ABI  
							
							... 
							
							
							
							llvm-svn: 136597 
							
						 
						
							2011-07-31 17:16:32 +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