1*67e74705SXin Li // RUN: %clang_cc1 -verify %s -ftemplate-depth 2 2*67e74705SXin Li 3*67e74705SXin Li template<int N> struct S { }; 4*67e74705SXin Li template<typename T> S<T() + T()> operator+(T, T); // expected-error {{instantiation exceeded maximum depth}} expected-note 2{{while substituting}} 5*67e74705SXin Li S<0> s; 6*67e74705SXin Li int k = s + s; // expected-note {{while substituting}} 7