]> granicus.if.org Git - clang/commitdiff
Pass PrintingPolicy by reference, copying it isn't cheap.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 27 Sep 2012 17:37:30 +0000 (17:37 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 27 Sep 2012 17:37:30 +0000 (17:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164781 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/ASTContext.h
include/clang/AST/Type.h
lib/AST/TypePrinter.cpp

index eeaba7a71da97e9e9ad8606346f856f77e815986..1d037ac5e0c205f5c217e3aae3c85b25245058c2 100644 (file)
@@ -393,9 +393,11 @@ public:
   OwningPtr<ExternalASTSource> 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;
   }
   
index 8899b50e27e35f8d82c2d4b9ebd871f62d580307..6a35ac6b56bacebcd234d2bb5c10999910c80a18 100644 (file)
@@ -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;
index c42117c82bf5a36b265f81f844c67c8810c1facf..dc58cacd038475e02fe40fca77807b56b22d89ec 100644 (file)
@@ -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(";