Commit Graph

1495 Commits

Author SHA1 Message Date
Dan Albert
356f3740af Test configs for x86 emulator.
Change-Id: Ia5d049974b1e67dcf1ceb7e12c1d0fc52daa411e
2014-07-25 15:37:08 -07:00
Dan Albert
52f48def7a Up the default timeout.
30 was chosen back when asserts() were still being compiled out. It's
far too short for some of the math tests.

Change-Id: I41ada11247bbfd7173a9b43dbe98a6d60bb19755
2014-07-25 12:26:14 -07:00
Dan Albert
8e3d762656 Bionic added en_US.UTF-8 to supported locales.
Change-Id: Ia905f47a3fcee0c30b8fbaf301f278d9187c326d
2014-07-25 11:35:28 -07:00
Dan Albert
e0fd2508a3 Add XFAIL for tests using locales.
Bionic doesn't support anything but the C locale yet, so we know we
can't pass these tests.

Change-Id: I106104341d25d17c123e05474b9413bc3e43637a
2014-07-25 10:42:46 -07:00
Dan Albert
f61de8fe5e Re-enable tests
Change-Id: Ie715f6a6489d279295f619b8e1b84095c82b1f32
2014-07-25 17:41:32 +00:00
Dan Albert
023715574d Don't need these anymore.
Change-Id: I7fe5c735b0b2391998c69d3233bcc30979570ddb
2014-07-25 17:40:31 +00:00
Dan Albert
0f81d7634f Add support for LIT to Android.mk.
Now that test/lit.cfg can handle running tests on Android devices, we
can move testing over to LIT so that it's easier to stay in sync with
upstream (no longer have to run test/makemake.py to regenerate makefiles
for each test). Also, we can now actually run all of the xfail tests
(tests that are considered passing if compilation fails).

The libc++ tests can be run with:

    $ mm test-libcxx        # run all tests
    $ mm test-libcxx-host   # host only
    $ mm test-libcxx-device # device only (uses current lunch target)

Actually generating the cppflags and ldflags is done in test/device.cfg.
It's a little ugly, but it does a decent job of approximating our build
system while still allowing us to finish a test run in less than 7
hours. Additional devices can be added to the config as needed.

Change-Id: Ieba38912a213c43e54e03ab9b8c4e25f019b0305
2014-07-25 17:39:44 +00:00
Dan Albert
8caa123b96 Merge "Add support for Android targets to lit.cfg." 2014-07-24 20:55:36 +00:00
Stephen Hines
b2f436c3e7 Merge "Remove MIPS workaround for shared text relocations." 2014-07-24 20:55:36 +00:00
Dan Albert
7a299dd833 Add support for Android targets to lit.cfg.
For accurate testing on Android, test compilation needs to more closely
match the Android build system. This means flipping all the switches for
-nostdlibinc, -nostdlib, etc. and instead using the libraries that were
either prebuilt or built by the system.

Android's build system isn't able to efficiently handle many small
builds run concurrently. The downside of this is that directly using the
Android build system to compile each test cannot be done in parallel,
and would take roughly 7 hours to complete a test run.

To deal with this, when config.android is true, lit.cfg will pull all of
the cppflags and ldflags right out of config instead of trying to
determine them on its own. It's dirtied a little bit by crtbegin and
crtend.

The other thing this patch does is deal with pushing the built test to
the android device, running it on the device, and removing it when done.
There are a few intricacies wrapped around `adb shell`, as adb considers
all commands that were able to be run on the device, regardless of their
exit codes, to be successful. As such, the commands are run as `adb
shell COMMAND; echo $?`, and the last line of stdout is read to
determine the real exit status.

Change-Id: I93b991c363d15d0ce0f2f3c99f7320089c6eaad5
2014-07-24 13:45:35 -07:00
Stephen Hines
3873165b27 Remove MIPS workaround for shared text relocations.
Bug: 14296739

Updates to LLVM and libc++ have removed the remaining spurious shared text
relocations from the MIPS build of libc++. We no longer need to disable
linker warnings as errors, since we don't trigger the warning.

Change-Id: I82ec8c76decc92d93a5ce87d9a172e8cbcdb82b8
2014-07-24 09:14:56 -07:00
Dan Albert
879796ae43 Merge "Fix ctype_base::xdigit for Android." 2014-07-23 18:56:15 +00:00
Marshall Clow
854ad932c8 Fix bug 19740; round-tripping a pointer through a stream doesn't work
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@209305 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-23 18:45:57 -07:00
Dan Albert
d1ab521199 Fix ctype_base::xdigit for Android.
Android's ctype implementation comes from openbsd, which for some reason
doesn't consider numbers to be hex digits.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@213785 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-23 12:42:48 -07:00
Dan Albert
6720d4bd04 Fix classic_locale for Android.
Android's classic_locale begins at _ctype_ + 1.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@213672 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-22 10:47:31 -07:00
Dan Albert
685c63df24 Clean up some bionic compatibility cruft.
Brings us closer to matching upstream.

