summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/array10.C
blob: 81aac84b0b7e86c4ecbcd020aa76fdad4a580116 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 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];
}