From 753efb4c9b8f508c95ee472b7623a6b67d023430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Wed, 24 Jul 2019 08:23:05 +0200 Subject: [PATCH] Function::isSafe: handle global/namespace functions better --- lib/symboldatabase.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index 13a043a9a..21b2eea91 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -2081,6 +2081,16 @@ const Token * Function::constructorMemberInitialization() const bool Function::isSafe(const Settings *settings) const { + if (nestedIn->type == Scope::ScopeType::eGlobal) { + if (token->fileIndex() == 0 && isStatic()) + return settings->safeChecks.internalFunctions; + return settings->safeChecks.externalFunctions; + } + + if (nestedIn->type == Scope::ScopeType::eNamespace) { + return token->fileIndex() == 0; + } + switch (access) { case AccessControl::Local: case AccessControl::Private: