1 // PR c++/65390 2 // { dg-do compile } 3 // { dg-options "" } 4 5 template<typename T> struct shared_ptr { }; 6 7 template<typename T, typename Arg> make_shared(Arg)8shared_ptr<T> make_shared(Arg) { return shared_ptr<T>(); } // { dg-error "variably modified type|trying to instantiate" } 9 f(int n)10void f(int n){ 11 make_shared<int[n]>(1); // { dg-error "no matching function" } 12 } 13