History log of /ndk/sources/cxx-stl/llvm-libc++/libcxx/src/locale.cpp
Revision Date Author Comments
69c6d8419e1b1006f7e71e342c1401124e91f813 18-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> Add 64-bit unwanted symbols from libc.so

1. Pretending bionic clean-up is done by manually excluding symbols
shouldn't exist in the *final* libc.so
2. Since _tolower_tab_ and _toupper_tab_ are removed from 64-bit libc.so,
change libc++ src/locale.cpp implementation to use tolower_l and
toupper_l

Change-Id: Iafbb53e2211ee36f0a450f4477e5758548a35414
5de42e6621b3d0131472c3f8838b7f0ccf3e8963 22-Oct-2013 Andrew Hsieh <andrewhsieh@google.com> Update libc++ to upstream revision r201101

To catch fixes since last update (r186119) which fails clang3.4
on containers/associative/map/map.modifiers/emplace_hint.pass.cpp
with error reads:

.../tuple:320:11: error:
rvalue reference to type 'double' cannot bind to lvalue of type 'double'
: value(__t.get())
^ ~~~~~~~~~
.../tuple:444:8: note:
in instantiation of member function 'std::__1::__tuple_leaf<1, double &&, false>::__tuple_leaf' requested here
struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
^
emplace_hint.pass.cpp:69:42: note: in instantiation of function template specialization 'std::__1::forward_as_tuple<int, double>' requested
here
std::forward_as_tuple(2, 3.5));
^

Now clang3.4 test results are same as clang3.3

### clang3.4 armeabi-v7a
...
Target: armv5te-none-linux-androideabi
Thread model: posix
with -std=c++11 -O0 -g -march=armv7-a -mthumb -mfpu=vfpv3-d16 -march=armv7-a -mthumb -Wl,--fix-cortex-a8 -I/usr/local/google/home/andrewhsieh/mydroid/ndk/sources/cxx-stl/llvm-libc++/libcxx/test/support -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
...
number of tests failed : 123
number of tests passed : 4522
+ ----
total number of tests : 4645

### clang3.4 x86
...
using clang version 3.4 (https://bitbucket.org/loganchien/clang c34bb12af3af42f671296cdb978b34b931062d2a) (https://bitbucket.org/loganchien/llvm d09f2eff406d17c86d51db7660bd374cf092e6ed)
Target: i686-none-linux-android
Thread model: posix
with -std=c++11 -O0 -g -I/usr/local/google/home/andrewhsieh/mydroid/ndk/sources/cxx-stl/llvm-libc++/libcxx/test/support -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
...
number of tests failed : 125
number of tests passed : 4520
+ ----
total number of tests : 4645

### clang3.4 mips
...
Target: mipsel-none-linux-android
Thread model: posix
with -std=c++11 -O0 -g -I/usr/local/google/home/andrewhsieh/mydroid/ndk/sources/cxx-stl/llvm-libc++/libcxx/test/support -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
...
number of tests failed : 122
number of tests passed : 4523
+ ----
total number of tests : 4645

Change-Id: I3a0aa734b9f07abf15774bfe1d687d9de5e3a4a9
d541f971c9be70175964d4174e1c2417c18321d0 01-Oct-2013 Andrew Hsieh <andrewhsieh@google.com> Misc fix libc++

This CL contains growing list of misc fixes during the first pass
of fail tests analysis.

Change-Id: I8999ac279f3dc80939c70a4bd563b57462fb5401
ad46d2248426e810edc5878c7cb086b7093f3cf5 11-Jul-2013 David 'Digit' Turner <digit@android.com> Update libc++ to upstream revision 186119

Nothing really drastic here. Note that this introduces
a new file under patches.android/ to deal with __config
which assumes that __linux__ means GLibc is being used.

Change-Id: Iddd56728f9cfdbcea981b1269612248e7c7af797
041656818eb2625982d4b55d176468a4bd07fb32 07-Jun-2013 David 'Digit' Turner <digit@android.com> libc++: Use Android support library.

This improves libc++ in several ways:

- It adds a new static helper library under
sources/android/support/ to provide missing functionality
from Bionic, which are required to support wide chars
and UTF-8 encoded multi byte strings properly, as well
as locales and other stuff.

See README file in this directory for more details.

- It makes the ndk-build of libc++ use the support library.

- It provides a work-around for the Bionic limitation in its
<ctype.h> table named _ctype_, which doesn't include a bit
flag for blank characters (there is a _B flag which is only
used on SPACE (32), to implement isprint()).

See .../libcxx/support/android/locale_android.cpp

This removes the need to completely wrap <ctype.h>
in the support library itself.

+ Add two new unit tests to the NDK:

- test-android-support
- test-libc++

The first one builds and runs a small unit test suite
for the support library to verify it works properly.
This is completely independent from libc++.

The second one builds a minimalistic "Hello World"
program. Note that this uses a hack to avoid a runtime
crash (see sources/cxx-stl/llvm-libc++/test/test_1.cc)

TODO:
- Move the support library into its own independent
patch, when we're confident it works well enough.

Change-Id: I662f48a5ae602975a80b732f8738025f7e50a275
a8bf9de8057ad254cc642f33bd7d0a48dc1ae55c 02-May-2013 David 'Digit' Turner <digit@android.com> Update libc++ sources to @180916

This patches updates the llvm libc++ in the following way:

1/ Move all llvm-specific sources from .../llvm-libc++/ to
.../llvm-libc++/libcxx/

2/ Move .../android/README to .../README.NDK and update it
with upstream/patch information.

3/ Add .../patches.android containing the list of Android-specific
patches used to generate the content of libcxx/ after checking
out the upstream version of the sources.

4/ Move .../android/llvm/libc++/Android.mk to .../Android.mk

5/ Move .../include/support/android/ to .../android/support/include/
and .../src/support/android/ to .../android/support/src/

It's likely that this will go into another helper static
library at some point, since it provides missing C library
functions that could benefit other programs.

This move makes updating the support code easier since it
doesn't require changing the content of patches.android/
each time.

Apart from that, there is no drastic change here in features / bugs,
the test program still links but the library probably doesn't do
much and will crash easily.

Change-Id: I953cc528ba3d0199b5947ef3dbdcbfedfb25f3e8