Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/codan
diff options
context:
space:
mode:
authorToni Suter2016-09-16 06:01:06 +0000
committerNathan Ridge2016-09-16 07:09:25 +0000
commit25d4502b8030063a089ba4b2f5e54aa87374ade4 (patch)
tree79c2b79c0243c4afa7ce1e7b87d4fe09c451d409 /codan
parent46d0c9633bc35321e8ee475636da00b3874b1a56 (diff)
downloadorg.eclipse.cdt-25d4502b8030063a089ba4b2f5e54aa87374ade4.tar.gz
org.eclipse.cdt-25d4502b8030063a089ba4b2f5e54aa87374ade4.tar.xz
org.eclipse.cdt-25d4502b8030063a089ba4b2f5e54aa87374ade4.zip
Bug 490475. Support the evaluation of C++14 constexpr functions
Change-Id: I05029f26b6d33cbeeab8138a270b38c4018b64b5 Signed-off-by: Toni Suter <tsuter@hsr.ch> Signed-off-by: Silvano Brugnoni <sbrugnon@hsr.ch>
Diffstat (limited to 'codan')
-rw-r--r--codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/fs/ScanfFormatStringSecurityChecker.java2
-rw-r--r--codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java8
2 files changed, 5 insertions, 5 deletions
diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/fs/ScanfFormatStringSecurityChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/fs/ScanfFormatStringSecurityChecker.java
index ab1b954cd3c..a16509d6f5e 100644
--- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/fs/ScanfFormatStringSecurityChecker.java
+++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/fs/ScanfFormatStringSecurityChecker.java
@@ -165,7 +165,7 @@ public class ScanfFormatStringSecurityChecker extends AbstractIndexAstChecker {
IType expressionType = idExpression.getExpressionType();
if (expressionType instanceof IArrayType) {
IArrayType arrayExpressionType = (IArrayType) expressionType;
- long arraySize = arrayExpressionType.getSize().numericalValue().longValue();
+ long arraySize = arrayExpressionType.getSize().numberValue().longValue();
if (argumentSize > arraySize) {
reportProblem(ER_ID, idExpression, idExpression.getRawSignature());
}
diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java
index c1da6a39871..0fcac765920 100644
--- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java
+++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java
@@ -60,7 +60,7 @@ import org.eclipse.cdt.core.dom.ast.IValue;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCatchHandler;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTRangeBasedForStatement;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement;
-import org.eclipse.cdt.internal.core.dom.parser.Value;
+import org.eclipse.cdt.internal.core.dom.parser.ValueFactory;
import org.eclipse.osgi.util.NLS;
/**
@@ -581,11 +581,11 @@ public class ControlFlowGraphBuilder {
if (node instanceof ICfgData) {
IASTNode ast = (IASTNode) ((ICfgData) node).getData();
if (ast instanceof IASTExpression) {
- IValue dvalue = Value.create((IASTExpression) ast);
- Long numericalValue = dvalue.numericalValue();
+ IValue dvalue = ValueFactory.create((IASTExpression) ast);
+ Number numericalValue = dvalue.numberValue();
if (numericalValue == null)
return false;
- return numericalValue == testvalue;
+ return numericalValue.longValue() == testvalue;
}
}
return false;

Back to the top