Commit Graph

1662 Commits

Author SHA1 Message Date
Dan Albert
1fa3ac6f1f Merge "Merge to upstream r231255." 2015-03-12 17:59:32 +00:00
Dan Albert
5cb52824fc Merge to upstream r231255.
Change-Id: Ia8ee1801b42943464b99f28b6a83647458f3efb5
2015-03-04 10:47:52 -08:00
Dan Albert
7cea231ad2 am 94962fba: Clean up some redundant link flags.
* commit '94962fba20d5830a18f3ce0350d6cf299c04b8aa':
  Clean up some redundant link flags.
2015-03-04 00:16:18 +00:00
Dan Albert
94962fba20 Clean up some redundant link flags.
The build system has done this for us for some time now.

Change-Id: Idc7abf8abde086b6085c770f1b4c0dfb32500f14
2015-03-03 15:05:07 -08:00
Bill Yi
b77e484928 Merge commit '806cc8c60b57aa9e7c1007ed7dfcb44b8e5cc4b4' into HEAD 2015-02-19 14:31:12 -08:00
Dan Albert
9d2b9054b5 Revert "Add the NDK's libc++ library to the build."
This broke the world for the SANITIZE_HOST build and the coverage bot.
Reverting until I have time to look in to it.

This reverts commit 1640950226.
2015-02-18 22:06:44 -08:00
Dan Albert
aec496f48e Add NDK tests.
Bug: 19149083
Change-Id: I2222ee6230ed11e09ee00553e21855290b662da0
2015-02-17 17:03:28 -08:00
Dan Albert
1640950226 Add the NDK's libc++ library to the build.
This depends on Bionic's NDK compatibility library, which is still a
WIP.

We should probably consider adding both compatlib and non-compatlib
flows to the NDK so that users who only care about the latest versions
can avoid using the compatblib (there are probably going to be bugs
for a while).

Bug: 19149083
Change-Id: I76907cc6cfb1960a4dbd144974ce20cdd9b94777
2015-02-17 17:03:23 -08:00
Dan Albert
79589785c5 Makefile cleanup.
LOCAL_ADDITIONAL_DEPENDENCIES := $(THIS_MAKEFILE) is no longer
necessary.

The ifneq ARM block for libdl not only isn't correct (broken for
32-bit arm on an aarch64 device), but is already linked for all
architectures just above.

Change-Id: Ie2ad80b22dbf73e5834be26bccecd4a811ad5ac7
2015-02-17 20:54:49 +00:00
Dan Albert
46fa3763eb Fix some -Wundef issues.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@228266 91177308-0d34-0410-b5e6-96231b3b80d8
Change-Id: Ib53cc3c6d89254376a34d795f6bf34b32f7c1577
(cherry picked from commit 3727be521a)
2015-02-17 11:10:48 -08:00
Dan Albert
806cc8c60b am 00ed9870: Fix error checking in get_temp_file_name().
* commit '00ed9870d98b93d8a6438e5cf9058ebbe10dab01':
  Fix error checking in get_temp_file_name().
2015-02-13 17:59:30 +00:00
Dan Albert
00ed9870d9 Fix error checking in get_temp_file_name().
Checking errno without first checking that the call failed means that
if some other call prior to mkstemp failed with EINVAL prior to this,
the assert would fire even if mkstemp succeeded. If something failed
with EEXIST, it would go in to an infinite loop.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@229035 91177308-0d34-0410-b5e6-96231b3b80d8
Change-Id: I512f29f2cb4b379e9f33e9bc12c060851152647c
2015-02-12 19:08:06 -08:00
Dan Albert
2d332e779b am 8f9e26da: Remove triple detection from cmake.
* commit '8f9e26da95273e2b6841d3030cabb940edefc4dd':
  Remove triple detection from cmake.
2015-01-16 06:07:39 +00:00
Dan Albert
9c4490fd21 am ba6d1ebf: [libc++] Add support for cross compiling.
* commit 'ba6d1ebf99948a71deb28ad292a0ea71c587d08b':
  [libc++] Add support for cross compiling.
