diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java index d0e5ede4655..be46b38cd01 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java @@ -523,7 +523,9 @@ public class TemplateArgumentDeduction { remaining= cvqA.remove(cvqP); } p = SemanticUtil.getNestedType(p, ALLCVQ); - a = SemanticUtil.getNestedType(a, ALLCVQ); + a = SemanticUtil.getNestedType(a, ALLCVQ); + if (p instanceof IQualifierType) + return false; if (remaining != CVQualifier._) { a= SemanticUtil.addQualifiers(a, remaining.isConst(), remaining.isVolatile()); }