Change-Id: Ic5c8449aae88566ecc5382a8d5d27f5095515b82
2014-07-10 16:56:24 -07:00
Marshall Clow
e45cf3e8b5 Add support for BIONIC C library (Android). Patch from Dan Albert
Change-Id: I9ead4d8a1d16e71d57fdc7696457cfcc3de4f713
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@212724 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-10 16:52:03 -07:00
Dan Albert
3bfb9441d6 Switch to using libc++abi for all platforms.
ARM EHABI recently became available in the libc++abi unwinder, so we
finally have a solution to exception handling on ARM.

Change-Id: Id188e1debb61f09fb4ec64be9a26a08dd8de2118
2014-07-02 16:42:45 -07:00
Joerg Sonnenberger
2dbbe77c0f Exceptions store the message as reference counted string for
compatibility to libstdc++. Move the implementation into a header for
easier sharing with libc++abi. Merge a number of improvements from that
version. Provide a POD definition for <stdexcept>'s public use to avoid
cast dances. Discussed with Marshall Clow.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@207695 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-02 16:34:35 -07:00
Marshall Clow
e94bd6de63 Fix a problem exposed by r208825, which caused bind (and other bits of libc++) to stop working. And tests
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@209785 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-20 19:03:14 -07:00
Ian Rogers
ada2964799 Build host with multilib both enabled.
Change-Id: I4ae94f247e9df8e20bf837fd7ff3e6405c7f6e85
2014-06-05 11:09:44 -07:00
Nico Weber
8bf60df6e9 am 391915d2: Update cstddef after clang r207606.
* commit '391915d2237ebf087dc4d5609484d6ebdb153fb9':
  Update cstddef after clang r207606.
2014-05-30 23:04:36 +00:00
Nico Weber
391915d223 Update cstddef after clang r207606.
r207606 changed the __need_foo macros to behave like they do with gcc: If they
are set, _only_ the __need_foo stuff gets defined.  As a consequence, cstddef
no longer defined "offsetof".  It looks like the __need_foo defines aren't
needed anymore, so just remove them.

Fixes PR19723.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@208942 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-29 20:15:43 -07:00
Dan Albert
f367bfa741 am 32ec1ea2: Adds compiler-rt to target builds
* commit '32ec1ea2be124ea5cb3b92faf60d00787ce91d97':
  Adds compiler-rt to target builds
2014-05-27 17:32:03 +00:00
Dan Albert
32ec1ea2be Adds compiler-rt to target builds
Change-Id: I4288b04944acd01b1729442fb275f02fd1ce26d4
2014-05-24 09:48:59 -07:00
Dan Albert
06a3341310 am 1721831a: Whoops. Typo.
* commit '1721831a268be6ede16e533fade17837cd405e70':
  Whoops. Typo.
2014-05-24 01:13:12 +00:00
Dan Albert
1721831a26 Whoops. Typo.
Change-Id: Ic29f8a8e10893384383f66e356f7d13a3a311907
2014-05-23 18:05:45 -07:00
Dan Albert
5fc7666876 am 6c2fdb82: Adds static lib targets to libc++
* commit '6c2fdb822e4b1feefe5a7f1829b11be927ee57f9':
  Adds static lib targets to libc++
2014-05-23 21:46:51 +00:00
Dan Albert
6c2fdb822e Adds static lib targets to libc++
Change-Id: I9d4e27cc3627b917e20db91bd8caa03993a036bf
2014-05-23 13:25:06 -07:00
Dan Albert
5a4a21b5f3 am 9d3a3a78: Exports symbols from libcxxrt
* commit '9d3a3a789b80722321e4201d02bbd7b5a261aa32':
  Exports symbols from libcxxrt
2014-05-23 20:08:45 +00:00
Dan Albert
9d3a3a789b Exports symbols from libcxxrt
Change-Id: Ie2f2f660425f54999a78e922461c41262bf83f89
2014-05-22 14:43:53 -07:00
Dan Albert
aa9163d0aa am 65759667: Need to exclude libstdc++ for host builds
* commit '65759667bd45650262d04c71e2987cb33d835eea':
  Need to exclude libstdc++ for host builds
2014-05-22 17:27:06 +00:00
Dan Albert
65759667bd Need to exclude libstdc++ for host builds
Change-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e
2014-05-21 19:36:15 -07:00
Dan Albert
9f59e7d18c am cd0e9ad8: Merge "libcxxrt moved cxxabi.h from src/ into include/"
* commit 'cd0e9ad81ecb2ba4ec92258fdf24f137e74100db':
  libcxxrt moved cxxabi.h from src/ into include/
