diff --git a/server/src/KleeGenerator.cpp b/server/src/KleeGenerator.cpp index efb39e9d..918d93a3 100644 --- a/server/src/KleeGenerator.cpp +++ b/server/src/KleeGenerator.cpp @@ -97,8 +97,9 @@ static std::string getUTBotClangCompilerPath(fs::path clientCompilerPath) { } } -static const std::unordered_set UNSUPPORTED_FLAGS_AND_OPTIONS_KLEE = { +static const std::unordered_set UNSUPPORTED_FLAGS_AND_OPTIONS_KLEE = { "--coverage", + "-lgcov", "-fbranch-target-load-optimize", "-fcx-fortran-rules", "-fipa-cp-clone", diff --git a/server/src/fetchers/FunctionDeclsMatchCallback.cpp b/server/src/fetchers/FunctionDeclsMatchCallback.cpp index b821c966..b2826784 100644 --- a/server/src/fetchers/FunctionDeclsMatchCallback.cpp +++ b/server/src/fetchers/FunctionDeclsMatchCallback.cpp @@ -173,8 +173,13 @@ void FunctionDeclsMatchCallback::addFunctionPointer( LOG_S(WARNING) << "Type '" << name << "' fetch as function pointer but can't get functionType"; } } else if (type.isArrayOfPointersToFunction()) { - functionPointers[name] = ParamsHandler::getFunctionPointerDeclaration( - qualType->getPointeeType()->getPointeeType()->getAs(), name, - sourceManager, true); + const clang::FunctionType *functionType = qualType->getPointeeType()->getPointeeType()->getAs(); + if (functionType) { + functionPointers[name] = ParamsHandler::getFunctionPointerDeclaration( + functionType, name, + sourceManager, true); + } else { + LOG_S(WARNING) << "Type '" << name << "' fetch as function pointer but can't get functionType"; + } } }