https://github.com/matthew-f created https://github.com/llvm/llvm-project/pull/99084
The regular expressions match functions that aren't anchored in the global namespace. For example `::connect` matches `QObject::connect` This change is to remove these false positives >From d5aa95877b2c33189be77ecd2914565f77a76ba8 Mon Sep 17 00:00:00 2001 From: matthew-f <551862+matthe...@users.noreply.github.com> Date: Tue, 16 Jul 2024 20:50:45 +0200 Subject: [PATCH 1/3] Ensure functions are in the global namespace --- .../bugprone/UnusedReturnValueCheck.cpp | 124 +++++++++--------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp index 73373147e96fc..c5252966ebe6f 100644 --- a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp @@ -76,69 +76,69 @@ UnusedReturnValueCheck::UnusedReturnValueCheck(llvm::StringRef Name, "::std::upper_bound$;" "::std::vector::at$;" // C standard library - "::bsearch$;" - "::ferror$;" - "::feof$;" - "::isalnum$;" - "::isalpha$;" - "::isblank$;" - "::iscntrl$;" - "::isdigit$;" - "::isgraph$;" - "::islower$;" - "::isprint$;" - "::ispunct$;" - "::isspace$;" - "::isupper$;" - "::iswalnum$;" - "::iswprint$;" - "::iswspace$;" - "::isxdigit$;" - "::memchr$;" - "::memcmp$;" - "::strcmp$;" - "::strcoll$;" - "::strncmp$;" - "::strpbrk$;" - "::strrchr$;" - "::strspn$;" - "::strstr$;" - "::wcscmp$;" + "^::bsearch$;" + "^::ferror$;" + "^::feof$;" + "^::isalnum$;" + "^::isalpha$;" + "^::isblank$;" + "^::iscntrl$;" + "^::isdigit$;" + "^::isgraph$;" + "^::islower$;" + "^::isprint$;" + "^::ispunct$;" + "^::isspace$;" + "^::isupper$;" + "^::iswalnum$;" + "^::iswprint$;" + "^::iswspace$;" + "^::isxdigit$;" + "^::memchr$;" + "^::memcmp$;" + "^::strcmp$;" + "^::strcoll$;" + "^::strncmp$;" + "^::strpbrk$;" + "^::strrchr$;" + "^::strspn$;" + "^::strstr$;" + "^::wcscmp$;" // POSIX - "::access$;" - "::bind$;" - "::connect$;" - "::difftime$;" - "::dlsym$;" - "::fnmatch$;" - "::getaddrinfo$;" - "::getopt$;" - "::htonl$;" - "::htons$;" - "::iconv_open$;" - "::inet_addr$;" - "::isascii$;" - "::isatty$;" - "::mmap$;" - "::newlocale$;" - "::openat$;" - "::pathconf$;" - "::pthread_equal$;" - "::pthread_getspecific$;" - "::pthread_mutex_trylock$;" - "::readdir$;" - "::readlink$;" - "::recvmsg$;" - "::regexec$;" - "::scandir$;" - "::semget$;" - "::setjmp$;" - "::shm_open$;" - "::shmget$;" - "::sigismember$;" - "::strcasecmp$;" - "::strsignal$;" - "::ttyname"))), + "^::access$;" + "^::bind$;" + "^^::connect$;" + "^::difftime$;" + "^::dlsym$;" + "^::fnmatch$;" + "^::getaddrinfo$;" + "^::getopt$;" + "^::htonl$;" + "^::htons$;" + "^::iconv_open$;" + "^::inet_addr$;" + "^::isascii$;" + "^::isatty$;" + "^::mmap$;" + "^::newlocale$;" + "^::openat$;" + "^::pathconf$;" + "^::pthread_equal$;" + "^::pthread_getspecific$;" + "^::pthread_mutex_trylock$;" + "^::readdir$;" + "^::readlink$;" + "^::recvmsg$;" + "^::regexec$;" + "^::scandir$;" + "^::semget$;" + "^::setjmp$;" + "^::shm_open$;" + "^::shmget$;" + "^::sigismember$;" + "^::strcasecmp$;" + "^::strsignal$;" + "^::ttyname"))), CheckedReturnTypes(utils::options::parseStringList( Options.get("CheckedReturnTypes", "::std::error_code$;" "::std::error_condition$;" >From c4fd20f61f518f6c9c35704a2edbcfbeb102bdc6 Mon Sep 17 00:00:00 2001 From: matthew-f <551862+matthe...@users.noreply.github.com> Date: Tue, 16 Jul 2024 20:54:43 +0200 Subject: [PATCH 2/3] Ensure functions are in the global namespace --- .../clang-tidy/bugprone/UnusedReturnValueCheck.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp index c5252966ebe6f..8601aefa60c6c 100644 --- a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp @@ -107,7 +107,7 @@ UnusedReturnValueCheck::UnusedReturnValueCheck(llvm::StringRef Name, // POSIX "^::access$;" "^::bind$;" - "^^::connect$;" + "^::connect$;" "^::difftime$;" "^::dlsym$;" "^::fnmatch$;" >From a70dab488be4ede79f39e21fcea5579cf3f07dff Mon Sep 17 00:00:00 2001 From: matthew-f <551862+matthe...@users.noreply.github.com> Date: Tue, 16 Jul 2024 21:04:42 +0200 Subject: [PATCH 3/3] Ensure functions are anchored in the global namespace --- .../bugprone/UnusedReturnValueCheck.cpp | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp index 8601aefa60c6c..955a9b94dfaf6 100644 --- a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp @@ -48,33 +48,33 @@ UnusedReturnValueCheck::UnusedReturnValueCheck(llvm::StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), CheckedFunctions(utils::options::parseStringList( - Options.get("CheckedFunctions", "::std::async$;" - "::std::launder$;" - "::std::remove$;" - "::std::remove_if$;" - "::std::unique$;" - "::std::unique_ptr::release$;" - "::std::basic_string::empty$;" - "::std::vector::empty$;" - "::std::back_inserter$;" - "::std::distance$;" - "::std::find$;" - "::std::find_if$;" - "::std::inserter$;" - "::std::lower_bound$;" - "::std::make_pair$;" - "::std::map::count$;" - "::std::map::find$;" - "::std::map::lower_bound$;" - "::std::multimap::equal_range$;" - "::std::multimap::upper_bound$;" - "::std::set::count$;" - "::std::set::find$;" - "::std::setfill$;" - "::std::setprecision$;" - "::std::setw$;" - "::std::upper_bound$;" - "::std::vector::at$;" + Options.get("CheckedFunctions", "^::std::async$;" + "^::std::launder$;" + "^::std::remove$;" + "^::std::remove_if$;" + "^::std::unique$;" + "^::std::unique_ptr::release$;" + "^::std::basic_string::empty$;" + "^::std::vector::empty$;" + "^::std::back_inserter$;" + "^::std::distance$;" + "^::std::find$;" + "^::std::find_if$;" + "^::std::inserter$;" + "^::std::lower_bound$;" + "^::std::make_pair$;" + "^::std::map::count$;" + "^::std::map::find$;" + "^::std::map::lower_bound$;" + "^::std::multimap::equal_range$;" + "^::std::multimap::upper_bound$;" + "^::std::set::count$;" + "^::std::set::find$;" + "^::std::setfill$;" + "^::std::setprecision$;" + "^::std::setw$;" + "^::std::upper_bound$;" + "^::std::vector::at$;" // C standard library "^::bsearch$;" "^::ferror$;" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits