diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-12-24 04:09:05 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-12-24 04:09:05 +0000 |
commit | 12d117c5a579a98494429a21cb7963d018d595a5 (patch) | |
tree | 8768c7a441fbaf6bbf57d12aec92cb6a2953a729 /lib/Sema/SemaTemplateInstantiate.cpp | |
parent | 617e92abfaf3a05522249898750e4ccc2f523674 (diff) |
When producing a name of a partial specialization in a diagnostic, use the
template arguments as written rather than the canonical template arguments,
so we print more user-friendly names for template parameters.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290483 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateInstantiate.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Sema/SemaTemplateInstantiate.cpp b/lib/Sema/SemaTemplateInstantiate.cpp index 4e3862a14d..382c23ce87 100644 --- a/lib/Sema/SemaTemplateInstantiate.cpp +++ b/lib/Sema/SemaTemplateInstantiate.cpp @@ -423,8 +423,7 @@ void Sema::PrintInstantiationStack() { if (isa<ClassTemplateSpecializationDecl>(Record)) DiagID = diag::note_template_class_instantiation_here; Diags.Report(Active->PointOfInstantiation, DiagID) - << Context.getTypeDeclType(Record) - << Active->InstantiationRange; + << Record << Active->InstantiationRange; } else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(D)) { unsigned DiagID; if (Function->getPrimaryTemplate()) @@ -490,7 +489,7 @@ void Sema::PrintInstantiationStack() { dyn_cast<ClassTemplatePartialSpecializationDecl>(Active->Entity)) { Diags.Report(Active->PointOfInstantiation, diag::note_partial_spec_deduct_instantiation_here) - << Context.getTypeDeclType(PartialSpec) + << PartialSpec << getTemplateArgumentBindingsText( PartialSpec->getTemplateParameters(), Active->TemplateArgs, |