// { dg-options "-w" } // PR c++/9420 // Bug: We were instantiating B during overload resolution for E<0. // This is wrong; the contents of B are not relevant, since we can't // use its constructors (because we'd already be using a constructor for // C). enum { E }; template struct A { static const int a = (E < 0); }; template class B { A b; }; struct C { C(B); }; int operator<(C, C); A c;