diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index e05001b6896..ea3ef17e66c 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -7464,8 +7464,10 @@ static const Token* parsedecl(const Token* type, valuetype->typeScope = type->type()->classScope; } else if (type->isName() && valuetype->sign != ValueType::Sign::UNKNOWN_SIGN && valuetype->pointer == 0U) return nullptr; - else if (Token::Match(type->previous(), "!!:: %name% !!::")) - valuetype->fromLibraryType(type->str(), settings); + else if (Token::Match(type->previous(), "!!:: %name% !!::")) { + if (!type->isKeyword()) + valuetype->fromLibraryType(type->str(), settings); + } if (!type->originalName().empty()) valuetype->originalTypeName = type->originalName(); type = type->next();