summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
* Apply noexcept and constexpr to <atomic>.Howard Hinnant2012-04-111-323/+323
| | | | llvm-svn: 154526
* Switch libc++ from __atomic_* builtins to __c11_atomic_* builtins.Richard Smith2012-04-111-38/+38
| | | | | | | | | | Per discussion with Howard, we are not interested in maintaining compatibility with older versions of clang. All tests pass with ToT clang, except for two which assert due to a pre-existing, unrelated bug. llvm-svn: 154521
* Now that clang supports doing the right thing with regard to atomicDavid Chisnall2012-04-111-4/+4
| | | | | | | initialisation, do the right thing with regard to atomic initialisation. Note: clang r154507 or later required for <atomic> to work now. llvm-svn: 154508
* Fix the remaining atomic tests, all of which were wrong for the case where aDavid Chisnall2012-04-057-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compare-and-exchange failed (it should update the expected value to the current value, and the tests were checking that it didn't...). Results of the atomics part of the test suite on FreeBSD with clang trunk and the atomic.c from compiler-rt (currently kludged into the test, not installed properly): **************************************************** Results for /root/libc++/test/atomics: using clang version 3.1 (trunk 153415) Target: x86_64-unknown-freebsd10.0 Thread model: posix with -std=c++0x -stdlib=libc++ -pthread /tmp/atomic.o ---------------------------------------------------- sections without tests : 0 sections with failures : 0 sections without failures: 14 + ---- total number of sections : 14 ---------------------------------------------------- number of tests failed : 0 number of tests passed : 52 + ---- total number of tests : 52 **************************************************** Yay! llvm-svn: 154095
* Fix test cases that were trying to make atomic things that are not trivially ↵David Chisnall2012-04-0511-44/+0
| | | | | | | | copyable. Now all of the test cases compile. Some of them even run! llvm-svn: 154094
* Fix use of __atomic_is_lock_free() intrinsic.David Chisnall2012-04-051-2/+2
| | | | llvm-svn: 154093
* Put std::piecewise_construct_t back into the dylib for ABI stability. When ↵Howard Hinnant2012-04-032-3/+2
| | | | | | clients are in C++11/constexpr mode this will be safely ignored because piecewise_construct is then declared with internal linkage. llvm-svn: 153981
* constexpr support for <utility>. Patch contributed by Jonathan Sauer.Howard Hinnant2012-04-032-2/+7
| | | | llvm-svn: 153968
* Updated documentation contributed by Christopher Jefferson.Howard Hinnant2012-04-031-1/+3
| | | | llvm-svn: 153955
* Update <random> with constexpr support. Patch contributed by Jonathan Sauer.Howard Hinnant2012-04-026-102/+132
| | | | llvm-svn: 153896
* Update <limits> with constexpr support. Patch contributed by Jonathan Sauer.Howard Hinnant2012-04-022-417/+420
| | | | llvm-svn: 153888
* Fix test for default constructor of discrete_distribution. This partially ↵Howard Hinnant2012-04-021-6/+3
| | | | | | addresses http://llvm.org/bugs/show_bug.cgi?id=12436. llvm-svn: 153873
* This is an initial commit of constexpr support as proposed by Richard Smith. ↵Howard Hinnant2012-04-024-15/+10
| | | | | | 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. llvm-svn: 153856
* I believe tuple is still under development in the standard. Daniel Krugler ↵Howard Hinnant2012-04-014-11/+105
| | | | | | 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. llvm-svn: 153855
* It appears that the standard accidentally removed the default constructor ↵Howard Hinnant2012-03-211-1/+1
| | | | | | for error_category. I'm putting it back in. This fixes http://llvm.org/bugs/show_bug.cgi?id=12321. llvm-svn: 153194
* Allow libc++ to be built with CMake from within the LLVM tree. The libc++ ↵Howard Hinnant2012-03-192-12/+12
| | | | | | 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. llvm-svn: 153036
* Alter the terminal streams such that they do not get added to the atexit ↵Howard Hinnant2012-03-161-25/+38
| | | | | | chain, and thus never get destructed. llvm-svn: 152926
* Undo some overzealous #ifdefs for LIBCXXRT.David Chisnall2012-03-142-10/+11
| | | | llvm-svn: 152718
* Make sure [at_]quick_exit is in std::David Chisnall2012-03-142-0/+8
| | | | llvm-svn: 152717
* Don't refer to a function that doesn't exist in the quick_exit test.David Chisnall2012-03-141-1/+1
| | | | llvm-svn: 152716
* Fix moneypunct_byname algorithm to more accurately represent C locales in C++.Jeffrey Yasskin2012-03-108-222/+412
| | | | llvm-svn: 152501
* Change some smart_ptr == 0 to smart_ptr == nullptr. Fixes ↵Howard Hinnant2012-03-072-7/+7
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=12185. llvm-svn: 152240
* Define _WCHAR_T in solaris/wchar.h. This fixes a bug where Solaris 10 headersDavid Chisnall2012-03-021-0/+1
| | | | | | try to define C++ keywords as typedefs (fixed in Solaris 11). llvm-svn: 151890
* Fix MSVC / Sun #ifdef ordering. Remove another #if-nothing-#endif.David Chisnall2012-02-291-4/+2
| | | | | | Sorry for the churn. llvm-svn: 151731
* Remove a spurious #ifdef / #endif pair with nothing between them.David Chisnall2012-02-291-2/+0
| | | | llvm-svn: 151729
* Add a warning to ctype<char>::classic_table() if not implemented.Howard Hinnant2012-02-291-0/+1
| | | | llvm-svn: 151728
* I'm reverting one of the changes made to exception.cpp in r151717. I'm ↵Howard Hinnant2012-02-291-0/+4
| | | | | | 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. llvm-svn: 151727
* Add support files required for building on Solaris.David Chisnall2012-02-297-0/+606
| | | | llvm-svn: 151721
* Solaris port. Currently sees around 200 test failures, mostly related toDavid Chisnall2012-02-299-9/+79
| | | | | | | | | | Solaris not providing some of the locales that the test suite uses. Note: This depends on an xlocale (partial) implementation for Solaris and a couple of fixed standard headers. These will be committed to a branch later today. llvm-svn: 151720
* Make the failure reporting in testit a bit more useful.David Chisnall2012-02-291-2/+4
| | | | llvm-svn: 151719
* Don't define __locale_raii if we are not going to be using it.David Chisnall2012-02-291-0/+2
| | | | llvm-svn: 151718
* Some libcxxrt-compatibility cleanups (avoid defining things twice).David Chisnall2012-02-293-30/+31
| | | | llvm-svn: 151717
* Reduce the number of move constructions when constructing a std::function. ↵Howard Hinnant2012-02-281-2/+16
| | | | | | This fixes http://llvm.org/bugs/show_bug.cgi?id=12105. llvm-svn: 151652
* vector::emplace_back was mistakenly requiring move assignable. Fixed that ↵Howard Hinnant2012-02-261-6/+19
| | | | | | and did a little drive-by optimization at the same time. This fixes http://llvm.org/bugs/show_bug.cgi?id=12085. llvm-svn: 151492
* update test for explicit bool operator.Howard Hinnant2012-02-251-3/+3
| | | | llvm-svn: 151461
* At least temporarily move operator new/delete from the abi back to here. ↵Howard Hinnant2012-02-252-10/+10
| | | | | | I'm having trouble reexporting it as a weak symbol. llvm-svn: 151459
* ReExport some mor symbols from libc++abi.Howard Hinnant2012-02-251-0/+42
| | | | llvm-svn: 151453
* Silence some warnings in a test.Howard Hinnant2012-02-251-0/+2
| | | | llvm-svn: 151451
* Hook up to the new clang __is_trivially_constructible and ↵Howard Hinnant2012-02-243-55/+77
| | | | | | __is_trivially_assignable traits. Fixes r10925427 and http://llvm.org/bugs/show_bug.cgi?id=12038. llvm-svn: 151406
* Use Xcode relative compilers when possibleDave Zarzycki2012-02-221-1/+6
| | | | llvm-svn: 151108
* Modernize conversion to bool to the explicit bool conversion operator ↵Howard Hinnant2012-02-219-14/+22
| | | | | | (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. llvm-svn: 151088
* Modernize relational operators for shared_ptr and unique_ptr. This includes ↵Howard Hinnant2012-02-215-8/+377
| | | | | | adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056. llvm-svn: 151084
* Add missing newlines at EOF.Bob Wilson2012-02-202-2/+2
| | | | llvm-svn: 150965
* Silence -Wmissing-field-initializers a little higher in the source.Howard Hinnant2012-02-201-1/+2
| | | | llvm-svn: 150964
* Add myself to the CREDITS file.Jeffrey Yasskin2012-02-191-0/+5
| | | | llvm-svn: 150935
* Initialize all the fields of struct tm before passing it to strftime. One of ↵Howard Hinnant2012-02-191-2/+2
| | | | | | the uninitialized fields, probably the pointer field tm_zone, was causing a segfault on linux. Patch contributed by Jeffrey Yasskin. llvm-svn: 150929
* Relax pointer output test to accept glibc's output. Patch supplied by ↵Howard Hinnant2012-02-191-1/+1
| | | | | | Jeffrey Yasskin. llvm-svn: 150927
* Give the emulated nullptr_t a default constructor.Howard Hinnant2012-02-181-0/+1
| | | | llvm-svn: 150893
* Exercise rvalue arguements to make_shared for C++11 mode.Howard Hinnant2012-02-181-0/+11
| | | | llvm-svn: 150887
* Move typeinfos for exceptions in <stdexcept> to the abiHoward Hinnant2012-02-172-0/+74
| | | | llvm-svn: 150835
OpenPOWER on IntegriCloud