469d419a17Correction to set of overloaded pair constructors for C++0x
Howard Hinnant
2011-04-29 18:10:55 +00:00
7ac6af7027Qualify calls to std::next(), to avoid conflicts with libraries/applications that define their own 'next' template.
Douglas Gregor
2011-04-29 16:20:26 +00:00
154002bb5dProvide a more readable error message for <atomic> until it is implemented.
Howard Hinnant
2011-03-31 16:39:39 +00:00
41fb6e1432Jonathan Sauer found a bug in the way ^ was handled
Howard Hinnant
2011-03-26 20:02:27 +00:00
86e78d694cJonathan Sauer updated is_base_of traits status
Howard Hinnant
2011-03-26 19:58:42 +00:00
770a3c5116<rdar://problem/9073695> std::uncaught_exception() becomes true before evaluating the throw-expression rather than after
Nick Kledzik
2011-03-11 22:33:07 +00:00
d6c08cd1aeTagging 16
Howard Hinnant
2011-03-11 18:16:05 +00:00
f9b8998795I have to revert this recent fix to tuple conversions until clang implements cwg 1170. Without this fix pair and tuple don't convert properly. With it, associative containers get access errors when they shouldn't. cwg 1170 fixes the latter.
Howard Hinnant
2011-03-10 17:27:30 +00:00
6e5e7e78eeCorrected const-correctness on nullptr type_traits, and beefed up the test for nullptr_t.
Howard Hinnant
2011-03-09 17:17:06 +00:00
5885da34ceWalter Brown brought to my attention that type_traits was failing to correctly classify nullptr_t
Howard Hinnant
2011-03-09 15:10:51 +00:00
80586729e4Chris Jefferson found a defect in the C++0x working draft by trying to run libc++ against boost. I've submitted an issue to the LWG, and this commit attempts to implement the proposed resolution of that defect report. I'd point to the issue but it hasn't been put into the LWG list yet. The title of the issue will be: Stage 2 accumulate incompatibilty
Howard Hinnant
2011-03-09 01:03:19 +00:00
8dcad976e0http://llvm.org/bugs/show_bug.cgi?id=9349 I introduced a bug with the last fix and Ryuta Suzuki has corrected it. And hopefully I committed Ryuta Suzuki's directions correctly this time.
Howard Hinnant
2011-03-03 01:59:23 +00:00
fddf722f4eChris Jefferson found this bug to pair/tuple introduced by a recent change to the draft that I missed.
Howard Hinnant
2011-03-01 14:27:55 +00:00
171869e27cFix copy_n to increment only n-1 times for an input iterator. This works much better with std::istream_iterator<int>(std::cin). Credit: Matan Nassau.
Howard Hinnant
2011-02-27 20:55:39 +00:00
df85e57f4aFixed two problems found by Chris Jefferson: Made operator>> for char consistent with gcc. Opened an LWG issue on this one. 2) Renamed some private typedefs which are causing boost grief.
Howard Hinnant
2011-02-27 18:02:02 +00:00
b2080c70d4Chris Jefferson spotted a problem with messages_base::catalog while getting libc++ to work on boost. The standard says this type must be an int. But this type is the key returned by the OS facility catopen. On OS X the type returned by catopen is void*, which doesn't fit into an int on 64 bit platforms. Chris suggested using ptrdiff_t instead of void*. It still isn't compliant with the standard, but chances are that this change will fix what is ailing boost. Chris also supplied the algorithm for distinguishing high-order pointers from error conditions. Thanks Chris.
Howard Hinnant
2011-02-25 00:51:08 +00:00
5a245dbf52Jean-Daniel Dupas fixes install directions
Howard Hinnant
2011-02-22 14:18:34 +00:00
621ee222d9fix stupid type-o
Howard Hinnant
2011-02-10 21:34:42 +00:00
31b8e617b6Installed __has_feature(is_convertible_to) and __has_feature(is_base_of)
Howard Hinnant
2011-02-10 17:46:03 +00:00
47a7cce01eMissing traits::to_int_type in fstream
Howard Hinnant
2011-02-02 17:37:16 +00:00
2529d02b5dQualify calls to addressof with std::. Bug 9106
Howard Hinnant
2011-02-02 17:36:20 +00:00
211f0ee1beBug 9096 - list::iterator not default constructible
Howard Hinnant
2011-01-28 23:46:28 +00:00
80f9180729minor corrections to test, and hook is_base_of up to clang intrinsic
Howard Hinnant
2011-01-28 20:00:37 +00:00
9ca45e21b8Eliminate extraneous {};
Douglas Gregor
2011-01-27 23:36:08 +00:00
65451f1549Updated getting started directions.
Howard Hinnant
2011-01-27 23:18:19 +00:00
30bbc93088updated buildit to work with recent clang updates
Howard Hinnant
2011-01-27 21:01:51 +00:00
9a21a01946clang found a missing return statement.
Howard Hinnant
2011-01-27 21:01:11 +00:00
99b2f7660dMake forward_list splice_after and merge work for lvalue lists
Howard Hinnant
2011-01-27 21:00:35 +00:00
091c5ace78Reverted previous fix to is_convertible as it caused more problems than it fixed. But this reverted fix will only matter for non-clang compilers. Installed __is_convertible_to for clang.
Howard Hinnant
2011-01-27 21:00:00 +00:00
497ac97247Inline namespaces are always available in Clang. Rely on that without testing via __has_feature, since __has_feature for C++0x features no longer evaluates true in C++98/03 mode.
Douglas Gregor
2011-01-26 15:39:56 +00:00
aab015a929Teach move_iterator that rvalue references cannot bind to non-function lvalues, nor can one take the address of an xvalue, by adding appropriate static_cast's (in the first case) and a temporary (in the second case).
Douglas Gregor
2011-01-26 00:12:48 +00:00
9f193f202fAdd always_inline to string move constructors
Howard Hinnant
2011-01-26 00:06:59 +00:00
5ea2e37c08Remove an (incorrect) compiler workaround in the __mu function. The workaround relied on rvalue references binding to non-function lvalues, while the original formulation (with std::forward) does the right thing.
Douglas Gregor
2011-01-25 23:11:15 +00:00
4ff9d3599cplaceholder test
Howard Hinnant
2011-01-25 16:32:04 +00:00
56a85ca8bftweak for readability (no functionality change)
Howard Hinnant
2011-01-25 16:31:30 +00:00
6c669943b3An rvalue reference cannot bind to an lvalue, so static_cast the result of the __tuple_leaf::get() call to an rvalue reference when returning from tuple's get().
Douglas Gregor
2011-01-25 16:14:21 +00:00
f9e1c7e367Eliminate the C++0x-only is_convertible testing function that accepts a cv-qualifier rvalue reference to the type, e.g.,
Douglas Gregor
2011-01-25 01:15:41 +00:00
f83417b823Chandler Carruth changed >> to > > in several places.
Howard Hinnant
2011-01-24 16:07:25 +00:00
e76496ce46Teach the Lit configuration to actually use the cxx0x setting when constructing compile flags, and to link against the 'rt' library on Linux for clock_gettime and friends.
Chandler Carruth
2011-01-23 01:05:20 +00:00
5f5859c45bAdd attribute to inlined member.
Howard Hinnant
2011-01-13 20:05:05 +00:00
6fd4b669caFixing an ambiguity in variadics found by clang.
Howard Hinnant
2011-01-12 22:56:59 +00:00
ac38bae75bfix guard
Howard Hinnant
2011-01-11 20:02:45 +00:00
52c4eb23e0Two minor fixes: 1. Put integral_constant conversion to integral in even without constexpr support. 2. Add ios_base to <iosfwd>. The latter is being tracked by LWG 2026.
Howard Hinnant
2011-01-08 20:00:48 +00:00
04240d90efReverting an old optimization that conflicts with the new allocator model, and causes some test casees to compile that shouldn't.
Howard Hinnant
2011-01-04 19:53:31 +00:00
93c382bf45Marshall Clow's fix for Bug 8421.
Howard Hinnant
2011-01-04 19:21:05 +00:00
2d72b1e393Effort to reduce the number of exported symbols
Howard Hinnant
2010-12-17 14:46:43 +00:00
e48e36623bReduced copying cost of tuple_cat from quadratic to linear.
Howard Hinnant
2010-12-12 23:04:37 +00:00
0e1493ec5eLWG 1385 [FCD] tuple_cat should be a single variadic signature (http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#1385). This issue is only in Ready status, meaning it is not official, but probably will be this March in Madrid. It was tentatively accepted in Batavia with the previso that Bill and I didn't have any problems implementing it. This is my part of that agreement.
Howard Hinnant
2010-12-11 20:47:50 +00:00
eee7698bacThe implementation of the new definition of result_of (N3123) resulted in some test failures in [func.memfn] that I failed to previously notice. This corrects that mistake.
Howard Hinnant
2010-12-11 00:05:19 +00:00
626916fc25Add CMake build and fix major Linux blockers.
Michael J. Spencer
2010-12-10 19:47:54 +00:00
b8f787b188Test adjustment for recent changes in allocator_traits
Howard Hinnant
2010-12-10 19:22:37 +00:00
f190e97885This got accidentally removed
Howard Hinnant
2010-12-10 19:22:00 +00:00
31aaf55f4cN3158 Missing preconditions for default-constructed match_result objects
Howard Hinnant
2010-12-08 21:07:55 +00:00
1b18a48e28cleaning up...
Howard Hinnant
2010-12-08 20:09:09 +00:00
770d1c4ea7After a long break to wait for the atomic spec to settle, this completes the library part of <atomic>. It currently won't even parse as it depends on the existence of the intrinsics specified at http://libcxx.llvm.org/atomic_design_a.html. Everything has been tested using fake intrinsics which have now been removed. As the intrinsics come online, the ATOMIC_* macros will need to be adjusted to reflect which operations are lock-free. These macros will probably need to be #ifdef'd for each supported platform.
Howard Hinnant
2010-12-08 17:20:28 +00:00
c9f5d9fca6test: Rename string_op+= to string_op_plus_equal. Windows git doesn't like it.
Michael J. Spencer
2010-12-08 17:06:47 +00:00
d2f6afbfabatomics ...
Howard Hinnant
2010-12-07 23:24:41 +00:00
57e5e87323atomics ...
Howard Hinnant
2010-12-07 23:24:09 +00:00
f02417b600atomics ...
Howard Hinnant
2010-12-07 23:20:28 +00:00
91e2f26fecWork on <atomic> continues. The file size is actually sane now...
Howard Hinnant
2010-12-07 20:46:14 +00:00
4777bf2799Getting <atomic> warmed back up. We have a hopefully more stable spec now. And I believe the intrinsic spec at http://libcxx.llvm.org/atomic_design_a.html is still good.
Howard Hinnant
2010-12-06 23:10:08 +00:00
a445151f4aN3189 Observers for the three handler functions
Howard Hinnant
2010-12-02 16:45:21 +00:00
7de47902d0Implemented N3194
Howard Hinnant
2010-11-30 20:23:32 +00:00
ac417faebcMinor fixup in <ratio> and add optional support for shared_mutex and upgrade_mutex which must be opted into with #define _LIBCPP_SHARED_LOCK
Howard Hinnant
2010-11-28 19:41:07 +00:00