1 // RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify
2 
3 namespace PR10457 {
4 
5   class string
6   {
7     string(const char* str, unsigned);
8 
9   public:
10     template <unsigned N>
11     string(const char (&str)[N])
12       : string(str) {} // expected-error{{constructor for 'string<6>' creates a delegation cycle}}
13   };
14 
15   void f() {
16     string s("hello");
17   }
18 
19   struct Foo {
20    Foo(int) { }
21 
22 
23    template <typename T>
24    Foo(T, int i) : Foo(i) { }
25 };
26 
27   void test_Foo()
28   {
29     Foo f(1, 1);
30   }
31 }
32