1// { dg-do compile } 2// { dg-additional-options "-std=gnu++11" } 3 4enum class nsresult; 5class A; 6class B 7{ 8public: 9 B (int); 10 A *operator->(); 11}; 12class C 13{ 14}; 15class A 16{ 17public: 18 virtual nsresult AddObserver (const char *, C *, bool) = 0; 19}; 20class D : A 21{ 22 nsresult 23 AddObserver (const char *p1, C *p2, bool p3) 24 { 25 AddObserver (p1, p2, p3); 26 } 27}; 28char *prefList[]{}; 29class F : C 30{ 31 nsresult Install (); 32}; 33nsresult 34F::Install () 35{ 36 B branch = 0; 37 for (int i;;) 38 branch->AddObserver (prefList[i], this, false); 39} 40