Fix some interactions between C++11 and C++14 features and using-declarations:
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 18 Dec 2016 21:39:37 +0000 (21:39 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 18 Dec 2016 21:39:37 +0000 (21:39 +0000)
commitd8a9e375582fea89906d89f7fca4cbf0b240346f
tree4e797a2854387fea43034899a3f50611ae3c20a4
parent601d5bafb2d68e65871c2e1fe5ee56b03eb48775
Fix some interactions between C++11 and C++14 features and using-declarations:

 * a dependent non-type using-declaration within a function template can be
   valid, as it can refer to an enumerator, so don't reject it in the template
   definition
 * we can partially substitute into a dependent using-declaration if it appears
   within a (local class in a) generic lambda within a function template, which
   means an UnresolvedUsing*Decl doesn't necessarily instantiate to a UsingDecl.

llvm-svn: 290071
clang/include/clang/AST/ASTContext.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/ASTContext.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Sema/SemaOverload.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p8-cxx0x.cpp