// { dg-do run } // { dg-options "-O2" } // Copyright (C) 2004 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 2 Dec 2004 // PR 18318. ICE with template new[] // Origin:Elliot Hughes // Andrew Pinski struct Aint { ~Aint (); Aint (); }; Aint::Aint () {} Aint::~Aint () {} static int count; template struct A { unsigned Blksize() const; void f() { new T[Blksize()]; } }; template unsigned A::Blksize () const { count++; return 1; } int main () { A a; a.f(); return count != 1; }