1// Copyright (C) 2005 Free Software Foundation, Inc.
2// Contributed by Nathan Sidwell 5 Jan 2005 <nathan@codesourcery.com>
3
4// PR 19270: ICE
5// Origin:  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6
7template<class T> struct Vec {
8  T* data;
9  T& operator[](int i) const;
10};
11
12template<class T> inline T& Vec<T>::operator[](int i) const
13{
14  return (&data[0])[i];
15}
16
17inline double foo(Vec<double> v)
18{
19  return v[0];
20}
21