diff options
Diffstat (limited to 'clang/lib/AST/DeclPrinter.cpp')
-rw-r--r-- | clang/lib/AST/DeclPrinter.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp index e8c24965bdc..a8f19952b69 100644 --- a/clang/lib/AST/DeclPrinter.cpp +++ b/clang/lib/AST/DeclPrinter.cpp @@ -521,8 +521,11 @@ void DeclPrinter::VisitVarDecl(VarDecl *D) { if (Expr *Init = D->getInit()) { if (D->hasCXXDirectInitializer()) Out << "("; - else if (!dyn_cast<CXXConstructExpr>(Init)) - Out << " = "; + else { + CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init); + if (!CCE || CCE->getConstructor()->isCopyConstructor()) + Out << " = "; + } Init->printPretty(Out, Context, 0, Policy, Indentation); if (D->hasCXXDirectInitializer()) Out << ")"; |