From f2635eed74b108675d48c215e7ebc5d20773910b Mon Sep 17 00:00:00 2001 From: Marco Stornelli Date: Tue, 19 Mar 2019 20:34:27 +0100 Subject: Bug 545562 - Fix return checker check for template functions Change-Id: Ie5e3d4560cb3784f6c8393290d64794db56294d7 Signed-off-by: Marco Stornelli --- .../org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java | 5 ++++- .../cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java | 7 +------ 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'core') diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java index bc9cd9b9ac8..5f6de123898 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java @@ -734,7 +734,10 @@ public class CPPFunction extends PlatformObject implements ICPPFunction, ICPPInt @Override public boolean isNoReturn() { - ICPPASTFunctionDeclarator dtor = getPreferredDtor(); + return isNoReturn(getPreferredDtor()); + } + + public static boolean isNoReturn(ICPPASTFunctionDeclarator dtor) { if (dtor == null) { return false; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java index 9ed186ffce4..a5e631763ee 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java @@ -36,7 +36,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDefinition; import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunctionTemplate; import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunctionType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameter; -import org.eclipse.cdt.core.parser.util.AttributeUtil; import org.eclipse.cdt.internal.core.dom.parser.ASTInternal; import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; @@ -390,11 +389,7 @@ public class CPPFunctionTemplate extends CPPTemplateDefinition implements ICPPFu @Override public boolean isNoReturn() { - ICPPASTFunctionDeclarator fdecl = getFirstFunctionDtor(); - if (fdecl != null) { - return AttributeUtil.hasNoreturnAttribute(fdecl); - } - return false; + return CPPFunction.isNoReturn(getFirstFunctionDtor()); } private IASTDeclarator getDeclaratorByName(IASTNode node) { -- cgit v1.2.3