diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java index 6a30223b1fb..6b2276a7321 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java @@ -1881,7 +1881,9 @@ public class CPPSemantics { if( type == null ){ type = temp; } else if( (temp instanceof ICPPDelegate && ((ICPPDelegate)temp).getBinding() == type) || - (type instanceof ICPPDelegate && ((ICPPDelegate)type).getBinding() == temp) ) + (type instanceof ICPPDelegate && ((ICPPDelegate)type).getBinding() == temp) || + (type instanceof ICPPDelegate && temp instanceof ICPPDelegate && + ((ICPPDelegate)type).getBinding() == ((ICPPDelegate)temp).getBinding()) ) { //ok, delegates are synonyms } else if( type instanceof ICPPClassTemplate && temp instanceof ICPPSpecialization &&