Commit Graph

1428 Commits

Author SHA1 Message Date
Dan Albert
7d57f1bbe2 Exports all symbols from libcompiler_rt
Change-Id: I18d627fecef8e5ff96fa009e7a409a199435a317
2014-05-12 14:54:53 -07:00
Brian Carlstrom
12c2891e07 Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk
Change-Id: I46fed92c053ef7a0b8ea0ea023522ffa1875e6ed
2014-05-09 20:47:13 -07:00
Dan Albert
9569f04315 Switches ABI from libc++abi to libcxxrt
libc++abi wasn't catching exceptions out of the box, libcxxrt does. libc++abi is
still used for Darwin.

Change-Id: I93b2a45a515c17e5f219ce8648660313db3971ef
2014-05-09 14:16:17 -07:00
Dan Albert
f155054361 Enables RTTI (required by many tests)
Change-Id: I1fbc94941978c52230930ed15921900bcba1660f
2014-05-06 16:41:02 -07:00
Dan Albert
c18469d988 LDBL math define is no longer necessary for bionic
Change-Id: I2d98091400a83e2a1219a334daf0063b2fb0efd6
2014-05-06 15:42:04 -07:00
Dan Albert
0514f5a5c1 Merge "Enables quick_exit(3)/at_quick_exit(3) for bionic" 2014-05-06 22:39:44 +00:00
Dan Albert
1f68310595 Enables quick_exit(3)/at_quick_exit(3) for bionic
Change-Id: I8eeff24bec9a8d3f0539e66239f351bea5e15e71
2014-05-06 14:28:04 -07:00
Stephen Hines
0867076ef8 Switch from libcxxabi -> libc++abi.
Change-Id: I3a77184197ef6297abcc5d437507d979050dd905
2014-05-05 17:37:29 -07:00
Dan Albert
8a6f7b1d42 Removes unintended dependencies on libgcc/libstdc++
Change-Id: Ia50f21a2b9820a829e923c83732b297f7f7b248b
2014-05-05 11:26:27 -07:00
Stephen Hines
1f76ece739 Merge "Disable linker warnings on MIPS builds to work around relocation issue." 2014-04-30 21:02:37 +00:00
Stephen Hines
3486f698a3 Disable linker warnings on MIPS builds to work around relocation issue.
Bug: 14296739

Clang is emitting a text relocation for __gxx_personality_v0 on MIPS, and
the linker is treating this as an error (converted from a warning initially).
The warning appears harmless in this case, so the temporary solution is to
disable it until the LLVM bug is fixed.

Change-Id: I87dd41e7e2247d5b64ba8e2c5ad03db6716871de
2014-04-30 01:16:20 -07:00
Elliott Hughes
abc15f529e Remove the bionic *wscanf workarounds.
This is now fixed in bionic.

Change-Id: I0d280dffa8b962cf0f24d8422452c18872e6ec2b
2014-04-29 16:32:14 -07:00
Elliott Hughes
b83642f7bb Remove most of the remaining wide-char stubs from libcxx.
We still need declarations for the C99 wide scanf stuff. I'll be back...

Change-Id: I6e222a05bf61101e7374b9ef54581459d7a0e1c4
2014-04-29 15:15:24 -07:00
Elliott Hughes
91e057305d Remove mbtowc stub.
Change-Id: I63684e162883733f239ed83d202520e0f4be7dc5
2014-04-29 08:44:13 -07:00
Stephen Hines
27ae7cb782 Don't build libc++ for unbundled projects.
It is preinstalled from prebuilts/sdk instead.

Change-Id: Ie7a85f580538e6a6730949e31b36f021ec492ba4
2014-04-25 19:13:02 -07:00
Tim Murray
d513b7a16f Add Darwin-specific fixes for host libc++.
Change-Id: I31ed8779575df16dfe52dc4f1d75a353e560dba5
2014-04-21 17:45:52 -07:00
Dan Albert
2517f4fe31 Fix classic_table implementation for bionic
Change-Id: I26716b16bddcfb7109f436822067950fd99a5c08
2014-04-18 15:55:14 +00:00
Ian Rogers
c13109d445 Merge "Add a makefile for inclusion by projects using libc++." 2014-04-17 00:12:54 +00:00
Ian Rogers
1a1e45d9a2 Add a makefile for inclusion by projects using libc++.
Based on external/stlport/libstlport.mk

