Files
clang-p2996/clang/test/Modules/Inputs/template-default-args/d.h
Richard Smith 2195ec9ad4 [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.

This reinstates r300650, reverted in r300659, with a fix for a regression
reported by Chandler after commit.

llvm-svn: 300938
2017-04-21 01:15:13 +00:00

14 lines
288 B
C++

BEGIN
template<typename T = void> struct L;
struct FriendL {
template<typename T> friend struct L;
};
END
namespace DeferredLookup {
namespace Indirect {
template<typename, bool = true> struct A {};
template<typename> struct B { template<typename T> using C = A<T>; };
}
}