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