// PR9073
template<typename _Tp>
class shared_ptr{
public:
  template<class _Alloc, class ..._Args>
  static
  shared_ptr<_Tp>
  allocate_shared(const _Alloc& __a, _Args&& ...__args);
};

template<class _Tp>
template<class _Alloc, class ..._Args>
shared_ptr<_Tp>
shared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _Args&& ...__args)
{
  shared_ptr<_Tp> __r;
  return __r;
}
