diff options
author | John McCall <rjmccall@apple.com> | 2011-06-30 08:33:18 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-06-30 08:33:18 +0000 |
commit | d9dfe3a1f8af68fef298666e50685c30d6f6a974 (patch) | |
tree | 6b7b151ea8d1496c0bb3a2ea932212a5840c0a9e /clang/lib/Serialization/ASTWriter.cpp | |
parent | c91f09d73a82a270e2a6a8d19bf67aa4f71d01ee (diff) | |
download | bcm5719-llvm-d9dfe3a1f8af68fef298666e50685c30d6f6a974.tar.gz bcm5719-llvm-d9dfe3a1f8af68fef298666e50685c30d6f6a974.zip |
Preserve that a TemplateName was arrived at by substituting
for a template template parameter.
Uses to follow.
I've also made the uniquing of SubstTemplateTemplateParmPacks
use a ContextualFoldingSet as a minor space efficiency.
llvm-svn: 134137
Diffstat (limited to 'clang/lib/Serialization/ASTWriter.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index d616c840008..fb1795e6a45 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -3694,6 +3694,14 @@ void ASTWriter::AddTemplateName(TemplateName Name, RecordDataImpl &Record) { Record.push_back(DepT->getOperator()); break; } + + case TemplateName::SubstTemplateTemplateParm: { + SubstTemplateTemplateParmStorage *subst + = Name.getAsSubstTemplateTemplateParm(); + AddDeclRef(subst->getParameter(), Record); + AddTemplateName(subst->getReplacement(), Record); + break; + } case TemplateName::SubstTemplateTemplateParmPack: { SubstTemplateTemplateParmPackStorage *SubstPack |