diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java index 3d8b1d6d338..185e073cf4d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java @@ -850,7 +850,8 @@ public class CVisitor { if( binding != null ) { if( binding instanceof IFunction ){ IFunction function = (IFunction) binding; - ((CFunction)function).addDeclarator( (IASTFunctionDeclarator) declarator ); + if( function instanceof CFunction ) + ((CFunction)function).addDeclarator( (IASTFunctionDeclarator) declarator ); return function; } binding = new ProblemBinding( name, IProblemBinding.SEMANTIC_INVALID_OVERLOAD, name.toCharArray() );