diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-22 15:46:01 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-22 15:46:01 +0000 |
commit | 9170e914fc2f9e512d8e22a9763b1962404a985b (patch) | |
tree | b5bbcea074e5a8deaf4080432cccad2cb50bc5d7 /clang/lib/Sema/SemaTemplateInstantiate.cpp | |
parent | e1596856ecc87c659399b625cc3c501874c5de6f (diff) | |
download | bcm5719-llvm-9170e914fc2f9e512d8e22a9763b1962404a985b.tar.gz bcm5719-llvm-9170e914fc2f9e512d8e22a9763b1962404a985b.zip |
Streamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumentList.
llvm-svn: 175894
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiate.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index c8f03725b95..79e16f39425 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -492,14 +492,16 @@ void Sema::PrintInstantiationStack() { case ActiveTemplateInstantiation::DefaultTemplateArgumentInstantiation: { TemplateDecl *Template = cast<TemplateDecl>(Active->Entity); - std::string TemplateArgsStr - = TemplateSpecializationType::PrintTemplateArgumentList( + SmallVector<char, 128> TemplateArgsStr; + llvm::raw_svector_ostream OS(TemplateArgsStr); + Template->printName(OS); + TemplateSpecializationType::PrintTemplateArgumentList(OS, Active->TemplateArgs, Active->NumTemplateArgs, getPrintingPolicy()); Diags.Report(Active->PointOfInstantiation, diag::note_default_arg_instantiation_here) - << (Template->getNameAsString() + TemplateArgsStr) + << OS.str() << Active->InstantiationRange; break; } @@ -544,14 +546,16 @@ void Sema::PrintInstantiationStack() { ParmVarDecl *Param = cast<ParmVarDecl>(Active->Entity); FunctionDecl *FD = cast<FunctionDecl>(Param->getDeclContext()); - std::string TemplateArgsStr - = TemplateSpecializationType::PrintTemplateArgumentList( + SmallVector<char, 128> TemplateArgsStr; + llvm::raw_svector_ostream OS(TemplateArgsStr); + FD->printName(OS); + TemplateSpecializationType::PrintTemplateArgumentList(OS, Active->TemplateArgs, Active->NumTemplateArgs, getPrintingPolicy()); Diags.Report(Active->PointOfInstantiation, diag::note_default_function_arg_instantiation_here) - << (FD->getNameAsString() + TemplateArgsStr) + << OS.str() << Active->InstantiationRange; break; } |