Branch Coverage

/usr/include/c++/5/bits/shared_ptr_base.h
Criterion Covered Total %
branch 193 540 35.7


line true false branch
117 0 53 { }
127 0 0 { delete this; }
147 53 1397 if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
163 53 0 if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
365 0 0 class _Sp_counted_ptr final : public _Sp_counted_base<_Lp>
374 0 0 { delete _M_ptr; }
378 0 0 { delete this; }
522 0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
2 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
2 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
2 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
3 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
31 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
13 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
5 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
0 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
11 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
3 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
3 0 allocator_traits<_Alloc>::construct(__a, _M_ptr(),
526 0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 2 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 4 ~_Sp_counted_ptr_inplace() noexcept { }
0 44 ~_Sp_counted_ptr_inplace() noexcept { }
0 1 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 2 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
0 0 ~_Sp_counted_ptr_inplace() noexcept { }
548 0 0 if (__ti == typeid(_Sp_make_shared_tag))
0 0 if (__ti == typeid(_Sp_make_shared_tag))
3 0 if (__ti == typeid(_Sp_make_shared_tag))
3 0 if (__ti == typeid(_Sp_make_shared_tag))
11 0 if (__ti == typeid(_Sp_make_shared_tag))
0 0 if (__ti == typeid(_Sp_make_shared_tag))
5 0 if (__ti == typeid(_Sp_make_shared_tag))
44 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
0 0 if (__ti == typeid(_Sp_make_shared_tag))
3 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
2 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
0 0 if (__ti == typeid(_Sp_make_shared_tag))
0 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
2 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
2 0 if (__ti == typeid(_Sp_make_shared_tag))
1 0 if (__ti == typeid(_Sp_make_shared_tag))
0 0 if (__ti == typeid(_Sp_make_shared_tag))
574 5 0 _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
577 0 0 {
615 0 0 auto __guard = std::__allocate_guarded(__a2);
0 0 auto __guard = std::__allocate_guarded(__a2);
0 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
2 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
2 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
0 0 auto __guard = std::__allocate_guarded(__a2);
0 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
2 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
3 0 auto __guard = std::__allocate_guarded(__a2);
0 0 auto __guard = std::__allocate_guarded(__a2);
0 0 auto __guard = std::__allocate_guarded(__a2);
1 0 auto __guard = std::__allocate_guarded(__a2);
31 0 auto __guard = std::__allocate_guarded(__a2);
13 0 auto __guard = std::__allocate_guarded(__a2);
5 0 auto __guard = std::__allocate_guarded(__a2);
0 0 auto __guard = std::__allocate_guarded(__a2);
11 0 auto __guard = std::__allocate_guarded(__a2);
3 0 auto __guard = std::__allocate_guarded(__a2);
3 0 auto __guard = std::__allocate_guarded(__a2);
616 0 0 _Sp_cp_type* __mem = __guard.get();
0 0 _Sp_cp_type* __mem = __guard.get();
0 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
2 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
2 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
0 0 _Sp_cp_type* __mem = __guard.get();
0 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
2 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
3 0 _Sp_cp_type* __mem = __guard.get();
0 0 _Sp_cp_type* __mem = __guard.get();
0 0 _Sp_cp_type* __mem = __guard.get();
1 0 _Sp_cp_type* __mem = __guard.get();
31 0 _Sp_cp_type* __mem = __guard.get();
13 0 _Sp_cp_type* __mem = __guard.get();
5 0 _Sp_cp_type* __mem = __guard.get();
0 0 _Sp_cp_type* __mem = __guard.get();
11 0 _Sp_cp_type* __mem = __guard.get();
3 0 _Sp_cp_type* __mem = __guard.get();
3 0 _Sp_cp_type* __mem = __guard.get();
617 0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
2 0 ::new (__mem) _Sp_cp_type(std::move(__a),
2 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
2 0 ::new (__mem) _Sp_cp_type(std::move(__a),
2 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
2 0 ::new (__mem) _Sp_cp_type(std::move(__a),
2 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
3 0 ::new (__mem) _Sp_cp_type(std::move(__a),
3 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
1 0 ::new (__mem) _Sp_cp_type(std::move(__a),
31 0 ::new (__mem) _Sp_cp_type(std::move(__a),
31 0 ::new (__mem) _Sp_cp_type(std::move(__a),
13 0 ::new (__mem) _Sp_cp_type(std::move(__a),
13 0 ::new (__mem) _Sp_cp_type(std::move(__a),
5 0 ::new (__mem) _Sp_cp_type(std::move(__a),
5 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
0 0 ::new (__mem) _Sp_cp_type(std::move(__a),
11 0 ::new (__mem) _Sp_cp_type(std::move(__a),
11 0 ::new (__mem) _Sp_cp_type(std::move(__a),
3 0 ::new (__mem) _Sp_cp_type(std::move(__a),
3 0 ::new (__mem) _Sp_cp_type(std::move(__a),
3 0 ::new (__mem) _Sp_cp_type(std::move(__a),
3 0 ::new (__mem) _Sp_cp_type(std::move(__a),
658 1445 721 if (_M_pi != nullptr)
665 1396 1 if (_M_pi != 0)
673 7 5 if (__tmp != _M_pi)
675 7 0 if (__tmp != 0)
677 5 2 if (_M_pi != 0)
702 94 0 { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; }