2015-01-16 06:07:34 +00:00
Dan Albert
e57b2908b2 am 69f78432: Fix up Android test config to match upstream.
* commit '69f7843275d13fe6a867e50ecdcd7e2eb43ae2f7':
  Fix up Android test config to match upstream.
2015-01-16 06:07:33 +00:00
Dan Albert
a57ea0267e am 4dc5b219: Merge to upstream r226192.
* commit '4dc5b2198d1aa4ab585a3d4a87ee9626d681f9f7':
  Merge to upstream r226192.
2015-01-16 06:07:32 +00:00
Dan Albert
8f9e26da95 Remove triple detection from cmake.
This isn't actually used for anything, and is broken on Darwin
(currently causing build failures now that the triple is passed to aid
cross compiling). Rather than fix unused code, just remove it.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@226243 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit cbc84977aa)

Change-Id: I734aa3065ef7ece0c6582b3f00674e61171ea358
2015-01-15 18:32:51 -08:00
Dan Albert
ba6d1ebf99 [libc++] Add support for cross compiling.
Reviewers: EricWF, jroelofs

Reviewed By: jroelofs

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6990

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@226237 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-15 16:58:42 -08:00
Dan Albert
69f7843275 Fix up Android test config to match upstream.
Change-Id: I053dde99259feadc0c0ec4e3e42a575b1ddab454
2015-01-15 14:33:42 -08:00
Dan Albert
4dc5b2198d Merge to upstream r226192.
Change-Id: Id459c8ce0d7dec371ff4d064ee2c71f6b7178e63
2015-01-15 14:32:55 -08:00
Dan Albert
d36691c9df am 2b3c63f7: Ignore failures from failed cleanup.
* commit '2b3c63f7049d05a7affe265fed13516d16e6810e':
  Ignore failures from failed cleanup.
2015-01-15 02:57:41 +00:00
Dan Albert
2b3c63f704 Ignore failures from failed cleanup.
This `try` used to be in the function above, but an upstream change
made it our responsibility.

Change-Id: I34f1dca7244f67242b7a8f2979bf7560bc12b706
2015-01-14 18:08:38 -08:00
Dan Albert
14c34cc437 am 8234f20a: Update the test configs to match the new layout.
* commit '8234f20ae712e95ececf56ea3d03204eaf6fdc9b':
  Update the test configs to match the new layout.
2015-01-09 23:31:26 +00:00
Dan Albert
89748c112e am 036dcf63: [libc++] Refactor test components into modules.
* commit '036dcf6304186ba716ec2dc27b2e1866dca10204':
  [libc++] Refactor test components into modules.
2015-01-09 23:31:25 +00:00
Dan Albert
8234f20ae7 Update the test configs to match the new layout.
Everything can be broken out into modules now, so there's not need to
keep the whole world in one file. This also brings us to the point
where we no longer require changes to any files in test/ compared to
upstream, only new files.

Change-Id: I3da27e12e6e2890355013c51567415436c4b517b
2015-01-09 11:35:20 -08:00
Dan Albert
036dcf6304 [libc++] Refactor test components into modules.
Summary:
I've moved the bulk of `lit.cfg` into `test/libcxx/testconfig.py` and
`test/libcxx/testformat.py`. All that remains in `lit.cfg` is the
logic to discover lit.site.cfg if lit.cfg was run directly, and the
logic for loading configuration variants.

The configuration variant flow has changed with this patch. Rather
than instantiating an object of type `<VARIANT>Configuration`, we now
instatiate an object of type `Configuration` that was loaded from the
module `<VARIANT>.testconfig.py`.

This has to be done on a per-project basis rather than in LIT itself
because LIT doesn't actually know where the real test directory is,
only where the site configuration is (which is usually in the output
directory). It's simple enough to do though, so it's fine to require
each project to do it themselves.

I also cleaned up all the pylint issues while I was here, which was
mostly just a matter of fixing long lines.

