summaryrefslogtreecommitdiffstats
path: root/libcxx/src
Commit message (Collapse)AuthorAgeFilesLines
* Another installment on debug mode. This addresses list. However this ↵Howard Hinnant2011-09-271-31/+42
| | | | | | should be considered a temporary state. The API of the debug database and how vector and list use it, is unsatisfactory at the moment. It is both inefficient and overly verbose. I wanted to get this functionality checked in though. In the next day or so I'll refactor what is there in an attempt to streamline things. llvm-svn: 140660
* Work on Windows port by Ruben Van BoxemHoward Hinnant2011-09-234-2/+76
| | | | llvm-svn: 140384
* Partial Windows port by Ruben Van BoxemHoward Hinnant2011-09-221-0/+22
| | | | llvm-svn: 140328
* Correct change to exception.cpp from r140245Howard Hinnant2011-09-211-1/+1
| | | | llvm-svn: 140253
* Fixes for FreeBSD, including some fairly obvious copy-and-paste errors.David Chisnall2011-09-212-20/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libc++ now mostly works on FreeBSD with libcxxrt and this patch applied to the base system: http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110920/e666632c/xlocale-0001.obj Summary of tests on FreeBSD: **************************************************** Results for /root/libcxx/test: using FreeBSD clang version 3.0 (trunk 135360) 20110717 Target: x86_64-unknown-freebsd9.0 Thread model: posix with -std=c++0x -stdlib=libc++ -I/root/libcxx/include -L/root/libcxx/build/lib ---------------------------------------------------- sections without tests : 1 sections with failures : 48 sections without failures: 1015 + ---- total number of sections : 1064 ---------------------------------------------------- number of tests failed : 145 number of tests passed : 4179 + ---- total number of tests : 4324 **************************************************** (Many due to this clang version not supporting C++ atomics) More fixes to follow... llvm-svn: 140245
* Doug Gregor pointed out some problems with debug mode enabled in one TU and ↵Howard Hinnant2011-09-161-4/+19
| | | | | | not another. This patch helps detect those situations and offers improved error messages to help get debug mode enabled in more TU's when it is absolutely necessary to do so. Thanks Doug. llvm-svn: 139933
* Create multilevel debug modeHoward Hinnant2011-09-161-6/+2
| | | | llvm-svn: 139913
* Initial checkin for debug mode (version 2)Howard Hinnant2011-09-141-0/+462
| | | | llvm-svn: 139711
* Correct misspelling:_LIBCPP_APPLE_STABLE_ABI -> _LIBCPP_STABLE_APPLE_ABIHoward Hinnant2011-07-311-3/+3
| | | | llvm-svn: 136597
* Configure to get along with 2.9 clangHoward Hinnant2011-07-291-0/+1
| | | | llvm-svn: 136526
* Reapply 135035 with proper conditional inclusion, hopefully solvingAlexis Hunt2011-07-151-124/+183
| | | | | | issues with it. llvm-svn: 135246
* http://llvm.org/bugs/show_bug.cgi?id=10353Howard Hinnant2011-07-141-0/+6
| | | | llvm-svn: 135125
* http://llvm.org/bugs/show_bug.cgi?id=10346Howard Hinnant2011-07-131-0/+22
| | | | llvm-svn: 135045
* Reverted to 134947. Once I got into it, I discovered there were too many ↵Howard Hinnant2011-07-131-43/+124
| | | | | | problems to fix in 135035. llvm-svn: 135044
* Implement the __nolocale functions properly so that they will work onAlexis Hunt2011-07-131-124/+43
| | | | | | | | | | | all platforms. Unfortunately a lot of this remains conditionally compiled so as not to break Apple's ABI. The new _LIBCPP_LOCALE__L_EXTENSIONS macro can be defined on other platforms that support _l suffixes for all functions in order to use them. llvm-svn: 135035
* Toralf Niebuhr: This is just a tiny patch fixing some small (probably copy & ↵Howard Hinnant2011-07-091-3/+3
| | | | | | paste) errors. llvm-svn: 134843
* Don't assume that wctype produces a nice mask on all platforms. OnAlexis Hunt2011-07-091-0/+46
| | | | | | glibc, for instance, it's a const char *. llvm-svn: 134787
* Conditionally wrap the changes from r134781.Alexis Hunt2011-07-091-0/+36
| | | | llvm-svn: 134783
* Implement generalized table lookups for upper, lower, and characterAlexis Hunt2011-07-091-69/+57
| | | | | | | | | | | | | | | | traits. To the best of my knowledge, this will not break the ABI for Apple. However, it does introduce three publicly visible (although with reserved name) functions that will fail to link against the just-shipped Apple version of libc++. Since they are not used in any inline functions, no actual breakage should occur. If Howard doesn't want to put undefined functions (even internal ones) into a header, they could be surrounded by additional conditional compilation. llvm-svn: 134781
* provide ~future_error() definitionHoward Hinnant2011-07-081-0/+4
| | | | llvm-svn: 134663
* Fix typoAlexis Hunt2011-07-071-1/+1
| | | | llvm-svn: 134650
* Fixing up some ABI issuesHoward Hinnant2011-07-072-81/+0
| | | | llvm-svn: 134639
* _STD -> _VSTD to avoid macro clash on windowsHoward Hinnant2011-06-306-47/+47
| | | | llvm-svn: 134190
* Patch by Petteri Räty, http://llvm.org/bugs/show_bug.cgi?id=8992Howard Hinnant2011-06-301-101/+134
| | | | llvm-svn: 134155
* noexcept for Chapter 22 [localization].Howard Hinnant2011-05-311-53/+53
| | | | llvm-svn: 132337
* noexcept for <chrono>.Howard Hinnant2011-05-281-5/+5
| | | | llvm-svn: 132265
* noexcept for <memory>. I've added a few extension noexcept to: ↵Howard Hinnant2011-05-283-15/+15
| | | | | | 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| llvm-svn: 132261
* Applied noexcept to everything in [diagnostics] (Chapter 19)Howard Hinnant2011-05-264-35/+35
| | | | llvm-svn: 132137
* Applied noexcept to everything in [language.support] (Chapter 18)Howard Hinnant2011-05-263-37/+37
| | | | llvm-svn: 132129
* Added [[noreturn]] attribute everywhere it should beHoward Hinnant2011-05-261-2/+4
| | | | llvm-svn: 132125
* Chris Jefferson noted many places where function calls needed to be ↵Howard Hinnant2011-02-143-7/+7
| | | | | | qualified (thanks Chris). llvm-svn: 125510
* clang found a missing return statement.Howard Hinnant2011-01-271-0/+1
| | | | llvm-svn: 124431
* Effort to reduce the number of exported symbolsHoward Hinnant2010-12-171-3/+18
| | | | llvm-svn: 122057
* Add CMake build and fix major Linux blockers.Michael J. Spencer2010-12-101-3/+118
| | | | llvm-svn: 121510
* Add a couple more std-qualifers.Howard Hinnant2010-12-061-2/+2
| | | | llvm-svn: 121002
* oops, forgot std::Howard Hinnant2010-12-041-1/+1
| | | | llvm-svn: 120915
* Fix up uses of new/terminate/unexpected handlers to use the new getters.Howard Hinnant2010-12-042-4/+5
| | | | llvm-svn: 120914
* N3189 Observers for the three handler functionsHoward Hinnant2010-12-022-9/+21
| | | | llvm-svn: 120712
* Implemented N3194Howard Hinnant2010-11-301-35/+0
| | | | llvm-svn: 120458
* N3191: C++ Timeout SpecificationHoward Hinnant2010-11-201-18/+18
| | | | llvm-svn: 119909
* LWG 1323Howard Hinnant2010-11-171-2/+2
| | | | llvm-svn: 119560
* license changeHoward Hinnant2010-11-1623-46/+46
| | | | llvm-svn: 119395
* Dave Zarzycki showed how the efficiency of shared_ptr could be significantlyHoward Hinnant2010-11-161-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | increased. The following program is running 49% faster: #include <iostream> #include <memory> #include <chrono> #include <vector> #include "chrono_io" int main() { typedef std::chrono::high_resolution_clock Clock; Clock::time_point t0 = Clock::now(); { std::shared_ptr<int> p(new int (1)); std::vector<std::shared_ptr<int> > v(1000000, p); v.insert(v.begin(), p); v.insert(v.begin(), p); v.insert(v.begin(), p); v.insert(v.begin(), p); } Clock::time_point t1 = Clock::now(); std::cout << (t1-t0) << '\n'; } llvm-svn: 119388
* Secure __next_prime from overflowingHoward Hinnant2010-10-291-0/+24
| | | | llvm-svn: 117650
* Changing <atomic> to follow Design AHoward Hinnant2010-10-181-23/+0
| | | | llvm-svn: 116742
* Convert __thread_local_data to the singleton patternHoward Hinnant2010-10-143-4/+9
| | | | llvm-svn: 116500
* Still working on the basic design of <atomic>. I'm working towards a system ↵Howard Hinnant2010-10-041-0/+23
| | | | | | by which the compiler only needs to define the strongest intrinsics it can. Weaker atomics in the library automatically try stronger and stronger variants, picking the weakest compiler intrinsic available. If no compiler intrinsics are available for a given operation, the library locks a mutex and does the job. Better documentation to follow... llvm-svn: 115538
* Bug 8254 by Bernhard RosenkraenzerHoward Hinnant2010-10-021-0/+2
| | | | llvm-svn: 115430
* Experimenting with a new forward fomulation (kudos Daniel Kruegler), updated ↵Howard Hinnant2010-09-131-148/+198
| | | | | | insert iterators to work better with pproxies, and doubled the speed of __next_prime. llvm-svn: 113731
* <rdar://problem/8279559> [libstdcxx] use new linker options to make symbols ↵Nick Kledzik2010-09-101-0/+9
| | | | | | non-weak llvm-svn: 113616
OpenPOWER on IntegriCloud