]> granicus.if.org Git - clang/commitdiff
Tweak in DeclPrinter printing of uses of copy constructors. Patch by Jim Goodnow II.
authorTed Kremenek <kremenek@apple.com>
Fri, 17 Sep 2010 23:04:38 +0000 (23:04 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 17 Sep 2010 23:04:38 +0000 (23:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114235 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/DeclPrinter.cpp

index e8c24965bdc8d4d38754aa00dc64efdf519936ca..a8f19952b698e1f8b5c3d410ba066dbe9ce82e28 100644 (file)
@@ -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 << ")";