Reviewers: mclow.lists, jroelofs, EricWF

Reviewed By: EricWF

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6881

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@225532 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit aa66357f48)

Change-Id: I07dafbe1085d9decd42f6aa28889dde1f5aaaa85
2015-01-09 10:28:22 -08:00
Dan Albert
320a3ed7dc am 4f3d0224: Allow arbitrary arguments to be passed to LIT.
* commit '4f3d02244b6073b1aacd4b6c3d12551fbfbd24cc':
  Allow arbitrary arguments to be passed to LIT.
2015-01-09 01:56:50 +00:00
Dan Albert
4f3d02244b Allow arbitrary arguments to be passed to LIT.
This allows the buildbot to use the --xunit-xml-output flag for better
reporting.

Change-Id: Ic9445d889e48cf0da55d5b08127446470dd34e98
2015-01-08 15:40:50 -08:00
Dan Albert
a60f5e0920 am 78f8c198: Make it easier to run test variants.
* commit '78f8c1981eed69d751b26958ea12262d4c663fe6':
  Make it easier to run test variants.
2015-01-08 06:39:18 +00:00
Dan Albert
78f8c1981e Make it easier to run test variants.
This adds all the permutations for tests as make targets of the form
test-libcxx-(host|target)-(clang|gcc)-(32|64).

This also changes the host tests to use the Android build system (like
I had done with https://android-review.googlesource.com/#/c/111924/).
This probably should have been a separate patch, but I got carried
away (and wanted to make sure this new approach would work for both),
and now they're non-trivial to split.

Change-Id: Ie99caf6c3ff21c833408f99d37299d966ee7bc94
2015-01-07 17:40:56 -08:00
Dan Albert
484d5d4941 am 3461be0c: Update Android LIT code to match API changes.
* commit '3461be0c177d5eb6869f184bf2814ce43e6b2e1b':
  Update Android LIT code to match API changes.
2015-01-07 18:12:06 +00:00
Dan Albert
042f17d5e3 am 06086258: Merge to upstream r225300.
* commit '06086258d3d8c48a916ec51c33e1ad8f46821b81':
  Merge to upstream r225300.
2015-01-07 18:12:01 +00:00
Dan Albert
3461be0c17 Update Android LIT code to match API changes.
Change-Id: I40af7923f81e26902a4bcdc683f7e166d99fb4d1
2015-01-06 15:31:39 -08:00
Dan Albert
06086258d3 Merge to upstream r225300.
Change-Id: I2b23715db9ac129ff80aa78ad5824db0a4d6fbb3
2015-01-06 15:08:11 -08:00
Dan Albert
1c662a86b7 am 4385cd8d: Make a test UNSUPPORTED if libcpp-has-no-threads.
* commit '4385cd8d939d12530f7e533d2c0846bb5732f681':
  Make a test UNSUPPORTED if libcpp-has-no-threads.
2015-01-06 22:08:02 +00:00
Dan Albert
5d2915ac64 am 0b43e8ce: Appease MSAN buildbots.
* commit '0b43e8ce09a7c4b43d4107d8fca1e594edcc799f':
  Appease MSAN buildbots.
2015-01-06 20:07:13 +00:00
Dan Albert
4385cd8d93 Make a test UNSUPPORTED if libcpp-has-no-threads.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@225287 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 21b03d7189)

Change-Id: I8a0c80a851e48da93711a9c509e2518f1a9dcccb
2015-01-06 19:56:46 +00:00
Dan Albert
0b43e8ce09 Appease MSAN buildbots.
This is just a compile time test, but we have MSAN buildbots that will
fail since `exp` was uninitialized.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@225286 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 8f1ac0fb3d)

Change-Id: Id5f6afdba33fb2814fa28093ec33786a563ae6f3
2015-01-06 11:24:59 -08:00
Dan Albert
1629b4a419 am 839d9e7d: Obey [atomics.types.operations.req]/21 for GCC.
* commit '839d9e7d29b76cdcb8a01571f9dc07554d3f2519':
  Obey [atomics.types.operations.req]/21 for GCC.
