diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-05-03 20:22:41 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-05-03 20:22:41 +0000 |
| commit | 70b21be38012d6888f70cc62c6574b44c77a1cd8 (patch) | |
| tree | edeb23c5035a19e1ff3ff6599142e0ebb48ab8b9 /clang/test | |
| parent | acc59c3ec9b2b8bc10e208b07daff09f00ba8e1b (diff) | |
| download | bcm5719-llvm-70b21be38012d6888f70cc62c6574b44c77a1cd8.tar.gz bcm5719-llvm-70b21be38012d6888f70cc62c6574b44c77a1cd8.zip | |
When instantiating a function-local variable definition, introduce the
mapping from the declaration in the template to the instantiated
declaration before transforming the initializer, in case some crazy
lunatic decides to use a variable in its own initializer. Fixes PR7016.
llvm-svn: 102945
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/SemaTemplate/instantiate-function-1.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/instantiate-function-1.cpp b/clang/test/SemaTemplate/instantiate-function-1.cpp index 6e0d7115900..1bda43000b2 100644 --- a/clang/test/SemaTemplate/instantiate-function-1.cpp +++ b/clang/test/SemaTemplate/instantiate-function-1.cpp @@ -220,3 +220,8 @@ namespace test0 { template <class T> class A { void foo(T array[10]); }; template class A<int>; } + +namespace PR7016 { + template<typename T> void f() { T x = x; } + template void f<int>(); +} |

