summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs/template-default-args/a.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2017-04-19 01:36:43 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2017-04-19 01:36:43 +0000
commit5aacc4021bf3d689cbfd8921666b098441746054 (patch)
treeaca77e5ca9d4e933b32a0a9c64478386b701ddb1 /clang/test/Modules/Inputs/template-default-args/a.h
parent6ded58e27962754957834752173aa6ac60f5e1e7 (diff)
downloadbcm5719-llvm-5aacc4021bf3d689cbfd8921666b098441746054.tar.gz
bcm5719-llvm-5aacc4021bf3d689cbfd8921666b098441746054.zip
[modules] Properly look up the owning module for an instantiation of a merged template.
When looking for the template instantiation pattern of a templated entity, consistently select the definition of the pattern if there is one. This means we'll pick the same owning module when we start instantiating a template that we'll later pick when determining which modules are visible during that instantiation. llvm-svn: 300650
Diffstat (limited to 'clang/test/Modules/Inputs/template-default-args/a.h')
-rw-r--r--clang/test/Modules/Inputs/template-default-args/a.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/template-default-args/a.h b/clang/test/Modules/Inputs/template-default-args/a.h
index 532cbc8be03..0f4a39a1892 100644
--- a/clang/test/Modules/Inputs/template-default-args/a.h
+++ b/clang/test/Modules/Inputs/template-default-args/a.h
@@ -14,3 +14,11 @@ struct FriendL {
template<typename T> friend struct L;
};
END
+
+namespace DeferredLookup {
+ template<typename T, typename U = T> using X = U;
+ template<typename T> void f() { (void) X<T>(); }
+ template<typename T> int n = X<T>();
+ template<typename T> struct S { X<T> xt; enum E : int; };
+ template<typename T> enum S<T>::E : int { a = X<T>() };
+}
OpenPOWER on IntegriCloud