Change-Id: I2516eb376260cfcc2c6b814be12a26c8f873bf7b
2014-04-16 16:56:54 -07:00
Dan Albert
c10e7197c3 Fixes build on arm64
Change-Id: Ie2fcfccdab3081f71db3c017acad65b4b4b4a666
2014-04-16 16:38:42 -07:00
Dan Albert
1a42fce230 Disables building of libcxx on mips targets
Change-Id: I9494a11cd86312fa64e3fd84ff598815638a7c74
2014-04-16 16:29:36 -07:00
Dan Albert
226cd95300 Fixes libdl link errors on x86 and mips32
Change-Id: I9db444307888f8154b7cd9f992907836a9419684
2014-04-16 10:58:40 -07:00
Dan Albert
2ef012e474 Get libc++ building for Android
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-15 14:59:23 -07:00
Tim Murray
3b74eb3254 Merge remote-tracking branch 'upstream/master' into libcxx4
Initial revision of libcxx for Android.
2014-04-02 16:26:36 -07:00
Bill Yi
a867a97731 Initial empty repository 2014-04-02 21:51:39 +00:00
Tim Northover
81339cff83 Use defined(__APPLE__) rather than __APPLE__
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@205150 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-30 14:59:12 +00:00
Tim Northover
6fdde87640 ARM64: compare RTTI names as strings
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-30 11:34:26 +00:00
Tim Northover
c030063cc2 ARM64: use the alternate string layout on Apple platforms.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@205138 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-30 11:34:22 +00:00
Stephan Tolksdorf
8a71d23633 [libc++] Teach is_integral, is_[un]signed and make_[un]signed about __[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-26 19:45:52 +00:00
Marshall Clow
b0767852f7 Implement LWG issue #2135. If something goes wrong in 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-26 02:45:04 +00:00
Marshall Clow
f4c0c708a3 Add tests that should fail when lock() throws. THis is part of LWG issue #2135. No library changes here.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204777 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-26 02:11:47 +00:00
Marshall Clow
ab5e0a72d5 Mark LWG issues #2075 and #2142 as complete. 2142 was a change to the standard
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-25 14:57:05 +00:00
Marshall Clow
bce096d34d Add a test to make sure we're doing the right thing for throwing exceptions 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-24 22:25:24 +00:00
Marshall Clow
c0bf6f5369 Mark LWG Issue #2288 as complete. This was wording cleanup, no code changes 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-24 18:38:01 +00:00
Marshall Clow
ef7b63bce1 Minor cleanup from r204078; remove two empty test directories that were left behind.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204348 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20 15:31:42 +00:00
David Majnemer
f9f95be930 Implement N3891: A proposal to rename shared_mutex to shared_timed_mutex
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-17 20:19:44 +00:00
David Majnemer
cb036e3f2c Replace a tab with a space
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204077 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-17 20:13:54 +00:00
Marshall Clow
1a5e2cb621 Remove Issue #2235 from the Chicago section. The resolution was approved in 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-15 01:55:31 +00:00
Bob Wilson
d4245e7e91 Exclude .svn (and other "dot" directories) when installing headers.
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-13 16:13:54 +00:00
Saleem Abdulrasool
55f667ce64 build: remove unnecessary modification of CMAKE_REQUIRED_DEFINITIONS
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-12 04:11:34 +00:00
Saleem Abdulrasool
eb547816ea build: fix erroneous overwriting of flags
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-12 04:11:31 +00:00
Saleem Abdulrasool
89a52ffd54 build: fix add_definition abuse in CMake
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-12 04:11:28 +00:00
Saleem Abdulrasool
6875f3b6e4 build: remove an errant comma
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203636 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12 04:11:25 +00:00
Marshall Clow
5a8e27b5b3 THIRD TIME. Richard pointed out (again) that I'd switched the order of the 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-12 01:19:36 +00:00
Marshall Clow
668a1d8c44 Fix ABI break I made in r203587; thanks to Richard Smith for the catch.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203610 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11 22:05:31 +00:00
Marshall Clow
be3d117702 Fix misguided #elif - it checked the value of _AIX instead of defined(_AIX). 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-11 17:18:47 +00:00
Marshall Clow
b1ead689be Implement LWG 2360: 'reverse_iterator::operator*() is unimplementable'. Note 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-11 17:16:17 +00:00
Marshall Clow
d3849253ce Patch from Steve MacKenzie to make the libc++ tests play nicely with MSVC's 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-11 16:22:53 +00:00
Marshall Clow
7db57339fb Mark LWG #2314. 'apply() should return decltype(auto) and use decay_t before 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-11 15:17:34 +00:00
Marshall Clow
3ebf26f90d Final bit for LWG #2263; test different allocator pointer types. Note that 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-11 04:32:12 +00:00