Skip to content

Commit 291b6e9

Browse files
committed
fix #14130
1 parent eda58d4 commit 291b6e9

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

lib/checkunusedvar.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1606,7 +1606,7 @@ void CheckUnusedVar::checkStructMemberUsage()
16061606
if (isInherited && !var.isPrivate())
16071607
continue;
16081608

1609-
if (!var.nameToken() || var.nameToken()->isAttributeUnused() || var.nameToken()->isAnonymous())
1609+
if (!var.nameToken() || var.nameToken()->isAttributeUnused() || var.nameToken()->isAttributeMaybeUnused() || var.nameToken()->isAnonymous())
16101610
continue;
16111611

16121612
if (mTokenizer->isVarUsedInTemplate(var.declarationId()))

lib/tokenize.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9542,7 +9542,15 @@ void Tokenizer::simplifyCPPAttribute()
95429542
Token* head = skipCPPOrAlignAttribute(tok)->next();
95439543
while (isCPPAttribute(head) || isAlignAttribute(head))
95449544
head = skipCPPOrAlignAttribute(head)->next();
9545-
head->isAttributeMaybeUnused(true);
9545+
while (Token::Match(head->next(), "%name%|*|&|&&|const|static|inline|volatile"))
9546+
head = head->next();
9547+
if (Token::Match(head, "%name%"))
9548+
head->isAttributeMaybeUnused(true);
9549+
else {
9550+
if (Token::Match(tok->previous(), "%name%") && Token::Match(tok->link(), "] [;={]")) {
9551+
tok->previous()->isAttributeMaybeUnused(true);
9552+
}
9553+
}
95469554
} else if (Token::findsimplematch(tok->tokAt(2), "unused", tok->link())) {
95479555
Token* head = skipCPPOrAlignAttribute(tok)->next();
95489556
while (isCPPAttribute(head) || isAlignAttribute(head))

0 commit comments

Comments
 (0)