diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-26 06:49:26 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-26 06:49:26 +0000 |
| commit | ae1bab56d91569ee0f693e0fe141194cd6bc2d05 (patch) | |
| tree | 6ac5535cfde867bd7f9b3aaf7066778598768346 /clang/test/SemaTemplate | |
| parent | 3d5c1fa93facbd101c7571036c7efc3a6d5e409b (diff) | |
| download | bcm5719-llvm-ae1bab56d91569ee0f693e0fe141194cd6bc2d05.tar.gz bcm5719-llvm-ae1bab56d91569ee0f693e0fe141194cd6bc2d05.zip | |
Fix crash due to missing array-to-pointer decay when instantiating an unresolved
member expression. Refactoring to follow.
llvm-svn: 143017
Diffstat (limited to 'clang/test/SemaTemplate')
| -rw-r--r-- | clang/test/SemaTemplate/instantiate-expr-4.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/instantiate-expr-4.cpp b/clang/test/SemaTemplate/instantiate-expr-4.cpp index 9483f9b2836..d95ccfecd9b 100644 --- a/clang/test/SemaTemplate/instantiate-expr-4.cpp +++ b/clang/test/SemaTemplate/instantiate-expr-4.cpp @@ -282,6 +282,16 @@ template struct ArrowMemRef0<ArrowWrapper<MemIntFunc*>, int (*)(int)>; template struct ArrowMemRef0<ArrowWrapper<MemInt*>, float&>; // expected-note{{instantiation}} template struct ArrowMemRef0<ArrowWrapper<ArrowWrapper<MemInt*> >, int&>; +struct UnresolvedMemRefArray { + int f(int); + int f(char); +}; +UnresolvedMemRefArray Arr[10]; +template<typename U> int UnresolvedMemRefArrayT(U u) { + return Arr->f(u); +} +template int UnresolvedMemRefArrayT<int>(int); + // FIXME: we should be able to return a MemInt without the reference! MemInt &createMemInt(int); |

