From: Benjamin Kramer Date: Thu, 27 Sep 2012 17:37:30 +0000 (+0000) Subject: Pass PrintingPolicy by reference, copying it isn't cheap. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=023bd7d6ff3bf9ad6c9fa2e404924195e4f31584;p=clang Pass PrintingPolicy by reference, copying it isn't cheap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164781 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h index eeaba7a71d..1d037ac5e0 100644 --- a/include/clang/AST/ASTContext.h +++ b/include/clang/AST/ASTContext.h @@ -393,9 +393,11 @@ public: OwningPtr ExternalSource; ASTMutationListener *Listener; - clang::PrintingPolicy getPrintingPolicy() const { return PrintingPolicy; } + const clang::PrintingPolicy &getPrintingPolicy() const { + return PrintingPolicy; + } - void setPrintingPolicy(clang::PrintingPolicy Policy) { + void setPrintingPolicy(const clang::PrintingPolicy &Policy) { PrintingPolicy = Policy; } diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h index 8899b50e27..6a35ac6b56 100644 --- a/include/clang/AST/Type.h +++ b/include/clang/AST/Type.h @@ -3033,9 +3033,9 @@ public: // FIXME: Remove the string version. void printExceptionSpecification(std::string &S, - PrintingPolicy Policy) const; + const PrintingPolicy &Policy) const; void printExceptionSpecification(raw_ostream &OS, - PrintingPolicy Policy) const; + const PrintingPolicy &Policy) const; static bool classof(const Type *T) { return T->getTypeClass() == FunctionProto; diff --git a/lib/AST/TypePrinter.cpp b/lib/AST/TypePrinter.cpp index c42117c82b..dc58cacd03 100644 --- a/lib/AST/TypePrinter.cpp +++ b/lib/AST/TypePrinter.cpp @@ -556,7 +556,8 @@ void TypePrinter::printExtVectorAfter(const ExtVectorType *T, raw_ostream &OS) { void FunctionProtoType::printExceptionSpecification(raw_ostream &OS, - PrintingPolicy Policy) const { + const PrintingPolicy &Policy) + const { if (hasDynamicExceptionSpec()) { OS << " throw("; @@ -1343,7 +1344,8 @@ PrintTemplateArgumentList(raw_ostream &OS, void FunctionProtoType::printExceptionSpecification(std::string &S, - PrintingPolicy Policy) const { + const PrintingPolicy &Policy) + const { if (hasDynamicExceptionSpec()) { S += " throw(";