Handle TemplateTemplateParmDecls and stripping of their default args.

This commit is contained in:
Vassil Vassilev 2014-08-13 17:02:54 +02:00 committed by sftnight
parent 5194c7811b
commit 729a459976

View File

@ -147,7 +147,8 @@ namespace cling {
}
bool VisitTemplateDecl(TemplateDecl* D) {
if (!D->getTemplatedDecl()->hasAttr<AnnotateAttr>())
if (D->getTemplatedDecl() &&
!D->getTemplatedDecl()->hasAttr<AnnotateAttr>())
return true;
VisitDecl(D);
@ -157,6 +158,17 @@ namespace cling {
return true;
}
bool VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl* D) {
VisitDecl(D);
if (m_IsStoringState)
return true;
if (D->hasDefaultArgument())
D->removeDefaultArgument();
return true;
}
bool VisitNonTypeTemplateParmDecl(NonTypeTemplateParmDecl* D) {
VisitDecl(D);