a9ad2ca8bdSynch up with recent changes in trunk
Howard Hinnant
2011-07-30 17:35:20 +0000
8ffa5d58e0Correct misspelling: _LIBCPP_APPLE_STABLE_ABI -> _LIBCPP_STABLE_APPLE_ABI
Howard Hinnant
2011-07-30 16:37:03 +0000
791e11cf33Fix radar 9866843
Howard Hinnant
2011-07-30 16:35:55 +0000
4d933b2b44Apple branch created
Howard Hinnant
2011-07-30 16:28:35 +0000
8f0396e443Add the missing default argument for the allocator and use a cleaner implementation of previous().
Sean Hunt
2011-07-30 00:47:53 +0000
b59b929cc9Destruct 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.
Sean Hunt
2011-07-30 00:18:12 +0000
70bbcae9b5Oops. 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.
Sean Hunt
2011-07-30 00:06:52 +0000
d50c1c7429Include 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.
Sean Hunt
2011-07-29 23:42:36 +0000
110b8bf57eExplicitly 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.
Sean Hunt
2011-07-29 23:31:58 +0000
affd9e5d43Add a new hash class in __gnu_ext for the extension containers. There are two motivations for this.
Sean Hunt
2011-07-29 23:31:56 +0000
e36a196049Add 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).
Sean Hunt
2011-07-29 23:31:53 +0000
23369ee812Configure to get along with 2.9 clang
Howard Hinnant
2011-07-29 21:35:53 +0000
db86663223Optimizing valarray::operator=(some-valarray-expression)
Howard Hinnant
2011-07-27 23:19:59 +0000
b3296ae5bcTest commit
Dave Zarzycki
2011-07-22 17:08:57 +0000
bf6666f7a0Correct test.
Howard Hinnant
2011-07-19 01:07:49 +0000
541cb301a1Adjust two tests to account for a nasty change in copying behavior between C++03 and C++0x and its effect on exceptions, and another two to not test move construction when rvalue references are not available.
Sean Hunt
2011-07-18 23:51:25 +0000
13aaf422e4Make all fstream tests use tmpnam if creating files, rather than hard-coded names.
Sean Hunt
2011-07-18 23:51:21 +0000
e6440c6fa2Do a litmus test of using tmpnam to generate safe temporary file names for the tests that open new data files.
Sean Hunt
2011-07-18 20:46:16 +0000
737a351850Given that __underlying_type is now available in clang, implement std::underlying_type.
Sean Hunt
2011-07-18 18:37:21 +0000
2d81f3d1f3Give A an explicitly non-throwing destructor so that B's destructor is itself non-throwing. Since nested_exception's destructor is non-throwing, if B's destructor is not, this causes an error in C++03 mode due to the overriding function having a more lax specification. This did not occur in C++0x mode as A's destructor was implicitly non-throwing.
Sean Hunt
2011-07-18 17:07:53 +0000
a78264f872Fix wchar tests by not assuming that tm is complete and by using the proper va_list time on non-darwin platforms.
Sean Hunt
2011-07-15 05:44:47 +0000
f3907e6cc0Reapply 135035 with proper conditional inclusion, hopefully solving issues with it.
Sean Hunt
2011-07-15 05:40:33 +0000
8d75632ad0Reverted to 134947. Once I got into it, I discovered there were too many problems to fix in 135035.
Howard Hinnant
2011-07-13 15:48:16 +0000
c97da3a590Implement the __nolocale functions properly so that they will work on all platforms. Unfortunately a lot of this remains conditionally compiled so as not to break Apple's ABI.
Sean Hunt
2011-07-13 06:40:50 +0000
0389c53f44Make sure that __time_put constructors properly on non-Apple platforms.
Sean Hunt
2011-07-12 00:55:04 +0000
66f2641ac9Toralf Niebuhr: This is just a tiny patch fixing some small (probably copy & paste) errors.
Howard Hinnant
2011-07-09 19:47:01 +0000
2bf1c08510Make vector<bool>::reference and const_reference public
Howard Hinnant
2011-07-09 15:50:42 +0000
6f0342cf2eDon't assume that wctype produces a nice mask on all platforms. On glibc, for instance, it's a const char *.
Sean Hunt
2011-07-09 03:40:04 +0000
e59f724f79Conditionally wrap the changes from r134781.
Sean Hunt
2011-07-09 01:09:31 +0000
62a6ac33a2Implement generalized table lookups for upper, lower, and character traits.
Sean Hunt
2011-07-09 00:56:23 +0000
a2a08b43eetest for pair piecewise construction
Howard Hinnant
2011-06-22 23:51:19 +0000
35d2fcfc8eTeach libc++ about the addressof() overloads it needs to work with Objective-C Automatic Reference Counting, where Objective-C object pointers can have several different qualifiers (__strong, __weak, __autoreleasing, __unsafe_unretained). These addressof() overloads are only provided in ARC mode, and the __weak variant is conditionalized on having weak-reference support in the ARC runtime.
Douglas Gregor
2011-06-22 22:17:44 +0000
f5d76a7afcAdd instructions for -U__STRICT_ANSI__ for Mac OS 10.6
Howard Hinnant
2011-06-22 12:13:55 +0000
7604fea08cMore fixes: One of my fixes to type_traits earlier today was incorrect, so that is reverted. Recently clang appears to have tightened up its definition of is_convertible and that has caused some failures in [unordered_][multi]map. I've switched to using is_constructible to restablish the desired functionality in [unordered_][multi]map. Specifically, inserting rvalues of move-only types for the keys.
Howard Hinnant
2011-06-19 21:45:00 +0000
d4b957820cMiscellaneous minor fixes in <type_traits>
Howard Hinnant
2011-06-19 19:12:59 +0000
2b1b2d40d7Provide names for template and function parameters in forward declarations. The purpose is to aid automated documentation tools.
Howard Hinnant
2011-06-14 19:58:17 +0000
8f5f2563aamore Apple build system tweaks
Nick Kledzik
2011-06-09 23:31:35 +0000
2bdb250fe8libcpp-23.1
Nick Kledzik
2011-06-09 22:18:19 +0000
c7c3891199Update CREDITS.TXT
Howard Hinnant
2011-06-09 16:53:33 +0000
c28dbeee52Move nullptr_t to unversioned namespace: Sean Hunt
Howard Hinnant
2011-06-05 13:00:46 +0000
58cd8231d8noexcept for <stack>. This completes noexcept for Chapter 23 [containers].
Howard Hinnant
2011-06-04 22:09:19 +0000
6a09441022noexcept for <queue>.
Howard Hinnant
2011-06-04 21:32:33 +0000
04dae1df22noexcept for <unordered_set>.
Howard Hinnant
2011-06-04 20:18:37 +0000
5f2f14c5d2noexcept for <unordered_map>.
Howard Hinnant
2011-06-04 18:54:24 +0000
8b53768dacMade more implementation details of [multi]map/set noexcept.
Howard Hinnant
2011-06-04 17:10:24 +0000
b2e2a8f6f3noexcept for <set>. Plus a few fixes to noexcept for <map>.
Howard Hinnant
2011-06-04 15:22:34 +0000
7686add61enoexcept for <map>.
Howard Hinnant
2011-06-04 14:31:57 +0000
d1d27a4afanoexcept for <vector>. This also includes installing move_if_noexcept() into vector.
Howard Hinnant
2011-06-03 19:40:40 +0000
53f7d4cc62Bring noexcept for <string> inline with other containers.
Howard Hinnant
2011-06-03 18:40:47 +0000
c560727d5enoexcept for <list>.
Howard Hinnant
2011-06-03 17:30:28 +0000
b965fed10bnoexcept for <forward_list>.
Howard Hinnant
2011-06-03 16:20:53 +0000
009b2c4583After sleeping on it I've decided that all special members that can be noexcept, should be declared so. The client has the traits to detect and branch on this information, and it is often an important optimization. Give deque() a noexcept. Add test for deque default constructor and deque destructor.
Howard Hinnant
2011-06-03 15:16:49 +0000
93f2764b16Add noexcept tests for deque.
Howard Hinnant
2011-06-03 01:46:22 +0000
18884f4e9fSecond try at getting noexcept on move and swap for deque. I changed std::alloctor to propagate_on_container_move_assignment so as to make deque<T> move assignment noexcept. What we really need is a compile-time switch that says an allocator always compares equal.
Howard Hinnant
2011-06-02 21:38:57 +0000
0a612b0891I've become quite disatsified with the lack of noexcept specifications on container move construction, move assignment operator and swap. Without proper decoration on at least move construction, vectors of containers will have unacceptable performance. Here's the fix for deque.
Howard Hinnant
2011-06-02 20:00:14 +0000
8790cabd86noexcept for forward_list.
Howard Hinnant
2011-06-02 16:44:28 +0000
a12beb35e5noexcept for deque.
Howard Hinnant
2011-06-02 16:10:22 +0000
aabf28721bExperimental support for a meaningful __is_swappable<T>::value. This does not appear to be strictly needed for correct functioning of the library. If it causes any problems, I'd rather pull it sooner rather than later.
Howard Hinnant
2011-06-01 19:59:32 +0000
d737382dfdTurning on cxx_nullptr exposed a latent bug in is_function, causing nullptr to wrongly classify as a function. Fixed.
Howard Hinnant
2011-06-01 17:25:11 +0000