From f8ea863db6e165d56afbb6b4acd362e4c8ce1c2e Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Wed, 12 May 2010 01:31:23 +0000 Subject: [PATCH] Fix for bug 312198. Submitted on behalf of Markus, --- .../dom/parser/cpp/semantics/TemplateArgumentDeduction.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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()); }