// Copyright (C) 2005 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 5 Jan 2005 // PR 19270: ICE // Origin: Ralf Wildenhues template struct Vec { T* data; T& operator[](int i) const; }; template inline T& Vec::operator[](int i) const { return (&data[0])[i]; } inline double foo(Vec v) { return v[0]; }