diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2015-09-07 18:17:23 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2015-09-07 18:17:23 +0100 |
commit | 93023f35f7d9a6ccbc6bb121fb5b95171678924b (patch) | |
tree | 9a49af7dda8df248be428236f31507ef30b429f6 /libstdc++-v3/testsuite/20_util | |
parent | b11e7db7139c3e231d49611b9f0415d6f1333a69 (diff) | |
download | gcc-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.cc | 13 |
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; } |