diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-07-31 18:36:42 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-07-31 18:36:42 +0000 |
commit | 211c278e536b9f5bf468a99dc24449ad734466fe (patch) | |
tree | 65ed71d2a2fc542dd84e5a550e5a703172a5c001 | |
parent | 5296afaa63f7d41fa40fc22fce1382c91ab70daa (diff) |
Make the recanonicalization-for-an-out-of-line-definition test case a bit trickier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77707 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp b/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp index 0b9ea35d11..1f2d7d5b9c 100644 --- a/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp +++ b/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; +}; |