Skip to content

Commit e63b71b

Browse files
committed
pass TokenList to SuppressionList::markUnmatchedInlineSuppressionsAsChecked()
1 parent a1e752f commit e63b71b

File tree

5 files changed

+10
-11
lines changed

5 files changed

+10
-11
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,7 @@ $(libcppdir)/standards.o: lib/standards.cpp externals/simplecpp/simplecpp.h lib/
656656
$(libcppdir)/summaries.o: lib/summaries.cpp lib/addoninfo.h lib/analyzerinfo.h lib/checkers.h lib/config.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/summaries.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h
657657
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/summaries.cpp
658658

659-
$(libcppdir)/suppressions.o: lib/suppressions.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/checkers.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/settings.h lib/smallvector.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h lib/xml.h
659+
$(libcppdir)/suppressions.o: lib/suppressions.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/checkers.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/settings.h lib/smallvector.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenlist.h lib/utils.h lib/vfvalue.h lib/xml.h
660660
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/suppressions.cpp
661661

662662
$(libcppdir)/templatesimplifier.o: lib/templatesimplifier.cpp lib/addoninfo.h lib/checkers.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/smallvector.h lib/standards.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h

lib/cppcheck.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1222,7 +1222,7 @@ unsigned int CppCheck::checkInternal(const FileWithDetails& file, const std::str
12221222

12231223
if (mSettings.inlineSuppressions) {
12241224
// Need to call this even if the hash will skip this configuration
1225-
mSuppressions.nomsg.markUnmatchedInlineSuppressionsAsChecked(tokenizer);
1225+
mSuppressions.nomsg.markUnmatchedInlineSuppressionsAsChecked(tokenizer.list);
12261226
}
12271227

12281228
// Skip if we already met the same simplified token list

lib/suppressions.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "pathmatch.h"
2626
#include "utils.h"
2727
#include "token.h"
28-
#include "tokenize.h"
2928
#include "tokenlist.h"
3029
#include "settings.h"
3130

@@ -615,25 +614,25 @@ std::list<SuppressionList::Suppression> SuppressionList::getSuppressions() const
615614
return mSuppressions;
616615
}
617616

