diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-05-30 05:39:39 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-05-30 05:39:39 +0000 |
commit | 2d042f1cf42297dbd9cf7ae9ef558a74dfc0be9e (patch) | |
tree | bdab3275261e85c137780b994ea1998ba3777e33 /clang/lib/AST/DeclPrinter.cpp | |
parent | c4fc839c579460f0f25802c27b33df985070df14 (diff) | |
download | bcm5719-llvm-2d042f1cf42297dbd9cf7ae9ef558a74dfc0be9e.tar.gz bcm5719-llvm-2d042f1cf42297dbd9cf7ae9ef558a74dfc0be9e.zip |
Never suppress specifiers when printing the parameters of a function
declaration.
llvm-svn: 72613
Diffstat (limited to 'clang/lib/AST/DeclPrinter.cpp')
-rw-r--r-- | clang/lib/AST/DeclPrinter.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp index 72f97035ef1..6412f750ae9 100644 --- a/clang/lib/AST/DeclPrinter.cpp +++ b/clang/lib/AST/DeclPrinter.cpp @@ -296,6 +296,8 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { if (D->isVirtualAsWritten()) Out << "virtual "; } + PrintingPolicy SubPolicy(Policy); + SubPolicy.SuppressSpecifiers = false; std::string Proto = D->getNameAsString(); if (isa<FunctionType>(D->getType().getTypePtr())) { const FunctionType *AFT = D->getType()->getAsFunctionType(); @@ -307,7 +309,7 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { Proto += "("; if (FT) { llvm::raw_string_ostream POut(Proto); - DeclPrinter ParamPrinter(POut, Context, Policy, Indentation); + DeclPrinter ParamPrinter(POut, Context, SubPolicy, Indentation); for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { if (i) POut << ", "; ParamPrinter.VisitParmVarDecl(D->getParamDecl(i)); @@ -342,17 +344,18 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { // This is a K&R function definition, so we need to print the // parameters. Out << '\n'; + DeclPrinter ParamPrinter(Out, Context, SubPolicy, Indentation); Indentation += Policy.Indentation; for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { Indent(); - VisitParmVarDecl(D->getParamDecl(i)); + ParamPrinter.VisitParmVarDecl(D->getParamDecl(i)); Out << ";\n"; } Indentation -= Policy.Indentation; } else Out << ' '; - D->getBody(Context)->printPretty(Out, Context, 0, Policy, Indentation); + D->getBody(Context)->printPretty(Out, Context, 0, SubPolicy, Indentation); Out << '\n'; } } |