diff options
Diffstat (limited to 'clang/lib/AST/DeclPrinter.cpp')
-rw-r--r-- | clang/lib/AST/DeclPrinter.cpp | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp index 78a7afdbf09..325400e4630 100644 --- a/clang/lib/AST/DeclPrinter.cpp +++ b/clang/lib/AST/DeclPrinter.cpp @@ -566,21 +566,6 @@ void DeclPrinter::VisitEnumConstantDecl(EnumConstantDecl *D) { } } -static void printExplicitSpecifier(ExplicitSpecifier ES, llvm::raw_ostream &Out, - PrintingPolicy &Policy, - unsigned Indentation) { - std::string Proto = "explicit"; - llvm::raw_string_ostream EOut(Proto); - if (ES.getExpr()) { - EOut << "("; - ES.getExpr()->printPretty(EOut, nullptr, Policy, Indentation); - EOut << ")"; - } - EOut << " "; - EOut.flush(); - Out << EOut.str(); -} - void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { if (!D->getDescribedFunctionTemplate() && !D->isFunctionTemplateSpecialization()) @@ -611,9 +596,10 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { if (D->isVirtualAsWritten()) Out << "virtual "; if (D->isModulePrivate()) Out << "__module_private__ "; if (D->isConstexpr() && !D->isExplicitlyDefaulted()) Out << "constexpr "; - ExplicitSpecifier ExplicitSpec = ExplicitSpecifier::getFromDecl(D); - if (ExplicitSpec.isSpecified()) - printExplicitSpecifier(ExplicitSpec, Out, Policy, Indentation); + if ((CDecl && CDecl->isExplicitSpecified()) || + (ConversionDecl && ConversionDecl->isExplicitSpecified()) || + (GuideDecl && GuideDecl->isExplicitSpecified())) + Out << "explicit "; } PrintingPolicy SubPolicy(Policy); |