diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp index 3d8a0b7b3970a8..56bfee5fd294c2 100644 --- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp @@ -119,9 +119,13 @@ void MagicNumbersCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { } void MagicNumbersCheck::registerMatchers(MatchFinder *Finder) { - Finder->addMatcher(integerLiteral().bind("integer"), this); + Finder->addMatcher(traverse(TK_IgnoreUnlessSpelledInSource, + integerLiteral().bind("integer")), + this); if (!IgnoreAllFloatingPointValues) - Finder->addMatcher(floatLiteral().bind("float"), this); + Finder->addMatcher( + traverse(TK_IgnoreUnlessSpelledInSource, floatLiteral().bind("float")), + this); } void MagicNumbersCheck::check(const MatchFinder::MatchResult &Result) { diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h index 9db80676e62a27..9612fd7ec6aab0 100644 --- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h +++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h @@ -78,10 +78,6 @@ class MagicNumbersCheck : public ClangTidyCheck { CharSourceRange::getTokenRange(MatchedLiteral->getSourceRange()), *Result.SourceManager, getLangOpts()); - const auto parents = Result.Context->getParents(*MatchedLiteral); - - const auto val = parents[0].template get(); - diag(MatchedLiteral->getLocation(), "%0 is a magic number; consider replacing it with a named constant") << LiteralSourceText;