From ab8cde446b51cd7dbe9f8aa0c0a392180f6a6e2a Mon Sep 17 00:00:00 2001 From: Lubos Lunak Date: Sun, 12 May 2019 10:39:21 +0000 Subject: make -ftime-trace also print template arguments Without this, I get e.g. 'PerformPendingInstantiations' -> 'std::fill', now I get 'std::fill'. Differential Revision: https://reviews.llvm.org/D61822 llvm-svn: 360539 --- clang/lib/Sema/SemaTemplateInstantiate.cpp | 6 +++++- clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'clang/lib/Sema') diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index af56ff06ac4..edc281cad6e 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -2014,7 +2014,11 @@ Sema::InstantiateClass(SourceLocation PointOfInstantiation, return true; llvm::TimeTraceScope TimeScope("InstantiateClass", [&]() { - return Instantiation->getQualifiedNameAsString(); + std::string Name; + llvm::raw_string_ostream OS(Name); + Instantiation->getNameForDiagnostic(OS, getPrintingPolicy(), + /*Qualified=*/true); + return Name; }); Pattern = PatternDef; diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 1c7341d3cf8..6c5847ddfcd 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -4156,7 +4156,11 @@ void Sema::InstantiateFunctionDefinition(SourceLocation PointOfInstantiation, } llvm::TimeTraceScope TimeScope("InstantiateFunction", [&]() { - return Function->getQualifiedNameAsString(); + std::string Name; + llvm::raw_string_ostream OS(Name); + Function->getNameForDiagnostic(OS, getPrintingPolicy(), + /*Qualified=*/true); + return Name; }); // If we're performing recursive template instantiation, create our own -- cgit v1.2.3