diff options
Diffstat (limited to 'clang/tools/libclang/CIndex.cpp')
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index ef93489710a..a1e21e650f6 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -3571,12 +3571,13 @@ static const ExprEvalResult* evaluateExpr(Expr *expr, CXCursor C) { rettype = callExpr->getCallReturnType(ctx); if (rettype->isVectorType() || callExpr->getNumArgs() > 1) { + clang_EvalResult_dispose((CXEvalResult *)result); return nullptr; } if (rettype->isIntegralType(ctx) || rettype->isRealFloatingType()) { if(callExpr->getNumArgs() == 1 && - !callExpr->getArg(0)->getType()->isIntegralType(ctx)){ - + !callExpr->getArg(0)->getType()->isIntegralType(ctx)) { + clang_EvalResult_dispose((CXEvalResult *)result); return nullptr; } } else if(rettype.getAsString() == "CFStringRef") { |