Commit Graph

4428 Commits

Author SHA1 Message Date
Tom Cherry
00452d2105 Update XFAIL am: 1e705dad85 am: 9e537aac67
am: 3c4b90f910

Change-Id: I24fa4e5127fc765ae38c26ab55b3739f920af0dd
2017-04-17 22:13:54 +00:00
Tom Cherry
3c4b90f910 Update XFAIL am: 1e705dad85
am: 9e537aac67

Change-Id: Ib67950e6f2fe1df0fe5c927594f5b5d87ae037e9
2017-04-17 22:04:49 +00:00
Tom Cherry
9e537aac67 Update XFAIL
am: 1e705dad85

Change-Id: I9b75b38c6fede6bbfe1c0457b2bdd5fea025041a
2017-04-17 21:58:35 +00:00
Tom Cherry
1e705dad85 Update XFAIL
The latest clang in our tree now passes the below four tests, so
remove their XFAIL:

    libc++ :: std/strings/string.view/string_view.literals/literal.pass.cpp
    libc++ :: std/strings/string.view/string_view.literals/literal1.pass.cpp
    libc++ :: std/strings/string.view/string_view.literals/literal2.pass.cpp
    libc++ :: std/strings/string.view/string_view.literals/literal3.pass.cpp

Bug: 36400049
Test: ./run_tests.py
Change-Id: I309d1eed2a04ab13165167ab2c0b3a8334014cbd
2017-04-17 13:16:08 -07:00
Dan Willemsen
f705a6d41e Mark as vendor_available
am: a93d177f03

Change-Id: I9d1c8cecde7c94715c148649bdf108a3345608ee
2017-04-12 20:43:17 +00:00
Dan Willemsen
a1cce971a4 Mark as vendor_available am: 4cef24ee3c am: 8de3a73b25
am: ef387f085c

Change-Id: Ibd3cb7ae52367bbe595dd36839d1865dcea77c08
2017-04-12 15:59:09 +00:00
Dan Willemsen
ef387f085c Mark as vendor_available am: 4cef24ee3c
am: 8de3a73b25

Change-Id: Id2ce2b1c9108bb0c5a91c20a6cbbfff320e32246
2017-04-12 15:53:15 +00:00
Dan Willemsen
8de3a73b25 Mark as vendor_available
am: 4cef24ee3c

Change-Id: I4abe5361513a6345b9990098e3d0841c443c46a7
2017-04-12 15:48:14 +00:00
Dan Willemsen
a93d177f03 Mark as vendor_available
By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 36079834
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
Merged-In: I5aa9e3463c53a2c13110d6fffb61a2bbc09892f2
Change-Id: I5aa9e3463c53a2c13110d6fffb61a2bbc09892f2
2017-04-11 18:27:33 +00:00
Dan Willemsen
4cef24ee3c Mark as vendor_available
By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 36079834
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: I5aa9e3463c53a2c13110d6fffb61a2bbc09892f2
2017-04-10 18:14:29 -07:00
Tom Cherry
1829495c61 Update XFAIL am: 8fe43059c4 am: 4a2f5974ad
am: c936042a8d

Change-Id: Ic95a7f543eedf6337fca2f02fbbd38873e10c59d
2017-03-20 18:55:38 +00:00
Tom Cherry
fb4e1c772e Move test/libcxx/android/ to utils/libcxx/android/ am: 79ccd0d41d am: c3a4658c6f
am: 4902b5080f

Change-Id: Ia54db92e2aad3acfdd89dbf8d3bc5307ad98c90b
2017-03-20 18:55:36 +00:00
Dan Albert
484d8fb329 Merge to upstream r297772. am: b9e7f084bd am: fabe890b75
am: ed31f4b9be

Change-Id: Ieb19cbc938b9511d6441b9ac7cf6a3e13c4daf74
2017-03-20 18:55:32 +00:00
Tom Cherry
c936042a8d Update XFAIL am: 8fe43059c4
am: 4a2f5974ad