2015-01-06 19:15:53 +00:00
Dan Albert
839d9e7d29 Obey [atomics.types.operations.req]/21 for GCC.
Summary:
Excerpt from [atomics.types.operations.req]/21:

> When only one memory_order argument is supplied, the value of
> success is order, and the value of failure is order except that a
> value of memory_order_acq_rel shall be replaced by the value
> memory_order_acquire and a value of memory_order_release shall be
> replaced by the value memory_order_relaxed.

Clean up some copy pasta while I'm here (someone added a return
statement to a void function).

Reviewers: EricWF, jroelofs, mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6632

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@225280 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit c101738156)

Change-Id: I9893dff39cf71437cb01e0ff33c29add635e9cfe
2015-01-06 10:44:41 -08:00
Dan Albert
9ddd8216f7 am f608ad69: [libcxx] Set _LIBCPP_ELAST for mingw.
* commit 'f608ad69d7f05ea357afaeded64419c3b615ff15':
  [libcxx] Set _LIBCPP_ELAST for mingw.
2015-01-06 18:17:49 +00:00
Dan Albert
4e9d063027 am 2210954c: Revert "Add a _LIBCPP_ELAST configuration for MINGW."
* commit '2210954c4084cd112f0f6c4df5b1e253d6504884':
  Revert "Add a _LIBCPP_ELAST configuration for MINGW."
2015-01-06 18:17:48 +00:00
Dan Albert
d0ddee8182 am 64972d41: Revert "Use __MINGW32__ instead of __MINGW__."
* commit '64972d415580cbb3ff680545948cf5b7ecb7e4b8':
  Revert "Use __MINGW32__ instead of __MINGW__."
2015-01-06 18:17:47 +00:00
Dan Albert
f608ad69d7 [libcxx] Set _LIBCPP_ELAST for mingw.
Reviewers: K-ballo, mclow.lists, EricWF

Reviewed By: EricWF

Subscribers: jfb, jroelofs, majnemer, cfe-commits

Differential Revision: http://reviews.llvm.org/D6558

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@225273 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 656850f03e)

Change-Id: I97d6e6a2f4613f9f618cbec4ba7122699f572a47
2015-01-06 09:39:19 -08:00
Dan Albert
2210954c40 Revert "Add a _LIBCPP_ELAST configuration for MINGW."
This reverts commit af97e6d316.
2015-01-06 09:38:15 -08:00
Dan Albert
64972d4155 Revert "Use __MINGW32__ instead of __MINGW__."
This reverts commit a3b5c78df4.
2015-01-06 09:38:06 -08:00
Dan Albert
67d267ee41 am ed2385ed: XFAIL a test following the +nan fix.
* commit 'ed2385edb9b72ef426b55c9d2ade086d6e0cce0b':
  XFAIL a test following the +nan fix.
2014-12-22 21:23:23 +00:00
Dan Albert
ed2385edb9 XFAIL a test following the +nan fix.
This test is expecting "nan", while the fix enh made to libc makes it
now be "+nan". I have a feeling this is really a bug with either the
test or Darwin/the BSDs, since we found this was actually a bug in the
BSD libc, but just XFAIL it for us for now until I diagnose properly.

Change-Id: Icf5c7f7a0fdd9a8696842201bee8464a11e7c6f1
2014-12-22 12:58:13 -08:00
Dan Albert
445b596c11 am 938c6a08: Revert "Revert "Turn off extern templates for most uses.""
* commit '938c6a083bce2e362949600bab3d6885eff663e0':
  Revert "Revert "Turn off extern templates for most uses.""
2014-12-04 19:51:46 +00:00
Stephen Hines
3a5c8126ed am a3b5c78d: Use __MINGW32__ instead of __MINGW__.
* commit 'a3b5c78df49a30b194bf1897237698f5a5816735':
  Use __MINGW32__ instead of __MINGW__.
2014-12-04 19:51:45 +00:00