Implement template instantiation for member class templates.
When performing template instantiation of the definitions of member templates (or members thereof), we build a data structure containing the template arguments from each "level" of template instantiation. During template instantiation, we substitute all levels of template arguments simultaneously. llvm-svn: 80389
Showing
- clang/lib/Sema/Sema.h 13 additions, 14 deletionsclang/lib/Sema/Sema.h
- clang/lib/Sema/SemaExpr.cpp 3 additions, 3 deletionsclang/lib/Sema/SemaExpr.cpp
- clang/lib/Sema/SemaTemplate.cpp 5 additions, 3 deletionsclang/lib/Sema/SemaTemplate.cpp
- clang/lib/Sema/SemaTemplate.h 22 additions, 4 deletionsclang/lib/Sema/SemaTemplate.h
- clang/lib/Sema/SemaTemplateInstantiate.cpp 87 additions, 102 deletionsclang/lib/Sema/SemaTemplateInstantiate.cpp
- clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 9 additions, 9 deletionsclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
- clang/test/SemaTemplate/instantiate-member-template.cpp 22 additions, 0 deletionsclang/test/SemaTemplate/instantiate-member-template.cpp
Loading
Please register or sign in to comment