b3296ae5bcTest commit
Dave Zarzycki
2011-07-22 17:08:57 +00:00
bf6666f7a0Correct test.
Howard Hinnant
2011-07-19 01:07:49 +00:00
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 +00:00
13aaf422e4Make all fstream tests use tmpnam if creating files, rather than hard-coded names.
Sean Hunt
2011-07-18 23:51:21 +00:00
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 +00:00
737a351850Given that __underlying_type is now available in clang, implement std::underlying_type.
Sean Hunt
2011-07-18 18:37:21 +00:00
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 +00:00
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 +00:00
f3907e6cc0Reapply 135035 with proper conditional inclusion, hopefully solving issues with it.
Sean Hunt
2011-07-15 05:40:33 +00:00
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 +00:00
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 +00:00
0389c53f44Make sure that __time_put constructors properly on non-Apple platforms.
Sean Hunt
2011-07-12 00:55:04 +00:00
66f2641ac9Toralf Niebuhr: This is just a tiny patch fixing some small (probably copy & paste) errors.
Howard Hinnant
2011-07-09 19:47:01 +00:00
2bf1c08510Make vector<bool>::reference and const_reference public
Howard Hinnant
2011-07-09 15:50:42 +00:00
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 +00:00
e59f724f79Conditionally wrap the changes from r134781.
Sean Hunt
2011-07-09 01:09:31 +00:00
62a6ac33a2Implement generalized table lookups for upper, lower, and character traits.
Sean Hunt
2011-07-09 00:56:23 +00:00
a2a08b43eetest for pair piecewise construction
Howard Hinnant
2011-06-22 23:51:19 +00:00
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 +00:00
f5d76a7afcAdd instructions for -U__STRICT_ANSI__ for Mac OS 10.6
Howard Hinnant
2011-06-22 12:13:55 +00:00
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 +00:00
d4b957820cMiscellaneous minor fixes in <type_traits>
Howard Hinnant
2011-06-19 19:12:59 +00:00
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 +00:00
2bdb250fe8libcpp-23.1
Nick Kledzik
2011-06-09 22:18:19 +00:00
c7c3891199Update CREDITS.TXT
Howard Hinnant
2011-06-09 16:53:33 +00:00
c28dbeee52Move nullptr_t to unversioned namespace: Sean Hunt
Howard Hinnant
2011-06-05 13:00:46 +00:00
58cd8231d8noexcept for <stack>. This completes noexcept for Chapter 23 [containers].
Howard Hinnant
2011-06-04 22:09:19 +00:00
6a09441022noexcept for <queue>.
Howard Hinnant
2011-06-04 21:32:33 +00:00
04dae1df22noexcept for <unordered_set>.
Howard Hinnant
2011-06-04 20:18:37 +00:00
5f2f14c5d2noexcept for <unordered_map>.
Howard Hinnant
2011-06-04 18:54:24 +00:00
8b53768dacMade more implementation details of [multi]map/set noexcept.
Howard Hinnant
2011-06-04 17:10:24 +00:00
b2e2a8f6f3noexcept for <set>. Plus a few fixes to noexcept for <map>.
Howard Hinnant
2011-06-04 15:22:34 +00:00
7686add61enoexcept for <map>.
Howard Hinnant
2011-06-04 14:31:57 +00:00
d1d27a4afanoexcept for <vector>. This also includes installing move_if_noexcept() into vector.
Howard Hinnant
2011-06-03 19:40:40 +00:00
53f7d4cc62Bring noexcept for <string> inline with other containers.
Howard Hinnant
2011-06-03 18:40:47 +00:00
c560727d5enoexcept for <list>.
Howard Hinnant
2011-06-03 17:30:28 +00:00
b965fed10bnoexcept for <forward_list>.
Howard Hinnant
2011-06-03 16:20:53 +00:00
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 +00:00
93f2764b16Add noexcept tests for deque.
Howard Hinnant
2011-06-03 01:46:22 +00:00
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 +00:00
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 +00:00
8790cabd86noexcept for forward_list.
Howard Hinnant
2011-06-02 16:44:28 +00:00
a12beb35e5noexcept for deque.
Howard Hinnant
2011-06-02 16:10:22 +00:00
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 +00:00
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 +00:00