- Feb 26, 2012
-
-
Howard Hinnant authored
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
-
- Feb 25, 2012
-
-
Howard Hinnant authored
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
-
- Feb 21, 2012
-
-
Howard Hinnant authored
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
-
Howard Hinnant authored
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
-
- Feb 20, 2012
-
-
Bob Wilson authored
llvm-svn: 150965
-
- Feb 18, 2012
-
-
Howard Hinnant authored
llvm-svn: 150893
-
- Feb 15, 2012
-
-
Howard Hinnant authored
Use __is_polymorphic if available. This fixes http://llvm.org/bugs/show_bug.cgi?id=11983 . Patch contributed by Jonathan Sauer. llvm-svn: 150614
-
Howard Hinnant authored
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
-
Howard Hinnant authored
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
-
http://llvm.org/bugs/show_bug.cgi?id=12007Howard Hinnant authored
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
-
Howard Hinnant authored
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
-
Howard Hinnant authored
llvm-svn: 150542
-
- Feb 14, 2012
-
-
Howard Hinnant authored
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
-
- Jan 20, 2012
-
-
Howard Hinnant authored
Enable full functionality of shared_ptr<const void> by adding allocator<const void>. Credit to John Hurley for discovering this bug. llvm-svn: 148508
-
- Jan 13, 2012
-
-
- Jan 10, 2012
-
-
- Jan 02, 2012
-
-
Howard Hinnant authored
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
-
- Dec 29, 2011
-
-
Howard Hinnant authored
The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory. llvm-svn: 147343
-
- Dec 19, 2011
-
-
-
David Chisnall authored
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
-
- Dec 18, 2011
-
-
Howard Hinnant authored
llvm-svn: 146853
-
- Dec 16, 2011
-
-
Howard Hinnant authored
llvm-svn: 146736
-
- Dec 12, 2011
-
-
Howard Hinnant authored
As an extension, support incomplete types in the unordered containers to match what we already do in the associative containers. llvm-svn: 146376
-
- Dec 11, 2011
-
-
- Dec 10, 2011
-
-
Howard Hinnant authored
llvm-svn: 146329
-
- Dec 05, 2011
-
-
Howard Hinnant authored
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
-
- Dec 03, 2011
-
-
Howard Hinnant authored
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
-
Howard Hinnant authored
llvm-svn: 145728
-
- Dec 02, 2011
-
-
Howard Hinnant authored
Fixes to hash for long long, unsigned long long, float, double and long double. Credit Dave Zarzycki llvm-svn: 145721
-
-
-
Howard Hinnant authored
llvm-svn: 145684
-
- Dec 01, 2011
-
-
Howard Hinnant authored
llvm-svn: 145624
-
- Nov 29, 2011
-
-
Howard Hinnant authored
llvm-svn: 145410
-
Howard Hinnant authored
llvm-svn: 145407
-
- Nov 28, 2011
-
-
Howard Hinnant authored
llvm-svn: 145265
-
- Nov 13, 2011
-
-
David Chisnall authored
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
-
- Nov 02, 2011
-
-
Howard Hinnant authored
llvm-svn: 143519
-
- Oct 27, 2011
-
-
Howard Hinnant authored
llvm-svn: 143105
-
Howard Hinnant authored
llvm-svn: 143104
-