From 5cad4cd8beda87c04cdbd3619813d0afe453f65c Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Thu, 28 Feb 2013 11:44:23 -0800 Subject: [PATCH] Bug 402006 - [formatter] Crashes on sizeof() macro --- .../cdt/internal/formatter/CodeFormatterVisitor.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 c4da1712865..be1b39a2939 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 @@ -2467,6 +2467,9 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor, } private int visit(IASTTypeIdExpression node) { + if (enclosedInMacroExpansion(node)) { + return PROCESS_SKIP; + } scribe.printNextToken(peekNextToken()); scribe.printNextToken(Token.tLPAREN); node.getTypeId().accept(this); @@ -2598,6 +2601,9 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor, } private int visit(IASTUnaryExpression node) { + if (enclosedInMacroExpansion(node)) { + return PROCESS_SKIP; + } final IASTExpression operand= node.getOperand(); final int operator= node.getOperator(); switch (operator) {