618-
void SuppressionList::markUnmatchedInlineSuppressionsAsChecked(const Tokenizer &tokenizer) {
617+
void SuppressionList::markUnmatchedInlineSuppressionsAsChecked(const TokenList &tokenlist) {
619618
std::lock_guard<std::mutex> lg(mSuppressionsSync);
620619

621620
int currLineNr = -1;
622621
int currFileIdx = -1;
623-
for (const Token *tok = tokenizer.tokens(); tok; tok = tok->next()) {
622+
for (const Token *tok = tokenlist.front(); tok; tok = tok->next()) {
624623
if (currFileIdx != tok->fileIndex() || currLineNr != tok->linenr()) {
625624
currLineNr = tok->linenr();
626625
currFileIdx = tok->fileIndex();
627626
for (auto &suppression : mSuppressions) {
628627
if (suppression.type == SuppressionList::Type::unique) {
629-
if (!suppression.checked && (suppression.lineNumber == currLineNr) && (suppression.fileName == tokenizer.list.file(tok))) {
628+
if (!suppression.checked && (suppression.lineNumber == currLineNr) && (suppression.fileName == tokenlist.file(tok))) {
630629
suppression.checked = true;
631630
}
632631
} else if (suppression.type == SuppressionList::Type::block) {
633-
if ((!suppression.checked && (suppression.lineBegin <= currLineNr) && (suppression.lineEnd >= currLineNr) && (suppression.fileName == tokenizer.list.file(tok)))) {
632+
if ((!suppression.checked && (suppression.lineBegin <= currLineNr) && (suppression.lineEnd >= currLineNr) && (suppression.fileName == tokenlist.file(tok)))) {
634633
suppression.checked = true;
635634
}
636-
} else if (!suppression.checked && suppression.fileName == tokenizer.list.file(tok)) {
635+
} else if (!suppression.checked && suppression.fileName == tokenlist.file(tok)) {
637636
suppression.checked = true;
638637
}
639638
}

lib/suppressions.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#include <vector>
3434
#include <map>
3535

36-
class Tokenizer;
36+
class TokenList;
3737
class ErrorMessage;
3838
enum class Certainty : std::uint8_t;
3939
class FileWithDetails;
@@ -284,7 +284,7 @@ class CPPCHECKLIB SuppressionList {
284284
/**
285285
* @brief Marks Inline Suppressions as checked if source line is in the token stream
286286
*/
287-
void markUnmatchedInlineSuppressionsAsChecked(const Tokenizer &tokenizer);
287+
void markUnmatchedInlineSuppressionsAsChecked(const TokenList &tokenlist);
288288

289289
private:
290290
mutable std::mutex mSuppressionsSync;

oss-fuzz/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ $(libcppdir)/standards.o: ../lib/standards.cpp ../externals/simplecpp/simplecpp.
332332
$(libcppdir)/summaries.o: ../lib/summaries.cpp ../lib/addoninfo.h ../lib/analyzerinfo.h ../lib/checkers.h ../lib/config.h ../lib/errortypes.h ../lib/library.h ../lib/mathlib.h ../lib/path.h ../lib/platform.h ../lib/settings.h ../lib/smallvector.h ../lib/sourcelocation.h ../lib/standards.h ../lib/summaries.h ../lib/symboldatabase.h ../lib/templatesimplifier.h ../lib/token.h ../lib/tokenize.h ../lib/tokenlist.h ../lib/utils.h ../lib/vfvalue.h
333333
$(CXX) ${LIB_FUZZING_ENGINE} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/summaries.cpp
334334

335-
$(libcppdir)/suppressions.o: ../lib/suppressions.cpp ../externals/tinyxml2/tinyxml2.h ../lib/addoninfo.h ../lib/checkers.h ../lib/config.h ../lib/errorlogger.h ../lib/errortypes.h ../lib/filesettings.h ../lib/library.h ../lib/mathlib.h ../lib/path.h ../lib/pathmatch.h ../lib/platform.h ../lib/settings.h ../lib/smallvector.h ../lib/standards.h ../lib/suppressions.h ../lib/templatesimplifier.h ../lib/token.h ../lib/tokenize.h ../lib/tokenlist.h ../lib/utils.h ../lib/vfvalue.h ../lib/xml.h
335+
$(libcppdir)/suppressions.o: ../lib/suppressions.cpp ../externals/tinyxml2/tinyxml2.h ../lib/addoninfo.h ../lib/checkers.h ../lib/config.h ../lib/errorlogger.h ../lib/errortypes.h ../lib/filesettings.h ../lib/library.h ../lib/mathlib.h ../lib/path.h ../lib/pathmatch.h ../lib/platform.h ../lib/settings.h ../lib/smallvector.h ../lib/standards.h ../lib/suppressions.h ../lib/templatesimplifier.h ../lib/token.h ../lib/tokenlist.h ../lib/utils.h ../lib/vfvalue.h ../lib/xml.h
336336
$(CXX) ${LIB_FUZZING_ENGINE} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/suppressions.cpp
337337

338338
$(libcppdir)/templatesimplifier.o: ../lib/templatesimplifier.cpp ../lib/addoninfo.h ../lib/checkers.h ../lib/config.h ../lib/errorlogger.h ../lib/errortypes.h ../lib/library.h ../lib/mathlib.h ../lib/platform.h ../lib/settings.h ../lib/smallvector.h ../lib/standards.h ../lib/templatesimplifier.h ../lib/token.h ../lib/tokenize.h ../lib/tokenlist.h ../lib/utils.h ../lib/vfvalue.h

0 commit comments

Comments
 (0)