Change-Id: Ic636a14191b1231f26bbf78d5b5459264d80820d
2017-03-20 18:45:37 +00:00
Tom Cherry
4902b5080f Move test/libcxx/android/ to utils/libcxx/android/ am: 79ccd0d41d
am: c3a4658c6f

Change-Id: I7969ee0fd2778428d92df788d0b71a8ba779493b
2017-03-20 18:45:35 +00:00
Dan Albert
ed31f4b9be Merge to upstream r297772. am: b9e7f084bd
am: fabe890b75

Change-Id: I84b59f55a5e26cda1cb10d992f7ed0093c97df71
2017-03-20 18:45:32 +00:00
Tom Cherry
4a2f5974ad Update XFAIL
am: 8fe43059c4

Change-Id: Ie0f965869dd1b6bc2e33deb210aec5ea877129a6
2017-03-20 18:42:08 +00:00
Tom Cherry
c3a4658c6f Move test/libcxx/android/ to utils/libcxx/android/
am: 79ccd0d41d

Change-Id: Ia33ff6f083b8e53b705159f786564730cc0f219d
2017-03-20 18:42:05 +00:00
Dan Albert
fabe890b75 Merge to upstream r297772.
am: b9e7f084bd

Change-Id: I7fca6bc5f0d73e897ce719dcd166ed67dec01e45
2017-03-20 18:42:02 +00:00
Tom Cherry
8fe43059c4 Update XFAIL
The latest clang in our tree now passes the below four tests:

    libc++ :: std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
    libc++ :: std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
    libc++ :: std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
    libc++ :: std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp

It however fails the below six:

    libc++ :: std/strings/string.view/string_view.literals/literal.pass.cpp
    libc++ :: std/strings/string.view/string_view.literals/literal1.pass.cpp
    libc++ :: std/strings/string.view/string_view.literals/literal2.pass.cpp
    libc++ :: std/strings/string.view/string_view.literals/literal3.pass.cpp
    libc++ :: std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp
    libc++ :: std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp

Bug: 33278386
Bug: 36400049
Bug: 36401676
Test: ./run_tests.py
Change-Id: I24394534ba77ecbc2cdc682ac5e681baefb11c16
2017-03-17 15:33:19 -07:00
Tom Cherry
79ccd0d41d Move test/libcxx/android/ to utils/libcxx/android/
This got refactored upstream.

Test: checkbuild and ./run_tests.py
Change-Id: I801869923cf7c51528de354f8a3da705f188ff43
2017-03-17 15:28:00 -07:00
Dan Albert
b9e7f084bd Merge to upstream r297772.
Bug: None
Test: make checkbuild && ./run_tests.py
Change-Id: I9e755c76a760f218abd871008e3d48c8f044afd1
2017-03-14 15:12:59 -07:00
Billy Robert O'Neal III
0b23f9c81d Fixed unintentional assignment-in-assert in new "extending memory management tools" algorithms.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297772 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-14 19:36:30 +00:00
Marshall Clow
7a16fa8ae2 Mark LWG issues 2868, 2872, and 2890 as complete. There's nothing we need to do for them.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297758 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-14 17:35:56 +00:00
Marshall Clow
755dd5959c Also mark LWG#2785 as complete, because we already implemented that
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297753 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-14 17:24:29 +00:00
Marshall Clow
abba685fcd Implement LWG2784, and mark 2786, 2795, 2804, 2812, 2826, 2834, 2837 and 2838 as complete - since we do them already
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297752 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-14 17:08:47 +00:00
Bruno Cardoso Lopes
dd1f05915f Fix cmake to find the compiler-rt libs on darwin
Followup for r297553, which left darwin in a broken state
http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan_build/3812

rdar://problem/31011980

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297703 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-14 04:12:29 +00:00
Eric Fiselier
5cdf67386f fix test coverage capture dirs
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297555 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-11 05:28:09 +00:00
Eric Fiselier
c51e0d21a1 Change test coverage generation to use llvm-cov instead of gcov.
Clang doesn't produce gcov compatible coverage files. This
causes lcov to break because it uses gcov by default. This
patch switches lcov to use llvm-cov as the gcov-tool.

