]> granicus.if.org Git - clang/commit
[c++1z] P0195R2: Support pack-expansion of using-declarations.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 19 Dec 2016 04:08:53 +0000 (04:08 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 19 Dec 2016 04:08:53 +0000 (04:08 +0000)
commit2c092257ce69ee7207ae1733f11b2a2275c42e3f
treea18202483a9a9593775461414785ebfc00917546
parent7d69588d61629cde4c0c605cbf42bdb975974952
[c++1z] P0195R2: Support pack-expansion of using-declarations.

This change introduces UsingPackDecl as a marker for the set of UsingDecls
produced by pack expansion of a single (unresolved) using declaration. This is
not strictly necessary (we just need to be able to map from the original using
declaration to its expansions somehow), but it's useful to maintain the
invariant that each declaration reference instantiates to refer to one
declaration.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290080 91177308-0d34-0410-b5e6-96231b3b80d8
26 files changed:
include/clang/AST/DeclCXX.h
include/clang/AST/RecursiveASTVisitor.h
include/clang/Basic/DeclNodes.td
include/clang/Basic/DiagnosticParseKinds.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Parse/Parser.h
include/clang/Sema/Sema.h
include/clang/Sema/Template.h
include/clang/Serialization/ASTBitCodes.h
lib/AST/DeclBase.cpp
lib/AST/DeclCXX.cpp
lib/CodeGen/CGDecl.cpp
lib/Parse/ParseDeclCXX.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaOverload.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Sema/SemaTemplateVariadic.cpp
lib/Sema/TreeTransform.h
lib/Serialization/ASTCommon.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriterDecl.cpp
test/PCH/cxx1z-using-declaration.cpp [new file with mode: 0644]
test/Parser/cxx1z-using-declaration.cpp
test/SemaTemplate/cxx1z-using-declaration.cpp [new file with mode: 0644]
tools/libclang/CIndex.cpp