Author: matthew-f Date: 2024-07-22T20:26:54+02:00 New Revision: 9d76231fcd3f6ddf9bd6aafe7f143404cad7e4a1
URL: https://github.com/llvm/llvm-project/commit/9d76231fcd3f6ddf9bd6aafe7f143404cad7e4a1 DIFF: https://github.com/llvm/llvm-project/commit/9d76231fcd3f6ddf9bd6aafe7f143404cad7e4a1.diff LOG: [clang-tidy] Ensure functions are anchored in the global namespace (for cert-err-33) (#99380) The regular expressions match functions that aren't anchored in the global namespace. For example `::remove` matches any object with a `removeXyz` method. This change is to remove these false positives Added: Modified: clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp index ffb62b409b29b..8b5be9cd95f76 100644 --- a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp @@ -49,183 +49,183 @@ namespace { // with NULL argument and in this case the check is not applicable: // `mblen, mbrlen, mbrtowc, mbtowc, wctomb, wctomb_s`. // FIXME: The check can be improved to handle such cases. -const llvm::StringRef CertErr33CCheckedFunctions = "::aligned_alloc;" - "::asctime_s;" - "::at_quick_exit;" - "::atexit;" - "::bsearch;" - "::bsearch_s;" - "::btowc;" - "::c16rtomb;" - "::c32rtomb;" - "::calloc;" - "::clock;" - "::cnd_broadcast;" - "::cnd_init;" - "::cnd_signal;" - "::cnd_timedwait;" - "::cnd_wait;" - "::ctime_s;" - "::fclose;" - "::fflush;" - "::fgetc;" - "::fgetpos;" - "::fgets;" - "::fgetwc;" - "::fopen;" - "::fopen_s;" - "::fprintf;" - "::fprintf_s;" - "::fputc;" - "::fputs;" - "::fputwc;" - "::fputws;" - "::fread;" - "::freopen;" - "::freopen_s;" - "::fscanf;" - "::fscanf_s;" - "::fseek;" - "::fsetpos;" - "::ftell;" - "::fwprintf;" - "::fwprintf_s;" - "::fwrite;" - "::fwscanf;" - "::fwscanf_s;" - "::getc;" - "::getchar;" - "::getenv;" - "::getenv_s;" - "::gets_s;" - "::getwc;" - "::getwchar;" - "::gmtime;" - "::gmtime_s;" - "::localtime;" - "::localtime_s;" - "::malloc;" - "::mbrtoc16;" - "::mbrtoc32;" - "::mbsrtowcs;" - "::mbsrtowcs_s;" - "::mbstowcs;" - "::mbstowcs_s;" - "::memchr;" - "::mktime;" - "::mtx_init;" - "::mtx_lock;" - "::mtx_timedlock;" - "::mtx_trylock;" - "::mtx_unlock;" - "::printf_s;" - "::putc;" - "::putwc;" - "::raise;" - "::realloc;" - "::remove;" - "::rename;" - "::scanf;" - "::scanf_s;" - "::setlocale;" - "::setvbuf;" - "::signal;" - "::snprintf;" - "::snprintf_s;" - "::sprintf;" - "::sprintf_s;" - "::sscanf;" - "::sscanf_s;" - "::strchr;" - "::strerror_s;" - "::strftime;" - "::strpbrk;" - "::strrchr;" - "::strstr;" - "::strtod;" - "::strtof;" - "::strtoimax;" - "::strtok;" - "::strtok_s;" - "::strtol;" - "::strtold;" - "::strtoll;" - "::strtoul;" - "::strtoull;" - "::strtoumax;" - "::strxfrm;" - "::swprintf;" - "::swprintf_s;" - "::swscanf;" - "::swscanf_s;" - "::thrd_create;" - "::thrd_detach;" - "::thrd_join;" - "::thrd_sleep;" - "::time;" - "::timespec_get;" - "::tmpfile;" - "::tmpfile_s;" - "::tmpnam;" - "::tmpnam_s;" - "::tss_create;" - "::tss_get;" - "::tss_set;" - "::ungetc;" - "::ungetwc;" - "::vfprintf;" - "::vfprintf_s;" - "::vfscanf;" - "::vfscanf_s;" - "::vfwprintf;" - "::vfwprintf_s;" - "::vfwscanf;" - "::vfwscanf_s;" - "::vprintf_s;" - "::vscanf;" - "::vscanf_s;" - "::vsnprintf;" - "::vsnprintf_s;" - "::vsprintf;" - "::vsprintf_s;" - "::vsscanf;" - "::vsscanf_s;" - "::vswprintf;" - "::vswprintf_s;" - "::vswscanf;" - "::vswscanf_s;" - "::vwprintf_s;" - "::vwscanf;" - "::vwscanf_s;" - "::wcrtomb;" - "::wcschr;" - "::wcsftime;" - "::wcspbrk;" - "::wcsrchr;" - "::wcsrtombs;" - "::wcsrtombs_s;" - "::wcsstr;" - "::wcstod;" - "::wcstof;" - "::wcstoimax;" - "::wcstok;" - "::wcstok_s;" - "::wcstol;" - "::wcstold;" - "::wcstoll;" - "::wcstombs;" - "::wcstombs_s;" - "::wcstoul;" - "::wcstoull;" - "::wcstoumax;" - "::wcsxfrm;" - "::wctob;" - "::wctrans;" - "::wctype;" - "::wmemchr;" - "::wprintf_s;" - "::wscanf;" - "::wscanf_s;"; +const llvm::StringRef CertErr33CCheckedFunctions = "^::aligned_alloc;" + "^::asctime_s;" + "^::at_quick_exit;" + "^::atexit;" + "^::bsearch;" + "^::bsearch_s;" + "^::btowc;" + "^::c16rtomb;" + "^::c32rtomb;" + "^::calloc;" + "^::clock;" + "^::cnd_broadcast;" + "^::cnd_init;" + "^::cnd_signal;" + "^::cnd_timedwait;" + "^::cnd_wait;" + "^::ctime_s;" + "^::fclose;" + "^::fflush;" + "^::fgetc;" + "^::fgetpos;" + "^::fgets;" + "^::fgetwc;" + "^::fopen;" + "^::fopen_s;" + "^::fprintf;" + "^::fprintf_s;" + "^::fputc;" + "^::fputs;" + "^::fputwc;" + "^::fputws;" + "^::fread;" + "^::freopen;" + "^::freopen_s;" + "^::fscanf;" + "^::fscanf_s;" + "^::fseek;" + "^::fsetpos;" + "^::ftell;" + "^::fwprintf;" + "^::fwprintf_s;" + "^::fwrite;" + "^::fwscanf;" + "^::fwscanf_s;" + "^::getc;" + "^::getchar;" + "^::getenv;" + "^::getenv_s;" + "^::gets_s;" + "^::getwc;" + "^::getwchar;" + "^::gmtime;" + "^::gmtime_s;" + "^::localtime;" + "^::localtime_s;" + "^::malloc;" + "^::mbrtoc16;" + "^::mbrtoc32;" + "^::mbsrtowcs;" + "^::mbsrtowcs_s;" + "^::mbstowcs;" + "^::mbstowcs_s;" + "^::memchr;" + "^::mktime;" + "^::mtx_init;" + "^::mtx_lock;" + "^::mtx_timedlock;" + "^::mtx_trylock;" + "^::mtx_unlock;" + "^::printf_s;" + "^::putc;" + "^::putwc;" + "^::raise;" + "^::realloc;" + "^::remove;" + "^::rename;" + "^::scanf;" + "^::scanf_s;" + "^::setlocale;" + "^::setvbuf;" + "^::signal;" + "^::snprintf;" + "^::snprintf_s;" + "^::sprintf;" + "^::sprintf_s;" + "^::sscanf;" + "^::sscanf_s;" + "^::strchr;" + "^::strerror_s;" + "^::strftime;" + "^::strpbrk;" + "^::strrchr;" + "^::strstr;" + "^::strtod;" + "^::strtof;" + "^::strtoimax;" + "^::strtok;" + "^::strtok_s;" + "^::strtol;" + "^::strtold;" + "^::strtoll;" + "^::strtoul;" + "^::strtoull;" + "^::strtoumax;" + "^::strxfrm;" + "^::swprintf;" + "^::swprintf_s;" + "^::swscanf;" + "^::swscanf_s;" + "^::thrd_create;" + "^::thrd_detach;" + "^::thrd_join;" + "^::thrd_sleep;" + "^::time;" + "^::timespec_get;" + "^::tmpfile;" + "^::tmpfile_s;" + "^::tmpnam;" + "^::tmpnam_s;" + "^::tss_create;" + "^::tss_get;" + "^::tss_set;" + "^::ungetc;" + "^::ungetwc;" + "^::vfprintf;" + "^::vfprintf_s;" + "^::vfscanf;" + "^::vfscanf_s;" + "^::vfwprintf;" + "^::vfwprintf_s;" + "^::vfwscanf;" + "^::vfwscanf_s;" + "^::vprintf_s;" + "^::vscanf;" + "^::vscanf_s;" + "^::vsnprintf;" + "^::vsnprintf_s;" + "^::vsprintf;" + "^::vsprintf_s;" + "^::vsscanf;" + "^::vsscanf_s;" + "^::vswprintf;" + "^::vswprintf_s;" + "^::vswscanf;" + "^::vswscanf_s;" + "^::vwprintf_s;" + "^::vwscanf;" + "^::vwscanf_s;" + "^::wcrtomb;" + "^::wcschr;" + "^::wcsftime;" + "^::wcspbrk;" + "^::wcsrchr;" + "^::wcsrtombs;" + "^::wcsrtombs_s;" + "^::wcsstr;" + "^::wcstod;" + "^::wcstof;" + "^::wcstoimax;" + "^::wcstok;" + "^::wcstok_s;" + "^::wcstol;" + "^::wcstold;" + "^::wcstoll;" + "^::wcstombs;" + "^::wcstombs_s;" + "^::wcstoul;" + "^::wcstoull;" + "^::wcstoumax;" + "^::wcsxfrm;" + "^::wctob;" + "^::wctrans;" + "^::wctype;" + "^::wmemchr;" + "^::wprintf_s;" + "^::wscanf;" + "^::wscanf_s;"; } // namespace _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits