p1-retmem.cpp revision 211c278e536b9f5bf468a99dc24449ad734466fe
1// RUN: clang-cc -fsyntax-only -verify %s
2// XFAIL
3
4template<typename T> struct X1 { };
5
6template<typename T>
7struct X0 {
8  typedef int size_type;
9  typedef T value_type;
10
11  size_type f0() const;
12  value_type *f1();
13  X1<value_type*> f2();
14};
15
16template<typename T>
17typename X0<T>::size_type X0<T>::f0() const {
18  return 0;
19}
20
21template<typename U>
22typename X0<U>::value_type *X0<U>::f1() {
23  return 0;
24};
25
26template<typename U>
27X1<typename X0<U>::value_type*> X0<U>::f2() {
28  return 0;
29};
30