Commit Graph

  • f9b6e7eeef Fix warning flags for CMake builds, from Andrew C. Morrow! Douglas Gregor 2012-06-07 22:26:00 +0000
  • caee2b093f Fix a few testsuite bugs involving trailing null (or lack thereof) in strstream. Howard Hinnant 2012-06-01 20:02:59 +0000
  • dbd9eacde0 Fix dangling else clause. Bug found and fixed by Dimitry Andric. Howard Hinnant 2012-05-31 23:12:03 +0000
  • 6467aeb7c9 Fix the new _ALIGNAS_TYPE per instructions supplied by Eli Friedman. Howard Hinnant 2012-05-31 20:14:00 +0000
  • cbdd0896d3 Protect use of alignas against older versions of clang Howard Hinnant 2012-05-31 19:31:14 +0000
  • 635ce1d127 The rules for emplace in map, multimap, unordered_map and unordered_multimap changed a while back and I'm just now updating to these new rules. In a nutshell, you've got to know you're emplacing to a pair and use one of pair's constructors. I made one extension: If you want to emplace the key and default construct the mapped_type, you can just emplace(key), as opposed to emplace(piecewise_construct, forward_as_tuple(key), forward_as_tuple()). Howard Hinnant 2012-05-25 22:04:21 +0000
  • 3e3e5ebc72 Fix memory corruption bug found and fixed by Andrew C. Morrow. Howard Hinnant 2012-05-25 15:55:46 +0000
  • 51065657aa Add documentation regarding -fno-rtti. Howard Hinnant 2012-05-20 13:03:53 +0000
  • 9b763e0945 Revert fix to http://llvm.org/bugs/show_bug.cgi?id=12867 for the reason now included in the code comment. Howard Hinnant 2012-05-19 20:20:49 +0000
  • 0855ddeb24 Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107 Douglas Gregor 2012-05-19 07:14:17 +0000
  • f20f0d3fc5 valarray resize should not be _LIBCPP_INLINE_VISIBILITY Douglas Gregor 2012-05-19 07:01:14 +0000
  • e9e4b855b8 Move _LIBCPP_VISIBLE_INLINE from the out-of-line definitions of member functions to the original declarations, so that Clang will actually see them. Part of <rdar://problem/11489333>. Douglas Gregor 2012-05-19 04:41:25 +0000
  • 762657693d Protect __shared_weak_count::__get_deleter declaration with _LIBCPP_NO_RTTI. Fixes http://llvm.org/bugs/show_bug.cgi?id=12867 Howard Hinnant 2012-05-18 13:06:21 +0000
  • ffa7fbef7b Fix several bugs in find/count specialized for bits. Howard Hinnant 2012-05-10 14:55:00 +0000
  • b3cf4b5b54 Add friends __count_bool_true and __count_bool_false to __bit_iterator. Howard Hinnant 2012-05-10 14:01:40 +0000
  • f867f6326b SFINAE __bit_iterator such that it will only get instantiated with a container that has the nested type __storage_type. This prevents accidental instantiation such as in http://llvm.org/bugs/show_bug.cgi?id=12755. This fixes http://llvm.org/bugs/show_bug.cgi?id=12755. Howard Hinnant 2012-05-07 16:50:38 +0000
  • d2da6d2322 Constrain __bind functor constructor such that it won't accidentally get used as a copy constructor from a non-const lvalue. Fixes <rdar://problem/11359080>. Howard Hinnant 2012-05-04 17:21:02 +0000
  • f07a529b77 Change std::abs from a template function to three overloads for float, double and long double. Howard Hinnant 2012-05-03 14:58:34 +0000
  • 87073e4bfb Greatly scale back ambitions of emulating move semantics in C++03 mode. It was causing more problems than it solved. This fixes http://llvm.org/bugs/show_bug.cgi?id=12704. Howard Hinnant 2012-05-01 15:37:54 +0000
  • c756f5b4e8 libc++: only #include <cxxabi.h> if it exists. This allows libc++ to build out of the box on Linux systems. If you're building against libc++abi, you still need to make sure it can find <cxxabi.h> so it knows not to export symbols which libc++abi provides. Richard Smith 2012-04-19 01:36:12 +0000
  • 9efdc0bd5f libc++: Add some missing #includes to atomics tests. libc++ doesn't need these at the moment, but they allow these tests to be used to test clang against libstdc++. Add myself to the credits file, as suggested by Howard. Richard Smith 2012-04-19 00:50:47 +0000
  • 300c67ab92 Apply noexcept and constexpr to <atomic>. Howard Hinnant 2012-04-11 20:14:21 +0000
  • 6186c7fe6a Switch libc++ from __atomic_* builtins to __c11_atomic_* builtins. Per discussion with Howard, we are not interested in maintaining compatibility with older versions of clang. Richard Smith 2012-04-11 18:55:46 +0000
  • b2292091cb Now that clang supports doing the right thing with regard to atomic initialisation, do the right thing with regard to atomic initialisation. David Chisnall 2012-04-11 17:26:23 +0000
  • d3eca759a2 Fix the remaining atomic tests, all of which were wrong for the case where a compare-and-exchange failed (it should update the expected value to the current value, and the tests were checking that it didn't...). David Chisnall 2012-04-05 13:48:16 +0000
  • 1ee87fa41a Fix test cases that were trying to make atomic things that are not trivially copyable. David Chisnall 2012-04-05 13:23:08 +0000
  • 0341c820a0 Fix use of __atomic_is_lock_free() intrinsic. David Chisnall 2012-04-05 13:13:24 +0000
  • 616e92d748 Put std::piecewise_construct_t back into the dylib for ABI stability. When clients are in C++11/constexpr mode this will be safely ignored because piecewise_construct is then declared with internal linkage. Howard Hinnant 2012-04-03 23:45:46 +0000
  • 2a5349ba66 constexpr support for <utility>. Patch contributed by Jonathan Sauer. Howard Hinnant 2012-04-03 21:09:48 +0000
  • 271a1c03c3 Updated documentation contributed by Christopher Jefferson. Howard Hinnant 2012-04-03 15:08:42 +0000
  • 8efd3dac5d Update <random> with constexpr support. Patch contributed by Jonathan Sauer. Howard Hinnant 2012-04-02 21:00:45 +0000
  • 60cb7d267f Update <limits> with constexpr support. Patch contributed by Jonathan Sauer. Howard Hinnant 2012-04-02 19:23:15 +0000
  • 2cf89a71df Fix test for default constructor of discrete_distribution. This partially addresses http://llvm.org/bugs/show_bug.cgi?id=12436. Howard Hinnant 2012-04-02 15:00:14 +0000
  • 27b4fd30ef This is an initial commit of constexpr support as proposed by Richard Smith. This by no means completes constexpr support. Indeed, it hardly scratches the surface. All it does is lay the foundation in <__config> and changes those few places in the library that are already using that foundation. Howard Hinnant 2012-04-02 00:40:41 +0000
  • dc1345fd44 I believe tuple is still under development in the standard. Daniel Krugler is/will be making convincing arguments that a modified form of LWG 2051 (currently NAD Future) is easily acheivable and desirable. He has demonstrated that a tuple<T...> where all of the T are implicitly convertible from U... should have a tuple constructor that is also implicit, instead of explicit. This would support the use cases in LWG 2051 while not undermining T... with explicit conversions from U.... This check-in is an experimental implementation of Daniel's work. I believe this work to be mature enough to warrant inclusion into libc++. If anyone sees real-world problems that this check in causes, please let me know and I will revert it, and provide the feedback to the LWG. Howard Hinnant 2012-04-01 23:10:42 +0000
  • 9aa4e11451 It appears that the standard accidentally removed the default constructor for error_category. I'm putting it back in. This fixes http://llvm.org/bugs/show_bug.cgi?id=12321. Howard Hinnant 2012-03-21 16:18:57 +0000
  • 87c61a61fe Allow libc++ to be built with CMake from within the LLVM tree. The libc++ part is just some renaming as the variable was already in use, conflicting with something else in the LLVM tree. Contributed by Ruben Van Boxem. Howard Hinnant 2012-03-19 15:40:23 +0000
  • 1378397721 Alter the terminal streams such that they do not get added to the atexit chain, and thus never get destructed. Howard Hinnant 2012-03-16 15:13:51 +0000
  • 21a84cfb8f Undo some overzealous #ifdefs for LIBCXXRT. David Chisnall 2012-03-14 14:11:13 +0000
  • f2533a8798 Make sure [at_]quick_exit is in std:: David Chisnall 2012-03-14 14:10:37 +0000
  • b407d45d83 Don't refer to a function that doesn't exist in the quick_exit test. David Chisnall 2012-03-14 14:02:15 +0000
  • 558ae17391 Fix moneypunct_byname algorithm to more accurately represent C locales in C++. Jeffrey Yasskin 2012-03-10 18:31:43 +0000
  • 05b57d5cdf Change some smart_ptr == 0 to smart_ptr == nullptr. Fixes http://llvm.org/bugs/show_bug.cgi?id=12185. Howard Hinnant 2012-03-07 20:37:43 +0000
  • b56a4ada33 Define _WCHAR_T in solaris/wchar.h. This fixes a bug where Solaris 10 headers try to define C++ keywords as typedefs (fixed in Solaris 11). David Chisnall 2012-03-02 10:56:04 +0000
  • b6e7c305d4 Fix MSVC / Sun #ifdef ordering. Remove another #if-nothing-#endif. David Chisnall 2012-02-29 16:41:21 +0000
  • 26cba271cb Remove a spurious #ifdef / #endif pair with nothing between them. David Chisnall 2012-02-29 16:22:33 +0000
  • fcbaf48f21 Add a warning to ctype<char>::classic_table() if not implemented. Howard Hinnant 2012-02-29 16:08:57 +0000
  • d0ed21e94d I'm reverting one of the changes made to exception.cpp in r151717. I'm unsure what the change was trying to do, but it didn't do the right thing for __APPLE__. So instead of trying to guess what was intended, I'm just putting it back the way it was. Howard Hinnant 2012-02-29 15:37:30 +0000
  • ea2741973a Add support files required for building on Solaris. David Chisnall 2012-02-29 13:17:28 +0000
  • 997e454139 Solaris port. Currently sees around 200 test failures, mostly related to Solaris not providing some of the locales that the test suite uses. David Chisnall 2012-02-29 13:05:08 +0000
  • f2b2cc6440 Make the failure reporting in testit a bit more useful. David Chisnall 2012-02-29 13:00:44 +0000
  • 8fa14e97ca Don't define __locale_raii if we are not going to be using it. David Chisnall 2012-02-29 13:00:07 +0000
  • 1e8b3f96c0 Some libcxxrt-compatibility cleanups (avoid defining things twice). David Chisnall 2012-02-29 12:59:17 +0000
  • 4a13b2dce9 Reduce the number of move constructions when constructing a std::function. This fixes http://llvm.org/bugs/show_bug.cgi?id=12105. Howard Hinnant 2012-02-28 19:47:38 +0000
  • 0438ea241e vector::emplace_back was mistakenly requiring move assignable. Fixed that and did a little drive-by optimization at the same time. This fixes http://llvm.org/bugs/show_bug.cgi?id=12085. Howard Hinnant 2012-02-26 15:30:12 +0000
  • a231c37df7 update test for explicit bool operator. Howard Hinnant 2012-02-25 21:43:14 +0000
  • 9d84832741 At least temporarily move operator new/delete from the abi back to here. I'm having trouble reexporting it as a weak symbol. Howard Hinnant 2012-02-25 21:36:01 +0000
  • 8417c46f8d ReExport some mor symbols from libc++abi. Howard Hinnant 2012-02-25 20:25:07 +0000
  • 896baa2547 Silence some warnings in a test. Howard Hinnant 2012-02-25 20:04:11 +0000
  • 4300839b5f Hook up to the new clang __is_trivially_constructible and __is_trivially_assignable traits. Fixes r10925427 and http://llvm.org/bugs/show_bug.cgi?id=12038. Howard Hinnant 2012-02-24 23:32:26 +0000
  • b9344c218b Use Xcode relative compilers when possible Dave Zarzycki 2012-02-22 00:20:30 +0000
  • 7786188d15 Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. Howard Hinnant 2012-02-21 21:46:43 +0000
  • 3fadda314a Modernize relational operators for shared_ptr and unique_ptr. This includes adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056. Howard Hinnant 2012-02-21 21:02:58 +0000
  • d41b60b2b4 Add missing newlines at EOF. Bob Wilson 2012-02-20 16:56:13 +0000
  • 335b1518e4 Silence -Wmissing-field-initializers a little higher in the source. Howard Hinnant 2012-02-20 16:51:43 +0000
  • e0c3b1e55c Add myself to the CREDITS file. Jeffrey Yasskin 2012-02-19 18:22:03 +0000
  • 3074a05cdc Initialize all the fields of struct tm before passing it to strftime. One of the uninitialized fields, probably the pointer field tm_zone, was causing a segfault on linux. Patch contributed by Jeffrey Yasskin. Howard Hinnant 2012-02-19 14:55:32 +0000
  • 6df1412ca6 Relax pointer output test to accept glibc's output. Patch supplied by Jeffrey Yasskin. Howard Hinnant 2012-02-19 14:51:01 +0000
  • 3508b3836b Give the emulated nullptr_t a default constructor. Howard Hinnant 2012-02-18 22:01:22 +0000
  • 01198b313c Exercise rvalue arguements to make_shared for C++11 mode. Howard Hinnant 2012-02-18 20:12:03 +0000
  • e1642e1c00 Move typeinfos for exceptions in <stdexcept> to the abi Howard Hinnant 2012-02-17 19:24:42 +0000
  • 1e9f55f2d2 Use __is_polymorphic if available. This fixes http://llvm.org/bugs/show_bug.cgi?id=11983 . Patch contributed by Jonathan Sauer. Howard Hinnant 2012-02-15 20:47:11 +0000
  • 2848444954 tuple was accidentally lacking a valid copy assignment operator. It went undetected because I had failed to test assigning from a const lvalue. This fixes http://llvm.org/bugs/show_bug.cgi?id=11921 Howard Hinnant 2012-02-15 20:13:52 +0000
  • b04ad4162d Do not parse sign if a sign is not the next legal character when parsing floating point from an input stream. Fixes http://llvm.org/bugs/show_bug.cgi?id=11871 Howard Hinnant 2012-02-15 19:19:37 +0000
  • d7a2ad6a99 Another stab at fixing http://llvm.org/bugs/show_bug.cgi?id=12007. I earlier missed that there are two common_type definitions and corrected only one of them. Howard Hinnant 2012-02-15 18:08:09 +0000
  • e5285fd6b6 Remove reference from common_type definition. It looks like a recent clang decltype implementation got fixed/improved and exposed this. Fixes http://llvm.org/bugs/show_bug.cgi?id=12007. Howard Hinnant 2012-02-15 15:08:30 +0000
  • b0bfd9bdd6 Implement a few optimizations for vector push_back and insert. Fixes r10828365. Howard Hinnant 2012-02-15 00:41:34 +0000
  • 5f3f35fe64 Provide a move(const T&) overload for C++03 mode to enable moving from rvalues. This is to support proxy references. Fixes r10858112. Howard Hinnant 2012-02-14 16:03:09 +0000
  • 982331b66e Fix up narrowing conversions in switch statement. Howard Hinnant 2012-02-08 19:15:06 +0000
  • 67872dde14 Make attributes on definition consistent with those on declaration. Howard Hinnant 2012-02-03 18:31:43 +0000
  • 3c8432fb5b Added some more symbols to the v2 rexport list. Howard Hinnant 2012-02-02 22:01:34 +0000
  • dea7f39af1 Prepare for running on top of new libc++abi. Howard Hinnant 2012-02-02 20:48:35 +0000
  • b1bc0c4975 Explicitly convert int to future_errc. Fixes http://llvm.org/bugs/show_bug.cgi?id=11428 Howard Hinnant 2012-02-02 20:31:36 +0000
  • 1dd5ccf06c Fix .PHONY target to match new installheaders target. Bob Wilson 2012-01-21 06:16:39 +0000
  • a18778751c Enable full functionality of shared_ptr<const void> by adding allocator<const void>. Credit to John Hurley for discovering this bug. Howard Hinnant 2012-01-19 23:15:22 +0000
  • 6e4971fafe Added installheaders target. Howard Hinnant 2012-01-18 17:44:31 +0000
  • 798e880364 Remove installhdrs target from Makefile Howard Hinnant 2012-01-18 16:07:25 +0000
  • ca1f44d19f Create target installhdrs as a synonym for do-installhdrs. Howard Hinnant 2012-01-18 00:30:57 +0000
  • b9b932fdef Put do-installhdrs target back into Makefile. Howard Hinnant 2012-01-17 17:01:18 +0000
  • fcf7bd1ffe Stop installing headers, this is now done by clang Howard Hinnant 2012-01-17 16:09:32 +0000
  • e1a7b04c58 Fix http://llvm.org/bugs/show_bug.cgi?id=11752 Howard Hinnant 2012-01-12 23:37:51 +0000
  • ae8b16e047 Fix http://llvm.org/bugs/show_bug.cgi?id=11734 Howard Hinnant 2012-01-10 15:15:47 +0000
  • 571994088f 1. Fix make_shared<const T>. 2. Allow allocator<const T> as an extension. 3. Refactor work which fixed unique_ptr<const T[]>. 4. Remove no-longer-needed private declarations from unique_ptr. 5. Add constraints to some shared_ptr and weak_ptr constructors and assignment operators so that is_constructible/is_assignable give the correct answers for shared_ptr and weak_ptr. 6. Make defensive preparations in the shared_ptr free functions for the introduction of shared_ptr<T[]> in the future. 7. As an optimization, add move constructor and move assignment to weak_ptr. Howard Hinnant 2012-01-02 17:56:02 +0000
  • e4d24cec24 Happy new year 2012! NAKAMURA Takumi 2012-01-01 08:16:56 +0000
  • 8292d74270 The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory. Howard Hinnant 2011-12-29 17:45:35 +0000
  • 5586c020c9 Fix memory leak in converting weak_ptr to shared_ptr Howard Hinnant 2011-12-27 22:20:51 +0000
  • 828c2bb86d Creating a stable branch for Apple apple Howard Hinnant 2011-12-22 15:14:10 +0000
  • 6cc99fa338 Fix http://llvm.org/bugs/show_bug.cgi?id=11616 Howard Hinnant 2011-12-19 17:58:44 +0000
  • 83b2c84a3c Some fixes to <atomic> operations to explicitly use atomic types and operations. David Chisnall 2011-12-19 11:44:20 +0000
  • 8e84350ebf Allow unique_ptr<T const []> to be constructed and assigned from a unique_ptr<T[]> Howard Hinnant 2011-12-18 21:19:44 +0000