Unfortunatly llvm-cov doesn't provide a gcov like interface by
default so it won't work with lcov. However `llvm-cov gcov` does.
For this reason we generate 'llvm-cov-wrapper' script that always
passes the gcov flag.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297553 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-11 03:24:18 +00:00
Eric Fiselier
76880f55bf Fix DoNotOptimize on MSVC
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297532 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-11 00:07:08 +00:00
Eric Fiselier
3b7c1348ca Disable unsigned integer sanitizer for basic_string::replace(). Patch from tomcherry@google.com
basic_string::replace() has the below line

__sz += __n2 - __n1;

which fails overflow checks if __n1 > __n2, as the negative result
from the subtraction then overflows the original __sz when added to
it.

This behavior is valid as unsigned integer overflow is defined to wrap
around the maximum value and that produces the correct final value for
__sz.  Therefore, we disable this check on this function.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297355 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-09 01:54:13 +00:00
Shoaib Meenai
15da97cb66 [libc++] Avoid double defining macro on Windows
Put proper guards around _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS.
No functional change on non-Windows. Avoids incorrect macro redefinition
on Windows.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297330 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-09 00:18:00 +00:00
Eric Fiselier
f1dab6865e Fix PR32183 - Wrap GCC exception implementation in missing namespace std
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297306 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-08 20:06:01 +00:00
Eric Fiselier
6f8ab3ed89 Add list of filesystem NB comments to TODO.TXT so they can be tracked separately
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297079 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 21:23:36 +00:00
Eric Fiselier
f158316563 Mark LWG 2806 as complete. Libc++ speculatively shiped this change in 4.0
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297074 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 21:09:02 +00:00
Eric Fiselier
27d4f668b3 Mark LWG 2789 as complete. No changes required
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297073 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 21:07:18 +00:00
Eric Fiselier
7c7df6461c Implement LWG 2787 - [file_status.cons] is inconsistent
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297071 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 21:02:06 +00:00
Eric Fiselier
b537d38bb2 Mark LWG 2781 as complete. No changes required
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297069 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 20:56:13 +00:00
Eric Fiselier
76a3c66153 Mark two any_cast issues as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297066 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 20:49:42 +00:00
Michael Park
5a99cf1939 Updated email address in CREDITS.txt.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297065 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 20:46:55 +00:00
Marshall Clow
cd6055e526 Header update with info about the current status of C++17
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297022 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 16:09:02 +00:00
Marshall Clow
e116393a06 Update list with changes from Kona meeting
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297021 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06 16:06:02 +00:00
Eric Fiselier
45a6abf0fd Fix nonsense comment
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296965 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-04 12:28:12 +00:00
Eric Fiselier
b75f6de984 teach LIT how to detect the glibc version
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296942 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-04 01:29:51 +00:00
Eric Fiselier
a075831614 Remove the buildit and testit scripts; they haven't been supported in years
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296922 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-03 22:47:45 +00:00
Eric Fiselier
c1b1d7f0bb Fix hash requirements check in __hash_table.
r296565 attempted to add better diagnostics when an unordered container
is instantiated with a hash that doesn't meet the Hash requirements.

However I mistakenly checked the wrong set of requirements. Specifically
it checked if the hash met the requirements for specializations of
std::hash. However these requirements are stricter than the generic
Hash requirements.

This patch fixes the assertions to only check the Hash requirements.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296919 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-03 22:35:58 +00:00
Mehdi Amini
c795c2a010 Fix libc++ test to pass in C++03 mode
Was hitting: "error: scalar initializer cannot be empty"

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296889 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-03 17:24:29 +00:00
Eric Fiselier
f4dfb45247 Clean up more usages of _LIBCPP_HAS_NO_RVALUE_REFERENCES
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296854 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-03 03:43:25 +00:00
Eric Fiselier
04732df052 Fix sign-compare warning in test; Oddly this only appears on OS X
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296851 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-03 02:02:07 +00:00
Eric Fiselier
778ec30428 Work around test failure on 32 bit OS X
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296840 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-02 23:18:40 +00:00