f9b6e7eeefFix warning flags for CMake builds, from Andrew C. Morrow!
Douglas Gregor
2012-06-07 22:26:00 +0000
caee2b093fFix a few testsuite bugs involving trailing null (or lack thereof) in strstream.
Howard Hinnant
2012-06-01 20:02:59 +0000
dbd9eacde0Fix dangling else clause. Bug found and fixed by Dimitry Andric.
Howard Hinnant
2012-05-31 23:12:03 +0000
6467aeb7c9Fix the new _ALIGNAS_TYPE per instructions supplied by Eli Friedman.
Howard Hinnant
2012-05-31 20:14:00 +0000
cbdd0896d3Protect use of alignas against older versions of clang
Howard Hinnant
2012-05-31 19:31:14 +0000
635ce1d127The 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
3e3e5ebc72Fix memory corruption bug found and fixed by Andrew C. Morrow.
Howard Hinnant
2012-05-25 15:55:46 +0000
51065657aaAdd documentation regarding -fno-rtti.
Howard Hinnant
2012-05-20 13:03:53 +0000
0855ddeb24Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107
Douglas Gregor
2012-05-19 07:14:17 +0000
f20f0d3fc5valarray resize should not be _LIBCPP_INLINE_VISIBILITY
Douglas Gregor
2012-05-19 07:01:14 +0000
e9e4b855b8Move _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
d2da6d2322Constrain __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
f07a529b77Change std::abs from a template function to three overloads for float, double and long double.
Howard Hinnant
2012-05-03 14:58:34 +0000
87073e4bfbGreatly 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
c756f5b4e8libc++: 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
9efdc0bd5flibc++: 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
300c67ab92Apply noexcept and constexpr to <atomic>.
Howard Hinnant
2012-04-11 20:14:21 +0000
6186c7fe6aSwitch 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
b2292091cbNow 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
d3eca759a2Fix 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
1ee87fa41aFix test cases that were trying to make atomic things that are not trivially copyable.
David Chisnall
2012-04-05 13:23:08 +0000
0341c820a0Fix use of __atomic_is_lock_free() intrinsic.
David Chisnall
2012-04-05 13:13:24 +0000
616e92d748Put 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
2a5349ba66constexpr support for <utility>. Patch contributed by Jonathan Sauer.
Howard Hinnant
2012-04-03 21:09:48 +0000
271a1c03c3Updated documentation contributed by Christopher Jefferson.
Howard Hinnant
2012-04-03 15:08:42 +0000
8efd3dac5dUpdate <random> with constexpr support. Patch contributed by Jonathan Sauer.
Howard Hinnant
2012-04-02 21:00:45 +0000
60cb7d267fUpdate <limits> with constexpr support. Patch contributed by Jonathan Sauer.
Howard Hinnant
2012-04-02 19:23:15 +0000
27b4fd30efThis 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
dc1345fd44I 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
9aa4e11451It 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
87c61a61feAllow 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
1378397721Alter 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
21a84cfb8fUndo some overzealous #ifdefs for LIBCXXRT.
David Chisnall
2012-03-14 14:11:13 +0000
f2533a8798Make sure [at_]quick_exit is in std::
David Chisnall
2012-03-14 14:10:37 +0000
b407d45d83Don't refer to a function that doesn't exist in the quick_exit test.
David Chisnall
2012-03-14 14:02:15 +0000
558ae17391Fix moneypunct_byname algorithm to more accurately represent C locales in C++.
Jeffrey Yasskin
2012-03-10 18:31:43 +0000
b56a4ada33Define _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
b6e7c305d4Fix MSVC / Sun #ifdef ordering. Remove another #if-nothing-#endif.
David Chisnall
2012-02-29 16:41:21 +0000
26cba271cbRemove a spurious #ifdef / #endif pair with nothing between them.
David Chisnall
2012-02-29 16:22:33 +0000
fcbaf48f21Add a warning to ctype<char>::classic_table() if not implemented.
Howard Hinnant
2012-02-29 16:08:57 +0000
d0ed21e94dI'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
ea2741973aAdd support files required for building on Solaris.
David Chisnall
2012-02-29 13:17:28 +0000
997e454139Solaris 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
f2b2cc6440Make the failure reporting in testit a bit more useful.
David Chisnall
2012-02-29 13:00:44 +0000
8fa14e97caDon't define __locale_raii if we are not going to be using it.
David Chisnall
2012-02-29 13:00:07 +0000
1e8b3f96c0Some libcxxrt-compatibility cleanups (avoid defining things twice).
David Chisnall
2012-02-29 12:59:17 +0000
0438ea241evector::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
a231c37df7update test for explicit bool operator.
Howard Hinnant
2012-02-25 21:43:14 +0000
9d84832741At 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
8417c46f8dReExport some mor symbols from libc++abi.
Howard Hinnant
2012-02-25 20:25:07 +0000
896baa2547Silence some warnings in a test.
Howard Hinnant
2012-02-25 20:04:11 +0000
3fadda314aModernize 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
d41b60b2b4Add missing newlines at EOF.
Bob Wilson
2012-02-20 16:56:13 +0000
335b1518e4Silence -Wmissing-field-initializers a little higher in the source.
Howard Hinnant
2012-02-20 16:51:43 +0000
e0c3b1e55cAdd myself to the CREDITS file.
Jeffrey Yasskin
2012-02-19 18:22:03 +0000
3074a05cdcInitialize 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
6df1412ca6Relax pointer output test to accept glibc's output. Patch supplied by Jeffrey Yasskin.
Howard Hinnant
2012-02-19 14:51:01 +0000
3508b3836bGive the emulated nullptr_t a default constructor.
Howard Hinnant
2012-02-18 22:01:22 +0000
01198b313cExercise rvalue arguements to make_shared for C++11 mode.
Howard Hinnant
2012-02-18 20:12:03 +0000
e1642e1c00Move typeinfos for exceptions in <stdexcept> to the abi
Howard Hinnant
2012-02-17 19:24:42 +0000
2848444954tuple 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
b04ad4162dDo 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
d7a2ad6a99Another 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
e5285fd6b6Remove 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
b0bfd9bdd6Implement a few optimizations for vector push_back and insert. Fixes r10828365.
Howard Hinnant
2012-02-15 00:41:34 +0000
5f3f35fe64Provide 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
982331b66eFix up narrowing conversions in switch statement.
Howard Hinnant
2012-02-08 19:15:06 +0000
67872dde14Make attributes on definition consistent with those on declaration.
Howard Hinnant
2012-02-03 18:31:43 +0000
3c8432fb5bAdded some more symbols to the v2 rexport list.
Howard Hinnant
2012-02-02 22:01:34 +0000
dea7f39af1Prepare for running on top of new libc++abi.
Howard Hinnant
2012-02-02 20:48:35 +0000
1dd5ccf06cFix .PHONY target to match new installheaders target.
Bob Wilson
2012-01-21 06:16:39 +0000
a18778751cEnable 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
6e4971fafeAdded installheaders target.
Howard Hinnant
2012-01-18 17:44:31 +0000
798e880364Remove installhdrs target from Makefile
Howard Hinnant
2012-01-18 16:07:25 +0000
ca1f44d19fCreate target installhdrs as a synonym for do-installhdrs.
Howard Hinnant
2012-01-18 00:30:57 +0000
b9b932fdefPut do-installhdrs target back into Makefile.
Howard Hinnant
2012-01-17 17:01:18 +0000
fcf7bd1ffeStop installing headers, this is now done by clang
Howard Hinnant
2012-01-17 16:09:32 +0000
571994088f1. 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
e4d24cec24Happy new year 2012!
NAKAMURA Takumi
2012-01-01 08:16:56 +0000
8292d74270The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory.
Howard Hinnant
2011-12-29 17:45:35 +0000
5586c020c9Fix memory leak in converting weak_ptr to shared_ptr
Howard Hinnant
2011-12-27 22:20:51 +0000
828c2bb86dCreating a stable branch for Apple
apple
Howard Hinnant
2011-12-22 15:14:10 +0000