summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/20_util
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2015-09-07 18:17:23 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2015-09-07 18:17:23 +0100
commit93023f35f7d9a6ccbc6bb121fb5b95171678924b (patch)
tree9a49af7dda8df248be428236f31507ef30b429f6 /libstdc++-v3/testsuite/20_util
parentb11e7db7139c3e231d49611b9f0415d6f1333a69 (diff)
downloadgcc-93023f35f7d9a6ccbc6bb121fb5b95171678924b.tar.gz
Relax Debug Mode assertions on operator-> for smart pointers.
* include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT. * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise. * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on empty shared_ptr. From-SVN: r227524
Diffstat (limited to 'libstdc++-v3/testsuite/20_util')
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
index 85fc71dfd39..867f07a679f 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
@@ -63,11 +63,24 @@ test03()
VERIFY( &p->i == &a->i );
}
+void
+test04()
+{
+ bool test __attribute__((unused)) = true;
+
+#if !(defined _GLIBCXX_DEBUG && defined _GLIBCXX_DEBUG_PEDANTIC)
+ std::shared_ptr<int> p;
+ auto np = p.operator->();
+ VERIFY( np == nullptr );
+#endif
+}
+
int
main()
{
test01();
test02();
test03();
+ test04();
return 0;
}