https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101988
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I also noticed, GCC accepts while clang rejects: template<class T> struct A { A(T); }; auto p = new A<int>[]{A(1),A(1)}; While changing it to [2], both GCC and clang accepts it.