[clang-tools-extra] [clang-tidy] Rename and move 'cert-oop57-cpp' to 'bugprone-libc-memory-calls-on-nontrivial-types' (PR #162039)
Dasha Buka via cfe-commits
cfe-commits at lists.llvm.org
Sun Oct 19 22:23:06 PDT 2025
https://github.com/dvbuka updated https://github.com/llvm/llvm-project/pull/162039
>From 236cee683ac84ebd7ac6cd41f0d78020c312f68c Mon Sep 17 00:00:00 2001
From: Dasha Buka <dasha at dashbook.local>
Date: Sun, 5 Oct 2025 15:44:45 -0700
Subject: [PATCH 1/9] [clang-tidy] Add new alias
'libc-memory-calls-on-nontrivial-types' for 'cert-oop57-cpp'
---
.../clang-tidy/bugprone/CMakeLists.txt | 1 +
...LibcMemoryCallsOnNonTrivialTypesCheck.cpp} | 14 +++----
.../LibcMemoryCallsOnNonTrivialTypesCheck.h} | 16 ++++----
.../clang-tidy/cert/CERTTidyModule.cpp | 4 +-
.../clang-tidy/cert/CMakeLists.txt | 1 -
clang-tools-extra/docs/ReleaseNotes.rst | 5 +++
.../libc-memory-calls-on-nontrivial-types.rst | 40 +++++++++++++++++++
.../docs/clang-tidy/checks/cert/oop57-cpp.rst | 40 +++----------------
.../docs/clang-tidy/checks/list.rst | 5 ++-
...libc-memory-calls-on-nontrivial-types.cpp} | 8 ++--
10 files changed, 75 insertions(+), 59 deletions(-)
rename clang-tools-extra/clang-tidy/{cert/NonTrivialTypesLibcMemoryCallsCheck.cpp => bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.cpp} (92%)
rename clang-tools-extra/clang-tidy/{cert/NonTrivialTypesLibcMemoryCallsCheck.h => bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h} (66%)
create mode 100644 clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
rename clang-tools-extra/test/clang-tidy/checkers/{cert/oop57-cpp.cpp => bugprone/libc-memory-calls-on-nontrivial-types.cpp} (93%)
diff --git a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
index c8943e5b22ef8..f5b8c71da833a 100644
--- a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
@@ -43,6 +43,7 @@ add_clang_library(clangTidyBugproneModule STATIC
InfiniteLoopCheck.cpp
IntegerDivisionCheck.cpp
LambdaFunctionNameCheck.cpp
+ LibcMemoryCallsOnNonTrivialTypesCheck.cpp
MacroParenthesesCheck.cpp
MacroRepeatedSideEffectsCheck.cpp
MisleadingSetterOfReferenceCheck.cpp
diff --git a/clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.cpp
similarity index 92%
rename from clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.cpp
rename to clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.cpp
index e266cf995e8a7..5127611b191d9 100644
--- a/clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "NonTrivialTypesLibcMemoryCallsCheck.h"
+#include "LibcMemoryCallsOnNonTrivialTypesCheck.h"
#include "../utils/OptionsUtils.h"
#include "clang/AST/Decl.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
@@ -17,7 +17,7 @@
using namespace clang::ast_matchers;
-namespace clang::tidy::cert {
+namespace clang::tidy::bugprone {
namespace {
AST_MATCHER(CXXRecordDecl, isTriviallyDefaultConstructible) {
@@ -48,21 +48,21 @@ static constexpr llvm::StringRef ComparisonOperators[] = {
"operator==", "operator!=", "operator<",
"operator>", "operator<=", "operator>="};
-NonTrivialTypesLibcMemoryCallsCheck::NonTrivialTypesLibcMemoryCallsCheck(
+LibcMemoryCallsOnNonTrivialTypesCheck::LibcMemoryCallsOnNonTrivialTypesCheck(
StringRef Name, ClangTidyContext *Context)
: ClangTidyCheck(Name, Context),
MemSetNames(Options.get("MemSetNames", "")),
MemCpyNames(Options.get("MemCpyNames", "")),
MemCmpNames(Options.get("MemCmpNames", "")) {}
-void NonTrivialTypesLibcMemoryCallsCheck::storeOptions(
+void LibcMemoryCallsOnNonTrivialTypesCheck::storeOptions(
ClangTidyOptions::OptionMap &Opts) {
Options.store(Opts, "MemSetNames", MemSetNames);
Options.store(Opts, "MemCpyNames", MemCpyNames);
Options.store(Opts, "MemCmpNames", MemCmpNames);
}
-void NonTrivialTypesLibcMemoryCallsCheck::registerMatchers(
+void LibcMemoryCallsOnNonTrivialTypesCheck::registerMatchers(
MatchFinder *Finder) {
using namespace ast_matchers::internal;
auto IsStructPointer = [](Matcher<CXXRecordDecl> Constraint = anything(),
@@ -103,7 +103,7 @@ void NonTrivialTypesLibcMemoryCallsCheck::registerMatchers(
this);
}
-void NonTrivialTypesLibcMemoryCallsCheck::check(
+void LibcMemoryCallsOnNonTrivialTypesCheck::check(
const MatchFinder::MatchResult &Result) {
if (const auto *Caller = Result.Nodes.getNodeAs<CallExpr>("lazyConstruct")) {
diag(Caller->getBeginLoc(), "calling %0 on a non-trivially default "
@@ -122,4 +122,4 @@ void NonTrivialTypesLibcMemoryCallsCheck::check(
}
}
-} // namespace clang::tidy::cert
+} // namespace clang::tidy::bugprone
diff --git a/clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.h b/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
similarity index 66%
rename from clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.h
rename to clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
index 4589ce444c878..c71796eb80226 100644
--- a/clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.h
+++ b/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
@@ -6,21 +6,21 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CERT_NONTRIVIALTYPESLIBCMEMORYCALLSCHECK_H
-#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CERT_NONTRIVIALTYPESLIBCMEMORYCALLSCHECK_H
+#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_NONTRIVIALTYPESLIBCMEMORYCALLSCHECK_H
+#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_NONTRIVIALTYPESLIBCMEMORYCALLSCHECK_H
#include "../ClangTidyCheck.h"
-namespace clang::tidy::cert {
+namespace clang::tidy::bugprone {
/// Flags use of the `C` standard library functions 'memset', 'memcpy' and
/// 'memcmp' and similar derivatives on non-trivial types.
///
/// For the user-facing documentation see:
-/// https://clang.llvm.org/extra/clang-tidy/checks/cert/oop57-cpp.html
-class NonTrivialTypesLibcMemoryCallsCheck : public ClangTidyCheck {
+/// https://clang.llvm.org/extra/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.html
+class LibcMemoryCallsOnNonTrivialTypesCheck : public ClangTidyCheck {
public:
- NonTrivialTypesLibcMemoryCallsCheck(StringRef Name,
+ LibcMemoryCallsOnNonTrivialTypesCheck(StringRef Name,
ClangTidyContext *Context);
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
return LangOpts.CPlusPlus && !LangOpts.ObjC;
@@ -35,6 +35,6 @@ class NonTrivialTypesLibcMemoryCallsCheck : public ClangTidyCheck {
const StringRef MemCmpNames;
};
-} // namespace clang::tidy::cert
+} // namespace clang::tidy::bugprone
-#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CERT_NONTRIVIALTYPESLIBCMEMORYCALLSCHECK_H
+#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_NONTRIVIALTYPESLIBCMEMORYCALLSCHECK_H
diff --git a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
index c1ca2cec7a1eb..decc228e57611 100644
--- a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
+++ b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
@@ -11,6 +11,7 @@
#include "../ClangTidyModuleRegistry.h"
#include "../bugprone/BadSignalToKillThreadCheck.h"
#include "../bugprone/CommandProcessorCheck.h"
+#include "../bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h"
#include "../bugprone/PointerArithmeticOnPolymorphicObjectCheck.h"
#include "../bugprone/ReservedIdentifierCheck.h"
#include "../bugprone/SignalHandlerCheck.h"
@@ -39,7 +40,6 @@
#include "FloatLoopCounter.h"
#include "LimitedRandomnessCheck.h"
#include "MutatingCopyCheck.h"
-#include "NonTrivialTypesLibcMemoryCallsCheck.h"
#include "ProperlySeededRandomGeneratorCheck.h"
#include "ThrownExceptionTypeCheck.h"
@@ -278,7 +278,7 @@ class CERTModule : public ClangTidyModule {
"cert-oop11-cpp");
CheckFactories.registerCheck<bugprone::UnhandledSelfAssignmentCheck>(
"cert-oop54-cpp");
- CheckFactories.registerCheck<NonTrivialTypesLibcMemoryCallsCheck>(
+ CheckFactories.registerCheck<bugprone::LibcMemoryCallsOnNonTrivialTypesCheck>(
"cert-oop57-cpp");
CheckFactories.registerCheck<MutatingCopyCheck>("cert-oop58-cpp");
diff --git a/clang-tools-extra/clang-tidy/cert/CMakeLists.txt b/clang-tools-extra/clang-tidy/cert/CMakeLists.txt
index 453d1d30921e9..ce57faadcf749 100644
--- a/clang-tools-extra/clang-tidy/cert/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/cert/CMakeLists.txt
@@ -10,7 +10,6 @@ add_clang_library(clangTidyCERTModule STATIC
FloatLoopCounter.cpp
LimitedRandomnessCheck.cpp
MutatingCopyCheck.cpp
- NonTrivialTypesLibcMemoryCallsCheck.cpp
ProperlySeededRandomGeneratorCheck.cpp
ThrownExceptionTypeCheck.cpp
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index 7e836a7114d50..91f15bf152cb4 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -241,6 +241,11 @@ New check aliases
<clang-tidy/checks/bugprone/throwing-static-initialization>`
keeping initial check as an alias to the new one.
+- Renamed :doc:`cert-oop57-cpp <clang-tidy/checks/cert/oop57-cpp>` to
+ :doc:`bugprone-libc-memory-calls-on-nontrivial-types
+ <clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types>`
+ keeping initial check as an alias to the new one.
+
Changes in existing checks
^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst b/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
new file mode 100644
index 0000000000000..9be8f44bd9dd0
--- /dev/null
+++ b/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
@@ -0,0 +1,40 @@
+.. title:: clang-tidy - bugprone-libc-memory-calls-on-nontrivial-types
+
+bugprone-libc-memory-calls-on-nontrivial-types
+==============
+
+ Flags use of the `C` standard library functions ``memset``, ``memcpy`` and
+ ``memcmp`` and similar derivatives on non-trivial types.
+
+Options
+-------
+
+.. option:: MemSetNames
+
+ Specify extra functions to flag that act similarly to ``memset``.
+ Specify names in a semicolon delimited list.
+ Default is an empty string.
+ The check will detect the following functions:
+ `memset`, `std::memset`.
+
+.. option:: MemCpyNames
+
+ Specify extra functions to flag that act similarly to ``memcpy``.
+ Specify names in a semicolon delimited list.
+ Default is an empty string.
+ The check will detect the following functions:
+ `std::memcpy`, `memcpy`, `std::memmove`, `memmove`, `std::strcpy`,
+ `strcpy`, `memccpy`, `stpncpy`, `strncpy`.
+
+.. option:: MemCmpNames
+
+ Specify extra functions to flag that act similarly to ``memcmp``.
+ Specify names in a semicolon delimited list.
+ Default is an empty string.
+ The check will detect the following functions:
+ `std::memcmp`, `memcmp`, `std::strcmp`, `strcmp`, `strncmp`.
+
+This check corresponds to the CERT C++ Coding Standard rule
+`OOP57-CPP. Prefer special member functions and overloaded operators to C
+Standard Library functions
+<https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP57-CPP.+Prefer+special+member+functions+and+overloaded+operators+to+C+Standard+Library+functions>`_.
diff --git a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
index 4787abf1554ab..d504adfa8c2b4 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
@@ -1,40 +1,10 @@
.. title:: clang-tidy - cert-oop57-cpp
+.. meta::
+ :http-equiv=refresh: 5;URL=../bugprone/libc-memory-calls-on-nontrivial-types.html
cert-oop57-cpp
==============
- Flags use of the `C` standard library functions ``memset``, ``memcpy`` and
- ``memcmp`` and similar derivatives on non-trivial types.
-
-Options
--------
-
-.. option:: MemSetNames
-
- Specify extra functions to flag that act similarly to ``memset``.
- Specify names in a semicolon delimited list.
- Default is an empty string.
- The check will detect the following functions:
- `memset`, `std::memset`.
-
-.. option:: MemCpyNames
-
- Specify extra functions to flag that act similarly to ``memcpy``.
- Specify names in a semicolon delimited list.
- Default is an empty string.
- The check will detect the following functions:
- `std::memcpy`, `memcpy`, `std::memmove`, `memmove`, `std::strcpy`,
- `strcpy`, `memccpy`, `stpncpy`, `strncpy`.
-
-.. option:: MemCmpNames
-
- Specify extra functions to flag that act similarly to ``memcmp``.
- Specify names in a semicolon delimited list.
- Default is an empty string.
- The check will detect the following functions:
- `std::memcmp`, `memcmp`, `std::strcmp`, `strcmp`, `strncmp`.
-
-This check corresponds to the CERT C++ Coding Standard rule
-`OOP57-CPP. Prefer special member functions and overloaded operators to C
-Standard Library functions
-<https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP57-CPP.+Prefer+special+member+functions+and+overloaded+operators+to+C+Standard+Library+functions>`_.
+The cert-oop57-cpp check is an alias, please see
+`bugprone-libc-memory-calls-on-nontrivial-types <../bugprone/libc-memory-calls-on-nontrivial-types.html>`_
+for more information.
\ No newline at end of file
diff --git a/clang-tools-extra/docs/clang-tidy/checks/list.rst b/clang-tools-extra/docs/clang-tidy/checks/list.rst
index f94696d4ef9c7..07045dd244770 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/list.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/list.rst
@@ -125,6 +125,7 @@ Clang-Tidy Checks
:doc:`bugprone-non-zero-enum-to-bool-conversion <bugprone/non-zero-enum-to-bool-conversion>`,
:doc:`bugprone-nondeterministic-pointer-iteration-order <bugprone/nondeterministic-pointer-iteration-order>`,
:doc:`bugprone-not-null-terminated-result <bugprone/not-null-terminated-result>`, "Yes"
+ :doc:`bugprone-libc-memory-calls-on-nontrivial-types <bugprone/libc-memory-calls-on-nontrivial-types>`,
:doc:`bugprone-optional-value-conversion <bugprone/optional-value-conversion>`, "Yes"
:doc:`bugprone-parent-virtual-call <bugprone/parent-virtual-call>`, "Yes"
:doc:`bugprone-pointer-arithmetic-on-polymorphic-object <bugprone/pointer-arithmetic-on-polymorphic-object>`,
@@ -180,7 +181,6 @@ Clang-Tidy Checks
:doc:`cert-mem57-cpp <cert/mem57-cpp>`,
:doc:`cert-msc50-cpp <cert/msc50-cpp>`,
:doc:`cert-msc51-cpp <cert/msc51-cpp>`,
- :doc:`cert-oop57-cpp <cert/oop57-cpp>`,
:doc:`cert-oop58-cpp <cert/oop58-cpp>`,
:doc:`concurrency-mt-unsafe <concurrency/mt-unsafe>`,
:doc:`concurrency-thread-canceltype-asynchronous <concurrency/thread-canceltype-asynchronous>`,
@@ -440,8 +440,8 @@ Check aliases
:doc:`cert-dcl51-cpp <cert/dcl51-cpp>`, :doc:`bugprone-reserved-identifier <bugprone/reserved-identifier>`, "Yes"
:doc:`cert-dcl54-cpp <cert/dcl54-cpp>`, :doc:`misc-new-delete-overloads <misc/new-delete-overloads>`,
:doc:`cert-dcl59-cpp <cert/dcl59-cpp>`, :doc:`google-build-namespaces <google/build-namespaces>`,
- :doc:`cert-err09-cpp <cert/err09-cpp>`, :doc:`misc-throw-by-value-catch-by-reference <misc/throw-by-value-catch-by-reference>`,
:doc:`cert-env33-c <cert/env33-c>`, :doc:`bugprone-command-processor <bugprone/command-processor>`,
+ :doc:`cert-err09-cpp <cert/err09-cpp>`, :doc:`misc-throw-by-value-catch-by-reference <misc/throw-by-value-catch-by-reference>`,
:doc:`cert-err34-c <cert/err34-c>`, :doc:`bugprone-unchecked-string-to-number-conversion <bugprone/unchecked-string-to-number-conversion>`,
:doc:`cert-err52-cpp <cert/err52-cpp>`, :doc:`modernize-avoid-setjmp-longjmp <modernize/avoid-setjmp-longjmp>`,
:doc:`cert-err58-cpp <cert/err58-cpp>`, :doc:`bugprone-throwing-static-initialization <bugprone/throwing-static-initialization>`,
@@ -457,6 +457,7 @@ Check aliases
:doc:`cert-msc54-cpp <cert/msc54-cpp>`, :doc:`bugprone-signal-handler <bugprone/signal-handler>`,
:doc:`cert-oop11-cpp <cert/oop11-cpp>`, :doc:`performance-move-constructor-init <performance/move-constructor-init>`,
:doc:`cert-oop54-cpp <cert/oop54-cpp>`, :doc:`bugprone-unhandled-self-assignment <bugprone/unhandled-self-assignment>`,
+ :doc:`cert-oop57-cpp <cert/oop57-cpp>`, :doc:`bugprone-libc-memory-calls-on-nontrivial-types <bugprone/libc-memory-calls-on-nontrivial-types>`,
:doc:`cert-pos44-c <cert/pos44-c>`, :doc:`bugprone-bad-signal-to-kill-thread <bugprone/bad-signal-to-kill-thread>`,
:doc:`cert-pos47-c <cert/pos47-c>`, :doc:`concurrency-thread-canceltype-asynchronous <concurrency/thread-canceltype-asynchronous>`,
:doc:`cert-sig30-c <cert/sig30-c>`, :doc:`bugprone-signal-handler <bugprone/signal-handler>`,
diff --git a/clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/libc-memory-calls-on-nontrivial-types.cpp
similarity index 93%
rename from clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp
rename to clang-tools-extra/test/clang-tidy/checkers/bugprone/libc-memory-calls-on-nontrivial-types.cpp
index e34315fc98d25..8eac7e440a17e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/libc-memory-calls-on-nontrivial-types.cpp
@@ -1,8 +1,8 @@
-// RUN: %check_clang_tidy %s cert-oop57-cpp %t -- \
+// RUN: %check_clang_tidy %s libc-memory-calls-on-nontrivial-types %t -- \
// RUN: -config='{CheckOptions: \
-// RUN: {cert-oop57-cpp.MemSetNames: mymemset, \
-// RUN: cert-oop57-cpp.MemCpyNames: mymemcpy, \
-// RUN: cert-oop57-cpp.MemCmpNames: mymemcmp}}' \
+// RUN: {libc-memory-calls-on-nontrivial-types.MemSetNames: mymemset, \
+// RUN: libc-memory-calls-on-nontrivial-types.MemCpyNames: mymemcpy, \
+// RUN: libc-memory-calls-on-nontrivial-types.MemCmpNames: mymemcmp}}' \
// RUN: --
void mymemset(void *, unsigned char, decltype(sizeof(int)));
>From 292cafb6fa81c663554a871e3ef2ce3adffb956f Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Mon, 6 Oct 2025 11:49:07 -0700
Subject: [PATCH 2/9] Update
clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
---
.../checks/bugprone/libc-memory-calls-on-nontrivial-types.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst b/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
index 9be8f44bd9dd0..dd881a83dab53 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
@@ -15,7 +15,7 @@ Options
Specify names in a semicolon delimited list.
Default is an empty string.
The check will detect the following functions:
- `memset`, `std::memset`.
+ ``memset``, ``std::memset``.
.. option:: MemCpyNames
>From a928e61df64593cd01eeecd8dfb9390be6aaf1ce Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Mon, 6 Oct 2025 12:09:38 -0700
Subject: [PATCH 3/9] Format function names properly
---
.../bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h | 2 +-
.../bugprone/libc-memory-calls-on-nontrivial-types.rst | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h b/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
index c71796eb80226..f81a53a1aacc9 100644
--- a/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
+++ b/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
@@ -13,7 +13,7 @@
namespace clang::tidy::bugprone {
-/// Flags use of the `C` standard library functions 'memset', 'memcpy' and
+/// Flags use of the C standard library functions 'memset', 'memcpy' and
/// 'memcmp' and similar derivatives on non-trivial types.
///
/// For the user-facing documentation see:
diff --git a/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst b/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
index dd881a83dab53..2c8fd7bf0451f 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
@@ -1,9 +1,9 @@
.. title:: clang-tidy - bugprone-libc-memory-calls-on-nontrivial-types
bugprone-libc-memory-calls-on-nontrivial-types
-==============
+==============================================
- Flags use of the `C` standard library functions ``memset``, ``memcpy`` and
+ Flags use of the C standard library functions ``memset``, ``memcpy`` and
``memcmp`` and similar derivatives on non-trivial types.
Options
@@ -23,8 +23,8 @@ Options
Specify names in a semicolon delimited list.
Default is an empty string.
The check will detect the following functions:
- `std::memcpy`, `memcpy`, `std::memmove`, `memmove`, `std::strcpy`,
- `strcpy`, `memccpy`, `stpncpy`, `strncpy`.
+ `std::memcpy`, ``memcpy`, `std::memmove`, ``memmove``, ``std::strcpy``,
+ ``strcpy``, ``memccpy``, ``stpncpy``, ``strncpy``.
.. option:: MemCmpNames
@@ -32,7 +32,7 @@ Options
Specify names in a semicolon delimited list.
Default is an empty string.
The check will detect the following functions:
- `std::memcmp`, `memcmp`, `std::strcmp`, `strcmp`, `strncmp`.
+ ``std::memcmp``, ``memcmp``, ``std::strcmp``, ``strcmp``, ``strncmp``.
This check corresponds to the CERT C++ Coding Standard rule
`OOP57-CPP. Prefer special member functions and overloaded operators to C
>From d0ba4b3f990f51ba1b1d1af89f0b9c6506fa7db4 Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Sun, 19 Oct 2025 21:50:57 -0700
Subject: [PATCH 4/9] Update
clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
---
clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
index d504adfa8c2b4..d6f4fa34a2a95 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
@@ -5,6 +5,6 @@
cert-oop57-cpp
==============
-The cert-oop57-cpp check is an alias, please see
+The `cert-oop57-cpp` check is an alias, please see
`bugprone-libc-memory-calls-on-nontrivial-types <../bugprone/libc-memory-calls-on-nontrivial-types.html>`_
for more information.
\ No newline at end of file
>From 95fd6b56898f07a0578f788007b4fe29e42d8369 Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Sun, 19 Oct 2025 21:57:02 -0700
Subject: [PATCH 5/9] Update
clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
---
.../docs/clang-tidy/checks/cert/oop57-cpp.rst | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
index d6f4fa34a2a95..c0ddf854bb67b 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
@@ -7,4 +7,9 @@ cert-oop57-cpp
The `cert-oop57-cpp` check is an alias, please see
`bugprone-libc-memory-calls-on-nontrivial-types <../bugprone/libc-memory-calls-on-nontrivial-types.html>`_
-for more information.
\ No newline at end of file
+for more information.
+
+This check corresponds to the CERT C++ Coding Standard rule
+`OOP57-CPP. Prefer special member functions and overloaded operators to C
+Standard Library functions
+<https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP57-CPP.+Prefer+special+member+functions+and+overloaded+operators+to+C+Standard+Library+functions>`_.
\ No newline at end of file
>From f590f55e5876d2ceb899eccefd95e66996676a8a Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Sun, 19 Oct 2025 22:02:58 -0700
Subject: [PATCH 6/9] Add new line
---
clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
index c0ddf854bb67b..fadac08299ed7 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
@@ -12,4 +12,4 @@ for more information.
This check corresponds to the CERT C++ Coding Standard rule
`OOP57-CPP. Prefer special member functions and overloaded operators to C
Standard Library functions
-<https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP57-CPP.+Prefer+special+member+functions+and+overloaded+operators+to+C+Standard+Library+functions>`_.
\ No newline at end of file
+<https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP57-CPP.+Prefer+special+member+functions+and+overloaded+operators+to+C+Standard+Library+functions>`_.
>From 57a35837db417243a311c0abeaa286cddac2005b Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Sun, 19 Oct 2025 22:15:43 -0700
Subject: [PATCH 7/9] Rename to check to raw-memory-call-on-nontrivial-type
---
...alTypesCheck.cpp => RawMemoryCallOnNonTrivialType.cpp} | 0
...rivialTypesCheck.h => RawMemoryCallOnNonTrivialType.h} | 2 +-
clang-tools-extra/docs/ReleaseNotes.rst | 4 ++--
...l-types.rst => raw-memory-call-on-nontrivial-type.rst} | 4 ++--
.../docs/clang-tidy/checks/cert/oop57-cpp.rst | 4 ++--
clang-tools-extra/docs/clang-tidy/checks/list.rst | 4 ++--
...l-types.cpp => raw-memory-call-on-nontrivial-type.cpp} | 8 ++++----
7 files changed, 13 insertions(+), 13 deletions(-)
rename clang-tools-extra/clang-tidy/bugprone/{LibcMemoryCallsOnNonTrivialTypesCheck.cpp => RawMemoryCallOnNonTrivialType.cpp} (100%)
rename clang-tools-extra/clang-tidy/bugprone/{LibcMemoryCallsOnNonTrivialTypesCheck.h => RawMemoryCallOnNonTrivialType.h} (93%)
rename clang-tools-extra/docs/clang-tidy/checks/bugprone/{libc-memory-calls-on-nontrivial-types.rst => raw-memory-call-on-nontrivial-type.rst} (92%)
rename clang-tools-extra/test/clang-tidy/checkers/bugprone/{libc-memory-calls-on-nontrivial-types.cpp => raw-memory-call-on-nontrivial-type.cpp} (93%)
diff --git a/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.cpp
similarity index 100%
rename from clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.cpp
rename to clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.cpp
diff --git a/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.h
similarity index 93%
rename from clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
rename to clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.h
index f81a53a1aacc9..fb00e6392e232 100644
--- a/clang-tools-extra/clang-tidy/bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h
+++ b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.h
@@ -17,7 +17,7 @@ namespace clang::tidy::bugprone {
/// 'memcmp' and similar derivatives on non-trivial types.
///
/// For the user-facing documentation see:
-/// https://clang.llvm.org/extra/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.html
+/// https://clang.llvm.org/extra/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.html
class LibcMemoryCallsOnNonTrivialTypesCheck : public ClangTidyCheck {
public:
LibcMemoryCallsOnNonTrivialTypesCheck(StringRef Name,
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index 91f15bf152cb4..f981010828540 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -242,8 +242,8 @@ New check aliases
keeping initial check as an alias to the new one.
- Renamed :doc:`cert-oop57-cpp <clang-tidy/checks/cert/oop57-cpp>` to
- :doc:`bugprone-libc-memory-calls-on-nontrivial-types
- <clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types>`
+ :doc:`bugprone-raw-memory-call-on-nontrivial-type
+ <clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type>`
keeping initial check as an alias to the new one.
Changes in existing checks
diff --git a/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst b/clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.rst
similarity index 92%
rename from clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
rename to clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.rst
index 2c8fd7bf0451f..b68eabe74ce2e 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/bugprone/libc-memory-calls-on-nontrivial-types.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.rst
@@ -1,6 +1,6 @@
-.. title:: clang-tidy - bugprone-libc-memory-calls-on-nontrivial-types
+.. title:: clang-tidy - bugprone-raw-memory-call-on-nontrivial-type
-bugprone-libc-memory-calls-on-nontrivial-types
+bugprone-raw-memory-call-on-nontrivial-type
==============================================
Flags use of the C standard library functions ``memset``, ``memcpy`` and
diff --git a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
index fadac08299ed7..4426ee244ef9d 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
@@ -1,12 +1,12 @@
.. title:: clang-tidy - cert-oop57-cpp
.. meta::
- :http-equiv=refresh: 5;URL=../bugprone/libc-memory-calls-on-nontrivial-types.html
+ :http-equiv=refresh: 5;URL=../bugprone/raw-memory-call-on-nontrivial-type.html
cert-oop57-cpp
==============
The `cert-oop57-cpp` check is an alias, please see
-`bugprone-libc-memory-calls-on-nontrivial-types <../bugprone/libc-memory-calls-on-nontrivial-types.html>`_
+`bugprone-raw-memory-call-on-nontrivial-type <../bugprone/raw-memory-call-on-nontrivial-type.html>`_
for more information.
This check corresponds to the CERT C++ Coding Standard rule
diff --git a/clang-tools-extra/docs/clang-tidy/checks/list.rst b/clang-tools-extra/docs/clang-tidy/checks/list.rst
index 07045dd244770..ae410cb04821f 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/list.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/list.rst
@@ -125,7 +125,7 @@ Clang-Tidy Checks
:doc:`bugprone-non-zero-enum-to-bool-conversion <bugprone/non-zero-enum-to-bool-conversion>`,
:doc:`bugprone-nondeterministic-pointer-iteration-order <bugprone/nondeterministic-pointer-iteration-order>`,
:doc:`bugprone-not-null-terminated-result <bugprone/not-null-terminated-result>`, "Yes"
- :doc:`bugprone-libc-memory-calls-on-nontrivial-types <bugprone/libc-memory-calls-on-nontrivial-types>`,
+ :doc:`bugprone-raw-memory-call-on-nontrivial-type <bugprone/raw-memory-call-on-nontrivial-type>`,
:doc:`bugprone-optional-value-conversion <bugprone/optional-value-conversion>`, "Yes"
:doc:`bugprone-parent-virtual-call <bugprone/parent-virtual-call>`, "Yes"
:doc:`bugprone-pointer-arithmetic-on-polymorphic-object <bugprone/pointer-arithmetic-on-polymorphic-object>`,
@@ -457,7 +457,7 @@ Check aliases
:doc:`cert-msc54-cpp <cert/msc54-cpp>`, :doc:`bugprone-signal-handler <bugprone/signal-handler>`,
:doc:`cert-oop11-cpp <cert/oop11-cpp>`, :doc:`performance-move-constructor-init <performance/move-constructor-init>`,
:doc:`cert-oop54-cpp <cert/oop54-cpp>`, :doc:`bugprone-unhandled-self-assignment <bugprone/unhandled-self-assignment>`,
- :doc:`cert-oop57-cpp <cert/oop57-cpp>`, :doc:`bugprone-libc-memory-calls-on-nontrivial-types <bugprone/libc-memory-calls-on-nontrivial-types>`,
+ :doc:`cert-oop57-cpp <cert/oop57-cpp>`, :doc:`bugprone-raw-memory-call-on-nontrivial-type <bugprone/raw-memory-call-on-nontrivial-type>`,
:doc:`cert-pos44-c <cert/pos44-c>`, :doc:`bugprone-bad-signal-to-kill-thread <bugprone/bad-signal-to-kill-thread>`,
:doc:`cert-pos47-c <cert/pos47-c>`, :doc:`concurrency-thread-canceltype-asynchronous <concurrency/thread-canceltype-asynchronous>`,
:doc:`cert-sig30-c <cert/sig30-c>`, :doc:`bugprone-signal-handler <bugprone/signal-handler>`,
diff --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/libc-memory-calls-on-nontrivial-types.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/raw-memory-call-on-nontrivial-type.cpp
similarity index 93%
rename from clang-tools-extra/test/clang-tidy/checkers/bugprone/libc-memory-calls-on-nontrivial-types.cpp
rename to clang-tools-extra/test/clang-tidy/checkers/bugprone/raw-memory-call-on-nontrivial-type.cpp
index 8eac7e440a17e..266d4baccd2e8 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/libc-memory-calls-on-nontrivial-types.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/raw-memory-call-on-nontrivial-type.cpp
@@ -1,8 +1,8 @@
-// RUN: %check_clang_tidy %s libc-memory-calls-on-nontrivial-types %t -- \
+// RUN: %check_clang_tidy %s raw-memory-call-on-nontrivial-type %t -- \
// RUN: -config='{CheckOptions: \
-// RUN: {libc-memory-calls-on-nontrivial-types.MemSetNames: mymemset, \
-// RUN: libc-memory-calls-on-nontrivial-types.MemCpyNames: mymemcpy, \
-// RUN: libc-memory-calls-on-nontrivial-types.MemCmpNames: mymemcmp}}' \
+// RUN: {raw-memory-call-on-nontrivial-type.MemSetNames: mymemset, \
+// RUN: raw-memory-call-on-nontrivial-type.MemCpyNames: mymemcpy, \
+// RUN: raw-memory-call-on-nontrivial-type.MemCmpNames: mymemcmp}}' \
// RUN: --
void mymemset(void *, unsigned char, decltype(sizeof(int)));
>From 1e01e2c07f3d54263a4e103e02d7975c91db9e6d Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Sun, 19 Oct 2025 22:21:41 -0700
Subject: [PATCH 8/9] Rename more references to new check name
---
clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt | 2 +-
.../bugprone/RawMemoryCallOnNonTrivialType.cpp | 10 +++++-----
.../bugprone/RawMemoryCallOnNonTrivialType.h | 4 ++--
clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp | 4 ++--
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
index f5b8c71da833a..2130844eddd7a 100644
--- a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
+++ b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
@@ -43,7 +43,7 @@ add_clang_library(clangTidyBugproneModule STATIC
InfiniteLoopCheck.cpp
IntegerDivisionCheck.cpp
LambdaFunctionNameCheck.cpp
- LibcMemoryCallsOnNonTrivialTypesCheck.cpp
+ RawMemoryCallOnNontrivialTypeCheck.cpp
MacroParenthesesCheck.cpp
MacroRepeatedSideEffectsCheck.cpp
MisleadingSetterOfReferenceCheck.cpp
diff --git a/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.cpp b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.cpp
index 5127611b191d9..68e96cce9a6a7 100644
--- a/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "LibcMemoryCallsOnNonTrivialTypesCheck.h"
+#include "RawMemoryCallOnNontrivialTypeCheck.h"
#include "../utils/OptionsUtils.h"
#include "clang/AST/Decl.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
@@ -48,21 +48,21 @@ static constexpr llvm::StringRef ComparisonOperators[] = {
"operator==", "operator!=", "operator<",
"operator>", "operator<=", "operator>="};
-LibcMemoryCallsOnNonTrivialTypesCheck::LibcMemoryCallsOnNonTrivialTypesCheck(
+RawMemoryCallOnNontrivialTypeCheck::RawMemoryCallOnNontrivialTypeCheck(
StringRef Name, ClangTidyContext *Context)
: ClangTidyCheck(Name, Context),
MemSetNames(Options.get("MemSetNames", "")),
MemCpyNames(Options.get("MemCpyNames", "")),
MemCmpNames(Options.get("MemCmpNames", "")) {}
-void LibcMemoryCallsOnNonTrivialTypesCheck::storeOptions(
+void RawMemoryCallOnNontrivialTypeCheck::storeOptions(
ClangTidyOptions::OptionMap &Opts) {
Options.store(Opts, "MemSetNames", MemSetNames);
Options.store(Opts, "MemCpyNames", MemCpyNames);
Options.store(Opts, "MemCmpNames", MemCmpNames);
}
-void LibcMemoryCallsOnNonTrivialTypesCheck::registerMatchers(
+void RawMemoryCallOnNontrivialTypeCheck::registerMatchers(
MatchFinder *Finder) {
using namespace ast_matchers::internal;
auto IsStructPointer = [](Matcher<CXXRecordDecl> Constraint = anything(),
@@ -103,7 +103,7 @@ void LibcMemoryCallsOnNonTrivialTypesCheck::registerMatchers(
this);
}
-void LibcMemoryCallsOnNonTrivialTypesCheck::check(
+void RawMemoryCallOnNontrivialTypeCheck::check(
const MatchFinder::MatchResult &Result) {
if (const auto *Caller = Result.Nodes.getNodeAs<CallExpr>("lazyConstruct")) {
diag(Caller->getBeginLoc(), "calling %0 on a non-trivially default "
diff --git a/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.h b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.h
index fb00e6392e232..c4e4336515c21 100644
--- a/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.h
+++ b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialType.h
@@ -18,9 +18,9 @@ namespace clang::tidy::bugprone {
///
/// For the user-facing documentation see:
/// https://clang.llvm.org/extra/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.html
-class LibcMemoryCallsOnNonTrivialTypesCheck : public ClangTidyCheck {
+class RawMemoryCallOnNontrivialTypeCheck : public ClangTidyCheck {
public:
- LibcMemoryCallsOnNonTrivialTypesCheck(StringRef Name,
+ RawMemoryCallOnNontrivialTypeCheck(StringRef Name,
ClangTidyContext *Context);
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
return LangOpts.CPlusPlus && !LangOpts.ObjC;
diff --git a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
index decc228e57611..2d39a468d2801 100644
--- a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
+++ b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
@@ -11,7 +11,7 @@
#include "../ClangTidyModuleRegistry.h"
#include "../bugprone/BadSignalToKillThreadCheck.h"
#include "../bugprone/CommandProcessorCheck.h"
-#include "../bugprone/LibcMemoryCallsOnNonTrivialTypesCheck.h"
+#include "../bugprone/RawMemoryCallOnNontrivialTypeCheck.h"
#include "../bugprone/PointerArithmeticOnPolymorphicObjectCheck.h"
#include "../bugprone/ReservedIdentifierCheck.h"
#include "../bugprone/SignalHandlerCheck.h"
@@ -278,7 +278,7 @@ class CERTModule : public ClangTidyModule {
"cert-oop11-cpp");
CheckFactories.registerCheck<bugprone::UnhandledSelfAssignmentCheck>(
"cert-oop54-cpp");
- CheckFactories.registerCheck<bugprone::LibcMemoryCallsOnNonTrivialTypesCheck>(
+ CheckFactories.registerCheck<bugprone::RawMemoryCallOnNontrivialTypeCheck>(
"cert-oop57-cpp");
CheckFactories.registerCheck<MutatingCopyCheck>("cert-oop58-cpp");
>From ad1afc42ec42a0b5a978f79a2fc097f93b862b4a Mon Sep 17 00:00:00 2001
From: Dasha Buka <102774272+dvbuka at users.noreply.github.com>
Date: Sun, 19 Oct 2025 22:22:54 -0700
Subject: [PATCH 9/9] Update title formatting for raw-memory-call check
---
.../checks/bugprone/raw-memory-call-on-nontrivial-type.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.rst b/clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.rst
index b68eabe74ce2e..049ac61aba5e5 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-nontrivial-type.rst
@@ -1,7 +1,7 @@
.. title:: clang-tidy - bugprone-raw-memory-call-on-nontrivial-type
bugprone-raw-memory-call-on-nontrivial-type
-==============================================
+===========================================
Flags use of the C standard library functions ``memset``, ``memcpy`` and
``memcmp`` and similar derivatives on non-trivial types.
More information about the cfe-commits
mailing list