Commit Graph

  • f3907e6cc0 Reapply 135035 with proper conditional inclusion, hopefully solving issues with it. Sean Hunt 2011-07-15 05:40:33 +0000
  • 912012e949 http://llvm.org/bugs/show_bug.cgi?id=10353 Howard Hinnant 2011-07-14 01:34:46 +0000
  • 22ba71b8ef http://llvm.org/bugs/show_bug.cgi?id=10346 Howard Hinnant 2011-07-13 16:00:50 +0000
  • 8d75632ad0 Reverted 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
  • c97da3a590 Implement 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
  • 0389c53f44 Make sure that __time_put constructors properly on non-Apple platforms. Sean Hunt 2011-07-12 00:55:04 +0000
  • 66f2641ac9 Toralf Niebuhr: This is just a tiny patch fixing some small (probably copy & paste) errors. Howard Hinnant 2011-07-09 19:47:01 +0000
  • 2bf1c08510 Make vector<bool>::reference and const_reference public Howard Hinnant 2011-07-09 15:50:42 +0000
  • 6f0342cf2e Don'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
  • e59f724f79 Conditionally wrap the changes from r134781. Sean Hunt 2011-07-09 01:09:31 +0000
  • 62a6ac33a2 Implement generalized table lookups for upper, lower, and character traits. Sean Hunt 2011-07-09 00:56:23 +0000
  • 11f376d956 libcpp-24 svn-tags/libcpp-24 Nick Kledzik 2011-07-08 19:51:27 +0000
  • 043fe1d931 provide ~future_error() definition Howard Hinnant 2011-07-08 00:04:40 +0000
  • cb05a0801a Fix typo Sean Hunt 2011-07-07 22:45:07 +0000
  • ac6de546bd Fixing up some ABI issues Howard Hinnant 2011-07-07 21:03:52 +0000
  • 12c3d374a5 <inttypes.h> does not necessarily include <stdint.h>. Accordingly, do not test for this. Sean Hunt 2011-07-06 20:52:28 +0000
  • 9f66bffdbe Fix uninitialized loop counter. http://llvm.org/bugs/show_bug.cgi?id=10278 Howard Hinnant 2011-07-05 14:14:17 +0000
  • 3c8894b078 Make the default Makefile less destructive: John McCall Howard Hinnant 2011-07-04 14:12:27 +0000
  • f03c3b4612 http://llvm.org/bugs/show_bug.cgi?id=10248 Howard Hinnant 2011-07-02 20:33:23 +0000
  • 90d7785eba http://llvm.org/bugs/show_bug.cgi?id=10250 Howard Hinnant 2011-07-02 18:22:36 +0000
  • 74248888ab Changed constraints on pair and tuple constructors from is_convertible to is_constructible. Howard Hinnant 2011-07-01 20:12:51 +0000
  • 61aa6013c3 Correct for new rules regarding implicitly deleted special members. http://llvm.org/bugs/show_bug.cgi?id=10191 Howard Hinnant 2011-07-01 19:24:36 +0000
  • 0949eedbd6 _STD -> _VSTD to avoid macro clash on windows Howard Hinnant 2011-06-30 21:18:19 +0000
  • d318d49e5c Patch by Petteri Räty, http://llvm.org/bugs/show_bug.cgi?id=8992 Howard Hinnant 2011-06-30 14:21:55 +0000
  • a2a08b43ee test for pair piecewise construction Howard Hinnant 2011-06-22 23:51:19 +0000
  • 35d2fcfc8e Teach 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
  • f5d76a7afc Add instructions for -U__STRICT_ANSI__ for Mac OS 10.6 Howard Hinnant 2011-06-22 12:13:55 +0000
  • 7604fea08c More 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
  • d4b957820c Miscellaneous minor fixes in <type_traits> Howard Hinnant 2011-06-19 19:12:59 +0000
  • 2b1b2d40d7 Provide 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
  • 8f5f2563aa more Apple build system tweaks Nick Kledzik 2011-06-09 23:31:35 +0000
  • e06f0c4111 more Apple build system tweaks svn-tags/libcpp-23.1 Nick Kledzik 2011-06-09 23:30:26 +0000
  • 2bdb250fe8 libcpp-23.1 Nick Kledzik 2011-06-09 22:18:19 +0000
  • c7c3891199 Update CREDITS.TXT Howard Hinnant 2011-06-09 16:53:33 +0000
  • c28dbeee52 Move nullptr_t to unversioned namespace: Sean Hunt Howard Hinnant 2011-06-05 13:00:46 +0000
  • 58cd8231d8 noexcept for <stack>. This completes noexcept for Chapter 23 [containers]. Howard Hinnant 2011-06-04 22:09:19 +0000
  • 6a09441022 noexcept for <queue>. Howard Hinnant 2011-06-04 21:32:33 +0000
  • 04dae1df22 noexcept for <unordered_set>. Howard Hinnant 2011-06-04 20:18:37 +0000
  • 5f2f14c5d2 noexcept for <unordered_map>. Howard Hinnant 2011-06-04 18:54:24 +0000
  • 8b53768dac Made more implementation details of [multi]map/set noexcept. Howard Hinnant 2011-06-04 17:10:24 +0000
  • b2e2a8f6f3 noexcept for <set>. Plus a few fixes to noexcept for <map>. Howard Hinnant 2011-06-04 15:22:34 +0000
  • 7686add61e noexcept for <map>. Howard Hinnant 2011-06-04 14:31:57 +0000
  • d1d27a4afa noexcept for <vector>. This also includes installing move_if_noexcept() into vector. Howard Hinnant 2011-06-03 19:40:40 +0000
  • 53f7d4cc62 Bring noexcept for <string> inline with other containers. Howard Hinnant 2011-06-03 18:40:47 +0000
  • c560727d5e noexcept for <list>. Howard Hinnant 2011-06-03 17:30:28 +0000
  • b965fed10b noexcept for <forward_list>. Howard Hinnant 2011-06-03 16:20:53 +0000
  • 009b2c4583 After 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
  • 93f2764b16 Add noexcept tests for deque. Howard Hinnant 2011-06-03 01:46:22 +0000
  • 18884f4e9f Second 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
  • 0a612b0891 I'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
  • 8790cabd86 noexcept for forward_list. Howard Hinnant 2011-06-02 16:44:28 +0000
  • a12beb35e5 noexcept for deque. Howard Hinnant 2011-06-02 16:10:22 +0000
  • aabf28721b Experimental 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
  • d737382dfd Turning 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
  • 083ba5f5ca I've seen this question enough times to know that it should be fixed: http://stackoverflow.com/questions/6193734/implicit-conversions-with-stdfunction Howard Hinnant 2011-05-31 21:45:26 +0000
  • f0562af9dd noexcept for <array>. Howard Hinnant 2011-05-31 21:06:33 +0000
  • 20eda8b563 Upgrade <ratio> to use template aliases when available. Howard Hinnant 2011-05-31 16:55:36 +0000
  • c983454d30 noexcept for Chapter 22 [localization]. Howard Hinnant 2011-05-31 15:34:58 +0000
  • c26fd8061e Add _ATTRIBUTE macro for gcc: Justin Hibbits Howard Hinnant 2011-05-31 13:13:49 +0000
  • a6119a86c5 noexcept for Chapter 21 [strings]. Howard Hinnant 2011-05-29 19:57:12 +0000
  • d5fed03778 http://llvm.org/bugs/show_bug.cgi?id=10045 . Please review, I have not tested this on linux. Howard Hinnant 2011-05-29 13:57:49 +0000
  • ad1a5cc5f0 minor documentation update Howard Hinnant 2011-05-29 13:53:56 +0000
  • 0687adca37 noexcept for <typeindex>. This completes Chapter 20 [utilities]. Howard Hinnant 2011-05-28 18:57:24 +0000
  • 0667433587 noexcept for <scoped_allocator>. Howard Hinnant 2011-05-28 18:51:12 +0000
  • 756a1763d1 noexcept for <chrono>. Howard Hinnant 2011-05-28 18:34:36 +0000
  • 603d2c0989 noexcept for <functional>. Howard Hinnant 2011-05-28 17:59:48 +0000
  • 1694d23e23 noexcept for <memory>. I've added a few extension noexcept to: allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const. My rationale was: If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept. We're all a little new to noexcept, so things like this are to be expected. Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|. And fixed a test case for is_nothrow_destructible. Destructors are now noexcept by default| Howard Hinnant 2011-05-28 14:41:13 +0000
  • 10f25d2739 noexcept for <bitset>. Howard Hinnant 2011-05-27 20:52:28 +0000
  • a5e0121b8d noexcept for <tuple>. And in the process learned that I had done it wrong for pair's swap. I needed to create an __is_nothrow_swappable<T>::value trait that was smart enought to answer false when __is_swappable<T>::value is false. Otherwise one gets compile-time errors when using pair or tuple of non-swappable types, even if you never try to swap the pair or tuple. Howard Hinnant 2011-05-27 19:08:18 +0000
  • e9b2c2d669 noexcept for <utility>. This included a little repair on pair, and some noexcept workarounds. Howard Hinnant 2011-05-27 15:04:19 +0000
  • 1e15fd1856 Applied noexcept to everything in [diagnostics] (Chapter 19) Howard Hinnant 2011-05-26 19:48:01 +0000
  • 19ce6a4792 Turn on cxx_alias_templates support Howard Hinnant 2011-05-26 19:07:54 +0000
  • ed56921d6e Applied noexcept to everything in [language.support] (Chapter 18) Howard Hinnant 2011-05-26 18:23:59 +0000
  • 4b7a43da34 Added [[noreturn]] attribute everywhere it should be Howard Hinnant 2011-05-26 17:07:32 +0000
  • b7842d1bad libcpp-23 svn-tags/libcpp-23 Nick Kledzik 2011-05-24 20:29:16 +0000
  • 8feadca3fa support another Apple build environment Nick Kledzik 2011-05-24 20:27:31 +0000
  • 1122fec973 on Darwin re-export C++0x type infos Nick Kledzik 2011-05-24 20:26:04 +0000
  • 20542c0b94 http://llvm.org/bugs/show_bug.cgi?id=9399 fixed by Ryuta Suzuki Howard Hinnant 2011-05-24 12:54:00 +0000
  • ef54251a84 Fix const correctness bug in bind involving reference_wrapper found by Jonathan Sauer Howard Hinnant 2011-05-22 15:07:43 +0000
  • e003ce4899 __invokable and __invoke_of now check for incomplete types and issue a compile-time diagnostic if they are used with incomplete types for anything except a return type. Note that both arguments *and* parameters are checked for completeness. Howard Hinnant 2011-05-22 00:09:02 +0000
  • bd89e4b0dd This is a simplified (and superior) implementation of __invoke, __invokable and __invoke_of. It is superior in that __invoke now handles reference qualified member functions whereas the previous implementation did not. And it simply has less infrastructure in its implementation. I'm still learning how to program in C++11 (and probably will be for a long time). This change does not impact the behavior we're seeing in http://llvm.org/bugs/show_bug.cgi?id=9975 Howard Hinnant 2011-05-20 22:02:53 +0000
  • 0148a838d0 Simplied bind using __invoke. In the process, found and fixed a couple of bugs. C++11 only. Howard Hinnant 2011-05-19 19:41:47 +0000
  • 57cff290a4 I had a giant misunderstanding of what 'synchronizes with' meant in [futures.async]/p5. This invalidated the current design of async in <future>. This is a new design, based on my new understanding, which has been confirmed on the lwg mailing list. The summary is that ~future() (and ~shared_future()) will block when they are created from within async, and the thread hasn't finished yet. As part of this work I created two new type traits: __invokable<F, Args...>::value and __invoke_of<F, Args...>::type. These are what result_of<F(Args...)> wanted to be when it grew up, but never will be. __invoke_of is carefully crafted so that it can serve as its own enable_if (type doesn't exist if the signature isn't invokable). All of this work is C++11 only. Howard Hinnant 2011-05-19 15:05:04 +0000
  • 3dd965bdf9 This commit was accidental. Reverting. Howard Hinnant 2011-05-18 00:47:00 +0000
  • 932209b344 A bunch of future tests got invalidated with the latest updates to thread. Fixed the tests. Howard Hinnant 2011-05-17 23:32:48 +0000
  • fead2e2de9 Fix ambiguity in operator== of scoped_allocator_adaptor. Howard Hinnant 2011-05-17 20:41:18 +0000
  • 6b9826b2dc Fixed bug in recently introduced bind move constructor Howard Hinnant 2011-05-17 20:27:51 +0000
  • 6cbf9f9b25 Fix and beef up test bug for move_if_noexcept Howard Hinnant 2011-05-17 20:10:42 +0000
  • 97ecd64913 Clean up a bunch of warnings in the tests, 3 of which actually turned out to be test bugs. Howard Hinnant 2011-05-17 19:12:55 +0000
  • ad935d583d Brought call_once variadic call up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters. Howard Hinnant 2011-05-16 19:05:11 +0000
  • 656bdc3667 Brought thread variadic constructor up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters. Howard Hinnant 2011-05-16 18:40:35 +0000
  • ed22f562e5 Supply missing std::qualifier to call. Howard Hinnant 2011-05-16 16:20:59 +0000
  • 941138f8c9 Spit 5th bullet __invoke into function pointers and everything else because result_of doesn't deal with function pointers. Howard Hinnant 2011-05-16 16:20:21 +0000
  • 496934a803 Supply missing move ctor in __bind_r, though this one will eventually be defaulted Howard Hinnant 2011-05-16 16:19:01 +0000
  • 37c53b6221 Redesign of result_of to handle reference-qualified member functions Howard Hinnant 2011-05-16 16:17:21 +0000
  • 5ec7f5a518 Fix type-o found by Justin Hibbits Howard Hinnant 2011-05-14 18:20:45 +0000
  • e06b9965ad Fix type-o found by Justin Hibbits Howard Hinnant 2011-05-14 17:24:22 +0000
  • f6cc833ae7 Warning suppression in test. Howard Hinnant 2011-05-14 15:38:08 +0000
  • 783b810cae Warning suppression in test. Howard Hinnant 2011-05-14 15:36:25 +0000
  • a5a0ba86c8 Warning suppression in test. Howard Hinnant 2011-05-14 14:53:12 +0000