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 << ")";