MSVC seems to use (void) in __FUNCSIG__ for a zero-parameter function even in C++. Follow suit.

llvm-svn: 291489
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp
index edb2188..14f31d0 100644
--- a/clang/lib/AST/Expr.cpp
+++ b/clang/lib/AST/Expr.cpp
@@ -582,12 +582,13 @@
         if (i) POut << ", ";
         POut << Decl->getParamDecl(i)->getType().stream(Policy);
       }
-      if (!Context.getLangOpts().CPlusPlus && !Decl->getNumParams())
-        POut << "void";
 
       if (FT->isVariadic()) {
         if (FD->getNumParams()) POut << ", ";
         POut << "...";
+      } else if ((IT == FuncSig || !Context.getLangOpts().CPlusPlus) &&
+                 !Decl->getNumParams()) {
+        POut << "void";
       }
     }
     POut << ")";