From 11eccf25f1be7a1b82385d1d6342b1ee2b7b75a2 Mon Sep 17 00:00:00 2001 From: firewave Date: Sat, 13 Sep 2025 22:39:40 +0200 Subject: [PATCH] symboldatabase.cpp: avoid library type lookup in `parsedecl()` if token is a keyword --- lib/symboldatabase.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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();