aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2023-11-09 21:50:34 +0000
committerJonathan Wakely <jwakely@redhat.com>2023-11-11 00:41:09 +0000
commit94cc8e9d6f9f186d5fb1ca68fdf55e3c8090f3f6 (patch)
tree47c5d863a4dddff056fc2f79cd27e001508b0364
parent090589e84b04753a1bc99cdeeaadaf361555cb83 (diff)
downloadgcc-94cc8e9d6f9f186d5fb1ca68fdf55e3c8090f3f6.zip
gcc-94cc8e9d6f9f186d5fb1ca68fdf55e3c8090f3f6.tar.gz
gcc-94cc8e9d6f9f186d5fb1ca68fdf55e3c8090f3f6.tar.bz2
libstdc++: Fix test that fails with -ffreestanding
The -ffreestanding option disables Debug Mode, forcibly #undef'ing _GLIBCXX_DEBUG. This means that the dangling checks in std::pair are disabled for -ffreestanding in C++17 and earlier, because they depend on _GLIBCXX_DEBUG. Adjust the target specifiers for the errors currently matching c++17_down so they also require the hosted effective target. libstdc++-v3/ChangeLog: * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective target for specifiers using c++17_down.
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/dangling_ref.cc20
1 files changed, 10 insertions, 10 deletions
diff --git a/libstdc++-v3/testsuite/20_util/pair/dangling_ref.cc b/libstdc++-v3/testsuite/20_util/pair/dangling_ref.cc
index 8e0c348..ca238f9 100644
--- a/libstdc++-v3/testsuite/20_util/pair/dangling_ref.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/dangling_ref.cc
@@ -22,15 +22,15 @@ void
test_binary_ctors()
{
std::pair<const int&, int> p1(1L, 2);
- // { dg-error "here" "" { target c++17_down } 24 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 24 }
// { dg-error "use of deleted function" "" { target c++20 } 24 }
std::pair<int, const int&> p2(1, 2L);
- // { dg-error "here" "" { target c++17_down } 28 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 28 }
// { dg-error "use of deleted function" "" { target c++20 } 28 }
std::pair<const int&, const int&> p3(1L, 2L);
- // { dg-error "here" "" { target c++17_down } 32 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 32 }
// { dg-error "use of deleted function" "" { target c++20 } 32 }
}
@@ -40,28 +40,28 @@ test_converting_ctors()
std::pair<long, long> p0;
std::pair<const int&, int> p1(p0);
- // { dg-error "here" "" { target c++17_down } 42 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 42 }
// { dg-error "use of deleted function" "" { target c++20 } 42 }
std::pair<int, const int&> p2(p0);
- // { dg-error "here" "" { target c++17_down } 46 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 46 }
// { dg-error "use of deleted function" "" { target c++20 } 46 }
std::pair<const int&, const int&> p3(p0);
- // { dg-error "here" "" { target c++17_down } 50 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 50 }
// { dg-error "use of deleted function" "" { target c++20 } 50 }
std::pair<const int&, int> p4(std::move(p0));
- // { dg-error "here" "" { target c++17_down } 54 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 54 }
// { dg-error "use of deleted function" "" { target c++20 } 54 }
std::pair<int, const int&> p5(std::move(p0));
- // { dg-error "here" "" { target c++17_down } 58 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 58 }
// { dg-error "use of deleted function" "" { target c++20 } 58 }
std::pair<const int&, const int&> p6(std::move(p0));
- // { dg-error "here" "" { target c++17_down } 62 }
+ // { dg-error "here" "" { target { c++17_down && hosted } } 62 }
// { dg-error "use of deleted function" "" { target c++20 } 62 }
}
-// { dg-error "static assert.* dangling reference" "" { target { c++17_down } } 0 }
+// { dg-error "static assert.* dangling reference" "" { target { c++17_down && hosted } } 0 }