From b414adbb13d74f4d15b401a0abb048ab5ab8913a Mon Sep 17 00:00:00 2001 From: Alena Laskavaia Date: Thu, 24 Feb 2011 03:03:10 +0000 Subject: [PATCH] Bug 333255 - Parser gives bogus warning about no return value when SFINAE is used --- .../org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java index 351e1dbab69..b735461f610 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java @@ -36,6 +36,7 @@ import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDefinition; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.ast.cpp.ICPPConstructor; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; import org.eclipse.cdt.core.dom.ast.gnu.IGNUASTCompoundStatementExpression; @@ -124,6 +125,8 @@ public class ReturnChecker extends AbstractAstFunctionChecker { */ @Override protected void processFunction(IASTFunctionDefinition func) { + if (func.getParent() instanceof ICPPASTTemplateDeclaration) + return; // if it is template get out of here ReturnStmpVisitor visitor = new ReturnStmpVisitor(func); func.accept(visitor); if (!visitor.hasret) {