summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-29Remove wcstod stubHEADmastermainDan Albert
wcstod is available from bionic now. Change-Id: I01571e0e98980152cf7a7abec92bb3ab8dea621a
2014-04-28Differentiate libcxx's unimplemented stubs from bionic's.Elliott Hughes
Change-Id: Id2a626115063768100c049c14707a13a61e4b39b
2014-04-25Don't build libc++ for unbundled projects.Stephen Hines
It is preinstalled from prebuilts/sdk instead. Change-Id: Ie7a85f580538e6a6730949e31b36f021ec492ba4
2014-04-21Add Darwin-specific fixes for host libc++.Tim Murray
Change-Id: I31ed8779575df16dfe52dc4f1d75a353e560dba5
2014-04-18Fix classic_table implementation for bionicDan Albert
Change-Id: I26716b16bddcfb7109f436822067950fd99a5c08
2014-04-17Merge "Add a makefile for inclusion by projects using libc++."Ian Rogers
2014-04-16Add a makefile for inclusion by projects using libc++.Ian Rogers
Based on external/stlport/libstlport.mk Change-Id: I2516eb376260cfcc2c6b814be12a26c8f873bf7b
2014-04-16Fixes build on arm64Dan Albert
Change-Id: Ie2fcfccdab3081f71db3c017acad65b4b4b4a666
2014-04-16Disables building of libcxx on mips targetsDan Albert
Change-Id: I9494a11cd86312fa64e3fd84ff598815638a7c74
2014-04-16Fixes libdl link errors on x86 and mips32Dan Albert
Change-Id: I9db444307888f8154b7cd9f992907836a9419684
2014-04-15Get libc++ building for AndroidDan Albert
This adds an Android makefile, aliases locale aware cctype and cwctype functions, fixes broken configuration in libcxx, and stubs functions missing from bionic. Change-Id: I247372d87caabe0310bedc4540b68ab2ed1986c1
2014-04-02Merge remote-tracking branch 'upstream/master' into libcxx4Tim Murray
Initial revision of libcxx for Android.
2014-04-02Initial empty repositoryBill Yi
2014-03-30Use defined(__APPLE__) rather than __APPLE__Tim Northover
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@205150 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-30ARM64: compare RTTI names as stringsTim Northover
ARM64 generates RTTI with hidden visibility, which means that typeinfo must be compared char-by-char since it's not guaranteed to be uniqued across the whole program. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@205139 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-30ARM64: use the alternate string layout on Apple platforms.Tim Northover
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@205138 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-26[libc++] Teach is_integral, is_[un]signed and make_[un]signed about ↵Stephan Tolksdorf
__[u]int128_t This commit also adds tests for std::numeric_limits<__[u]int128_t>. Reviewed in http://llvm-reviews.chandlerc.com/D2917 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204849 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-26Implement LWG issue #2135. If something goes wrong in ↵Marshall Clow
condition_variable::wait, call terminate() rather than throwing an error. Do this indirectly, by marking the call as 'noexcept'. This is better than just calling terminate() directly, because it gives a better error message on the console. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204778 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-26Add tests that should fail when lock() throws. THis is part of LWG issue ↵Marshall Clow
#2135. No library changes here. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204777 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-25Mark LWG issues #2075 and #2142 as complete. 2142 was a change to the standardMarshall Clow
to remove redundant wording, which required no changes to libc++. 2075 was a rewrite of the requirements for forward progress, and again, requires no changes to the library. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204724 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-24Add a test to make sure we're doing the right thing for throwing exceptions ↵Marshall Clow
from deferred functions. This is LWG issue #2186. No change to the library needed. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204678 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-24Mark LWG Issue #2288 as complete. This was wording cleanup, no code changes ↵Marshall Clow
required. Also mark #2104 as complete. Leave the implementation in libc++ as noexcept, since implementations are allowed to add noexcept to non-virtual calls. If we throw from unique_lock& operator=(unique_lock&& u), then that means the preconditions were violated, and calling terminate() (as a result of throwing from a noexcept function) is as good example of undefined behavior as any other. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204653 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20Minor cleanup from r204078; remove two empty test directories that were left ↵Marshall Clow
behind. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204348 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-17Implement N3891: A proposal to rename shared_mutex to shared_timed_mutexDavid Majnemer
This is as straightforward as it sounds, a renamed from shared_mutex to shared_timed_mutex. Note that libcxx .dylib and .so files built with c++14 support need to be rebuilt. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204078 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-17Replace a tab with a spaceDavid Majnemer
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204077 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15Remove Issue #2235 from the Chicago section. The resolution was approved in ↵Marshall Clow
Bristol (and it is listed there), and then is was approved *again* in Chicago. Thanks to STL @ microsoft for the catch git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203995 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-13Exclude .svn (and other "dot" directories) when installing headers.Bob Wilson
My fix for PR15820 in r180132 inadvertently removed the exclusion for ".*". This puts it back again. Thanks for Nico Weber for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203807 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12build: remove unnecessary modification of CMAKE_REQUIRED_DEFINITIONSSaleem Abdulrasool
This is unnecessary now that the flag handling has been fixed. The flags will be added properly in the main CMakeLists.txt after the config-ix inclusion which performs the required check. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203639 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12build: fix erroneous overwriting of flagsSaleem Abdulrasool
Always use list(APPEND) as it will perform the desired action even if the list is empty or previously unset. The first set is harmless, however, the subsequent set was overwriting the previous flag setup resulting in an improper compilation command being generated. This manifested as a build failure on Linux when using cmake + ninja. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203638 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12build: fix add_definition abuse in CMakeSaleem Abdulrasool
add_definitions is meant for adding C preprocessor definitions. Modern cmake suggests use of the CMAKE_CXX_FLAGS for the purposes of pushing flags to the compilation commands. Simply switch to the modern form given that we are already requiring a new enough cmake. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203637 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12build: remove an errant commaSaleem Abdulrasool
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203636 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12THIRD TIME. Richard pointed out (again) that I'd switched the order of the ↵Marshall Clow
instance variables; and thus failed to repair the ABI break. After this, I'm going to sit down and watch TV for the evening. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203631 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11Fix ABI break I made in r203587; thanks to Richard Smith for the catch.Marshall Clow
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203610 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11Fix misguided #elif - it checked the value of _AIX instead of defined(_AIX). ↵Marshall Clow
Thanks to Johan Bergström for the bug report. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203589 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11Implement LWG 2360: 'reverse_iterator::operator*() is unimplementable'. Note ↵Marshall Clow
that this is a (small) behavior change in the library. Reverse iterators whose base iterators' operator* return references to 'within themselves' have been sacrificed to the greater goal of avoiding data races. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203587 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11Patch from Steve MacKenzie to make the libc++ tests play nicely with MSVC's ↵Marshall Clow
STL. Add '#include <functional>' to four of the priority queue tests. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203584 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11Mark LWG #2314. 'apply() should return decltype(auto) and use decay_t before ↵Marshall Clow
tuple_size' as complete. This is a correction to some example code in the standard, no change needed for libc++. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203579 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11Final bit for LWG #2263; test different allocator pointer types. Note that ↵Marshall Clow
libc++ already does the right thing here; I've just added tests to ensure that it stays this way. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203539 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10Add tests for LWG issue #2356. Stability of erasure in unordered associative ↵Marshall Clow
containers. Libc++ already does this, but now we have tests for it. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203494 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10More tests for LWG Issue #2263; this time to the associative and unordered ↵Marshall Clow
containers. Still no changes to libc++ git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203480 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10Added tests to the sequence containers for for LWG Issue #2263. Comparing ↵Marshall Clow
iterators and allocator pointers with different const-character. No changes to libc++ git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203479 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10Mark issues #2357 (wording changes in the standard, no functionality change) ↵Marshall Clow
and #2132 (libc++ already does this) as complete. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203478 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10Fix bug I introduced (enabling implicit conversions from compare function to ↵Marshall Clow
map) in r202994. Thanks to Sebastian Redl for the catch. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203443 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-07Update status for LWG 2193 and 2344.Marshall Clow
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203291 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-07Implement LWG #2344: quoted()'s interaction with padding is unclear. I think ↵Marshall Clow
that anyone using quoted with padding is really confused, but it should work the way the rest of iostreams works. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203290 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-06Fix a couple of -Wabsolute-value warnings in the libc++ testsMarshall Clow
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203126 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-06Do not derive __gnu_cxx::hash<T> from std::hash<T>.Peter Collingbourne
Instead, define explicit specializations for the basic types listed in the SGI documentation. This solves two problems: 1) Helps avoid silent ODR violations caused by the absence of a user-supplied __gnu_cxx::hash specialization in cases where a std::hash specialization exists (e.g. for std::string). 2) __gnu_cxx::hash semantics are slightly different to those of std::hash (for example, the former may dereference a pointer argument) so it is inappropriate for __gnu_cxx::hash to receive std::hash specializations by default. Differential Revision: http://llvm-reviews.chandlerc.com/D2747 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203070 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-05Implement LWG 2193. Default constructors for standard library containers are ↵Marshall Clow
explicit. Note that libc++ already did this for string/deque/forward_list/list/vector and the unordered containers; implement it for set/multiset/map/multimap. Add tests for all the containers. Two drive-by fixes as well: add a missing explicit in <deque>, and remove a tab that snuck into a container test. This issue is also LLVM bug 15724, and resolves it. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202994 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-05Mark is_final as a C++14 feature.Marshall Clow
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202991 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-05Remove definition of std::fmaf from libc++. Fixes bug #18910. This function ↵Marshall Clow
should come from the C standard library. As a drive-by fix, update the tests to remove a warning from -Wabsolute-value git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202990 91177308-0d34-0410-b5e6-96231b3b80d8