diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java index 19239262c98..240db77686c 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java @@ -2582,7 +2582,9 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor, } if (addEllipsis) { if (i > 0) { - scribe.printNextToken(options.fSeparatorToken, options.fSpaceBeforeSeparator); + if (peekNextToken() == options.fSeparatorToken) { + scribe.printNextToken(options.fSeparatorToken, options.fSpaceBeforeSeparator); + } scribe.printTrailingComment(); } scribe.alignFragment(alignment, i); diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java index 47269ee5a89..47ee70ce118 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java @@ -4777,4 +4777,15 @@ public class CodeFormatterTest extends BaseUITestCase { public void testNoexcept_Bug562723() throws Exception { assertFormatterResult(); } + + //void foo(int...) {} + //int main() {} + + //void foo(int ...) { + //} + //int main() { + //} + public void testVariadicFunction_Bug487990() throws Exception { + assertFormatterResult(); + } }