https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- Further reduced so it doesn't rely on any C++11 or C++14 features: template<typename T> struct shared_ptr { }; template<typename T, typename Arg> shared_ptr<T> make_shared(Arg) { return shared_ptr<T>(); } void f(int n){ make_shared<int[n]>(1); }