Commit Graph

  • 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
  • e80c36e27b Correction to hexfloat hack. Howard Hinnant 2011-05-14 14:33:56 +0000
  • d515df2a50 Fix test bug. Howard Hinnant 2011-05-14 00:07:53 +0000
  • f1151efcb1 Suppress some warings in the tests. Howard Hinnant 2011-05-14 00:04:05 +0000
  • 2d01bf0665 Suppress some warings in the tests. Howard Hinnant 2011-05-13 23:59:50 +0000
  • 0a111118a6 http://llvm.org/bugs/show_bug.cgi?id=9854. Also created an emulated hexfloat literal for use in some of the tests. <sigh> And cleaned up some harmless but irritating warnings in the tests. Howard Hinnant 2011-05-13 21:52:40 +0000
  • 11a58a68e1 http://llvm.org/bugs/show_bug.cgi?id=9118 Howard Hinnant 2011-05-13 17:16:06 +0000
  • 6063ec176d A much improved type_traits for C++0x. Not yet done: is_trivially_constructible, is_trivially_assignable and underlying_type. Howard Hinnant 2011-05-13 14:08:16 +0000
  • 0cfa1f7cbd CWG 1170 has been fixed for destructors Howard Hinnant 2011-05-13 13:39:08 +0000
  • 9e604b442c __is_trivially_copyable now supplied by clang Sean Hunt 2011-05-13 00:32:09 +0000
  • d5c2f255c5 Corrected misspelling Howard Hinnant 2011-05-13 00:03:08 +0000
  • 7bbce3c0e7 Updated to reflect updated use of existing clang support Howard Hinnant 2011-05-13 00:01:01 +0000
  • 6b41c6047b Corrected some bugs in both memory and the tests. Preparing for being able to turn on support for alias templates. Howard Hinnant 2011-05-11 20:21:19 +0000
  • 5d37fb32d2 Redid nothrow traits in terms of non-nothrow traits when noexcept is available Howard Hinnant 2011-05-11 20:19:40 +0000
  • 3666695f0d Updated type_traits and the type_traits design doc with recent work done in clang. Howard Hinnant 2011-05-09 19:21:17 +0000
  • f377dfc9d8 libcpp-22 svn-tags/libcpp-22 Nick Kledzik 2011-05-06 01:13:59 +0000
  • d982028b92 change RC_BUILDIT to RC_XBS for detecting Apple build environment Nick Kledzik 2011-05-06 01:13:20 +0000
  • 39f9709e7f libcpp-21 svn-tags/libcpp-21 Nick Kledzik 2011-05-05 18:50:29 +0000
  • ffadfd4c1e add support for setjmp/longjmp based exceptions Nick Kledzik 2011-05-05 18:45:41 +0000
  • 4faabfaed3 libcpp-20 svn-tags/libcpp-20 Nick Kledzik 2011-05-05 18:35:44 +0000
  • c6e08d6c44 <rdar://problem/9014045> more support for Apple internal build environments Nick Kledzik 2011-05-04 21:50:46 +0000
  • d4c74c170c Tagging 19 svn-tags/libcpp-19 Howard Hinnant 2011-04-29 20:40:52 +0000
  • 469d419a17 Correction to set of overloaded pair constructors for C++0x Howard Hinnant 2011-04-29 18:10:55 +0000
  • 7ac6af7027 Qualify calls to std::next(), to avoid conflicts with libraries/applications that define their own 'next' template. Douglas Gregor 2011-04-29 16:20:26 +0000
  • e14ea5835e http://llvm.org/bugs/show_bug.cgi?id=9765 Howard Hinnant 2011-04-21 14:29:59 +0000
  • 75f7695c62 Think-o in poisson_distribution at mean == 10 Howard Hinnant 2011-04-14 15:59:22 +0000
  • ef3b2e2e34 Fix bug in Sseq constraints found by Seth Cantrell Howard Hinnant 2011-04-11 18:22:12 +0000
  • 9dbeff919b http://llvm.org/bugs/show_bug.cgi?id=9672 Howard Hinnant 2011-04-11 02:18:41 +0000
  • 8c1aa2c24d Changes to cerrno to protect against the case the ELAST is not defined. Howard Hinnant 2011-04-10 19:46:55 +0000
  • 506b36487c time_get was missing the %F specifier. This change impacts the binary. Howard Hinnant 2011-04-10 17:54:14 +0000
  • a02851e8a2 Chris Jefferson found a missing const (Bugzilla 9632) Howard Hinnant 2011-04-05 14:55:28 +0000
  • 3e93e96dff Corrected tests for http://llvm.org/bugs/show_bug.cgi?id=9351 Howard Hinnant 2011-04-04 01:42:30 +0000
  • b8a03c763a ... And these wonderful tests. Howard Hinnant 2011-04-03 20:06:31 +0000
  • d615e47bea Chris Jefferson submitted this patch to fix http://llvm.org/bugs/show_bug.cgi?id=9351 Howard Hinnant 2011-04-03 20:05:29 +0000
  • cd1dac93ba Tagging 18 svn-tags/libcpp-18 Howard Hinnant 2011-04-01 17:35:08 +0000
  • 1badbee851 Tagging 17 svn-tags/libcpp-17 Howard Hinnant 2011-04-01 00:56:31 +0000
  • b35e5e29aa made better error message for <atomic> svn-tags/libcpp-16 Howard Hinnant 2011-04-01 00:54:26 +0000
  • 154002bb5d Provide a more readable error message for <atomic> until it is implemented. Howard Hinnant 2011-03-31 16:39:39 +0000
  • 41fb6e1432 Jonathan Sauer found a bug in the way ^ was handled Howard Hinnant 2011-03-26 20:02:27 +0000
  • 86e78d694c Jonathan Sauer updated is_base_of traits status Howard Hinnant 2011-03-26 19:58:42 +0000
  • 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 +0000
  • d6c08cd1ae Tagging 16 Howard Hinnant 2011-03-11 18:16:05 +0000
  • d0a2fbfe60 http://llvm.org/bugs/show_bug.cgi?id=9444 Howard Hinnant 2011-03-10 17:27:57 +0000
  • f9b8998795 I 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 +0000
  • 6e5e7e78ee Corrected const-correctness on nullptr type_traits, and beefed up the test for nullptr_t. Howard Hinnant 2011-03-09 17:17:06 +0000
  • 5885da34ce Walter Brown brought to my attention that type_traits was failing to correctly classify nullptr_t Howard Hinnant 2011-03-09 15:10:51 +0000
  • 80586729e4 Chris 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 +0000
  • 8dcad976e0 http://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 +0000
  • 542b0f0cf5 http://llvm.org/bugs/show_bug.cgi?id=9349 I have not personally tested this patch. Please let me know if it causes problems. Howard Hinnant 2011-03-02 17:29:46 +0000
  • fddf722f4e Chris 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 +0000
  • 171869e27c Fix 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 +0000
  • df85e57f4a Fixed 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 +0000
  • e7c8da6f2d http://llvm.org/bugs/show_bug.cgi?id=9326 Howard Hinnant 2011-02-25 19:52:41 +0000
  • b2080c70d4 Chris 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 +0000
  • 5a245dbf52 Jean-Daniel Dupas fixes install directions Howard Hinnant 2011-02-22 14:18:34 +0000
  • 3887a2b3a7 Tagging 15 svn-tags/libcpp-15 Howard Hinnant 2011-02-16 17:23:15 +0000
  • 08774c5a22 Change install name to libc++.1.dylib Howard Hinnant 2011-02-16 00:40:06 +0000
  • 6cf5d8c3aa Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris). Howard Hinnant 2011-02-14 19:12:38 +0000
  • c4cbb5b6b7 Update testit to default to clang Howard Hinnant 2011-02-14 18:06:10 +0000
  • 1f7a17489e Tagging 14 svn-tags/libcpp-14 Howard Hinnant 2011-02-11 20:56:00 +0000
  • 621ee222d9 fix stupid type-o Howard Hinnant 2011-02-10 21:34:42 +0000
  • 31b8e617b6 Installed __has_feature(is_convertible_to) and __has_feature(is_base_of) Howard Hinnant 2011-02-10 17:46:03 +0000
  • 47a7cce01e Missing traits::to_int_type in fstream Howard Hinnant 2011-02-02 17:37:16 +0000