diff options
-rw-r--r-- | clang/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/clang/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp b/clang/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp index 0b9ea35d11b..1f2d7d5b9c9 100644 --- a/clang/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp +++ b/clang/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp @@ -1,12 +1,29 @@ // RUN: clang-cc -fsyntax-only -verify %s // XFAIL +template<typename T> struct X1 { }; + template<typename T> struct X0 { typedef int size_type; + typedef T value_type; size_type f0() const; + value_type *f1(); + X1<value_type*> f2(); }; template<typename T> -typename X0<T>::size_type X0<T>::f0() const { } +typename X0<T>::size_type X0<T>::f0() const { + return 0; +} + +template<typename U> +typename X0<U>::value_type *X0<U>::f1() { + return 0; +}; + +template<typename U> +X1<typename X0<U>::value_type*> X0<U>::f2() { + return 0; +}; |