summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2018-04-07 10:36:03 +0000
committerRoman Lebedev <lebedev.ri@gmail.com>2018-04-07 10:36:03 +0000
commit6669e59f88271595b41829144005f03ab59da7a7 (patch)
treea5c7807d60054df174d61b213730423f91838f2d /libcxx/test/std/utilities
parenta8b32dec677b28abe348984945e69c4d7e63125c (diff)
downloadbcm5719-llvm-6669e59f88271595b41829144005f03ab59da7a7.tar.gz
bcm5719-llvm-6669e59f88271595b41829144005f03ab59da7a7.zip
[libcxx][test] Silence -Wself-assign diagnostics
Summary: D44883 extends -Wself-assign to also work on C++ classes. These new warnings pop up in the test suite, so they have to be silenced. Please refer to the D45082 for disscussion on whether this is the right way to solve this. Testing: `ninja check-libcxx check-libcxxabi` in stage-2 build. Reviewers: mclow.lists, EricWF Reviewed By: EricWF Subscribers: Quuxplusone, cfe-commits Differential Revision: https://reviews.llvm.org/D45128 llvm-svn: 329490
Diffstat (limited to 'libcxx/test/std/utilities')
-rw-r--r--libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp6
-rw-r--r--libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp8
2 files changed, 7 insertions, 7 deletions
diff --git a/libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp b/libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
index 37618f7aafc..68de5e3d136 100644
--- a/libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
+++ b/libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
@@ -102,7 +102,7 @@ void test_copy_assign_self() {
// empty
{
any a;
- a = a;
+ a = (any &)a;
assertEmpty(a);
assert(globalMemCounter.checkOutstandingNewEq(0));
}
@@ -112,7 +112,7 @@ void test_copy_assign_self() {
any a((small(1)));
assert(small::count == 1);
- a = a;
+ a = (any &)a;
assert(small::count == 1);
assertContains<small>(a, 1);
@@ -125,7 +125,7 @@ void test_copy_assign_self() {
any a(large(1));
assert(large::count == 1);
- a = a;
+ a = (any &)a;
assert(large::count == 1);
assertContains<large>(a, 1);
diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
index 9b83ddecb97..1c2be02c621 100644
--- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
+++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
@@ -92,28 +92,28 @@ int main() {
{
typedef std::function<int()> Func;
Func f = g0;
- Func& fr = (f = f);
+ Func& fr = (f = (Func &)f);
assert(&fr == &f);
assert(*f.target<int(*)()>() == g0);
}
{
typedef std::function<int(int)> Func;
Func f = g;
- Func& fr = (f = f);
+ Func& fr = (f = (Func &)f);
assert(&fr == &f);
assert(*f.target<int(*)(int)>() == g);
}
{
typedef std::function<int(int, int)> Func;
Func f = g2;
- Func& fr = (f = f);
+ Func& fr = (f = (Func &)f);
assert(&fr == &f);
assert(*f.target<int(*)(int, int)>() == g2);
}
{
typedef std::function<int(int, int, int)> Func;
Func f = g3;
- Func& fr = (f = f);
+ Func& fr = (f = (Func &)f);
assert(&fr == &f);
assert(*f.target<int(*)(int, int, int)>() == g3);
}
OpenPOWER on IntegriCloud