2014-05-16 21:49:21 +00:00
Dan Albert
cd0e9ad81e Merge "libcxxrt moved cxxabi.h from src/ into include/" 2014-05-16 21:47:39 +00:00
Dan Albert
0e477c734f am 5e2ad74d: Merge "Fix for libcxx.mk"
* commit '5e2ad74d8dac9d0dd36fe2513aed34f2e3b007d9':
  Fix for libcxx.mk
2014-05-16 21:40:59 +00:00
Dan Albert
5e2ad74d8d Merge "Fix for libcxx.mk" 2014-05-16 21:39:06 +00:00
Dan Albert
1894928715 Fix for libcxx.mk
Change-Id: I1b7b4fd2a9109d9025c4602f88e676e3785c8e36
2014-05-16 14:27:16 -07:00
Dan Albert
e33eaba08e libcxxrt moved cxxabi.h from src/ into include/
Change-Id: I3d781b4f58bb6e2d14ad498aaac4092a48f35107
2014-05-16 14:26:41 -07:00
Dan Albert
550f40fc55 am 2a269419: Reverts a compatibility change made to two tests
* commit '2a269419dceb1c071c5c5ef5c13fbee6040a20dc':
  Reverts a compatibility change made to two tests
2014-05-16 20:57:44 +00:00
Dan Albert
2a269419dc Reverts a compatibility change made to two tests
wctype_t was previously declared as an enum in bionic, preventing direct integer
assignment. This has since been made more like other libc's, so we can revert
this change.

Bug: 14646243
Change-Id: Ie63711b8f6d4f947b8fe3b278f5503495521555d
2014-05-16 13:52:06 -07:00
Dan Albert
8f40a19e1d am 9fdc63a6: Disables tests that fail to compile
* commit '9fdc63a61cd5c96c733c8e7da3044d00d1eea742':
  Disables tests that fail to compile
2014-05-13 00:21:57 +00:00
Dan Albert
7b23cafd2f am 6f56ab78: Adds a basic test wrapper for Android
* commit '6f56ab789cb470620554d624c37f488285b3b04e':
  Adds a basic test wrapper for Android
2014-05-13 00:18:38 +00:00
Dan Albert
9fdc63a61c Disables tests that fail to compile
math_h, cmath:
    Fails a static assert because isnan(double) and isinf(double) should be
    returning bool, but aren't. This is a known problem upstream.
    http://libcxx.llvm.org/results.Linux.html

uchar_h, cuchar, version_cuchar:
    Bionic does not include this header. According to upstream, this was also a
    problem with glibc last time they ran their tests. Docs say this is fixed in
    glibc 2.16. http://libcxx.llvm.org/results.Linux.html

wctype_h, cwctype:
    This one isn't disabled, but did require a fix. The test was casting 0
    directly to a wctype_t, which fails because bionic's wctype_t is an enum.
    From the POSIX spec, it looks like bionic is allowed to do so, and this test
    should be fixed upstream.

cstdio:
    snprintf is a macro in bionic, which make it impossible for <cstdio> to
    ::using snprintf. There may be a work around for this.

quick_exit:
    Bionic supports this, but glibc does not. Also becomes available in glibc
    2.16. http://libcxx.llvm.org/results.Linux.html

max_align_t:
    Needs investigation.

aligned_storage:
    Needs investigation.

Change-Id: I62a5210f6755388dc06cce20d81530a300300bf1
2014-05-13 00:16:46 +00:00
Dan Albert
6f56ab789c Adds a basic test wrapper for Android
To run libc++ tests:
$ mm
$ adb sync
$ python runtests.py # runs all host and device tests
                     # see main() for command line options

To regenerate all makefiles:
$ python makemake.py

Change-Id: Ibad78ad8e1bd45f32730d281afa53c2cec55478f
2014-05-12 16:02:43 -07:00
Dan Albert
89b4c770a9 am 7d57f1bb: Exports all symbols from libcompiler_rt
* commit '7d57f1bbe2a5e91a6ec904da37f36791856cb93c':
  Exports all symbols from libcompiler_rt
2014-05-12 22:10:27 +00:00
Dan Albert
7d57f1bbe2 Exports all symbols from libcompiler_rt
Change-Id: I18d627fecef8e5ff96fa009e7a409a199435a317
2014-05-12 14:54:53 -07:00
Brian Carlstrom
5d32bb6109 am 12c2891e: Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk
* commit '12c2891e07fe1282ebfffe9714a8b2cfad450642':
  Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk
2014-05-10 04:07:36 +00:00
Brian Carlstrom
12c2891e07 Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk
Change-Id: I46fed92c053ef7a0b8ea0ea023522ffa1875e6ed
2014-05-09 20:47:13 -07:00
Dan Albert
31789bbba4 am 9569f043: Switches ABI from libc++abi to libcxxrt
* commit '9569f04315c59c4347295946dc01eb046bfb1c47':
  Switches ABI from libc++abi to libcxxrt
2014-05-09 23:46:54 +00:00