// PR c++/107163 // { dg-additional-options "-Wsequence-point" } struct BaseType { int i; }; template< int Seq > class DerivedType : public DerivedType< Seq - 1 > { }; template<> class DerivedType< -1 > : public BaseType { }; int main() { DerivedType< 400 > d; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; d.i = 42; return d.i; }