diff options
Diffstat (limited to 'clang-tools-extra/docs/clang-tidy/checks/cert-mem57-cpp.rst')
-rw-r--r-- | clang-tools-extra/docs/clang-tidy/checks/cert-mem57-cpp.rst | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang-tools-extra/docs/clang-tidy/checks/cert-mem57-cpp.rst b/clang-tools-extra/docs/clang-tidy/checks/cert-mem57-cpp.rst new file mode 100644 index 00000000000..5a5c343e50b --- /dev/null +++ b/clang-tools-extra/docs/clang-tidy/checks/cert-mem57-cpp.rst @@ -0,0 +1,16 @@ +.. title:: clang-tidy - cert-mem57-cpp + +cert-mem57-cpp +============== + +This check flags uses of default ``operator new`` where the type has extended +alignment (an alignment greater than the fundamental alignment). (The default +``operator new`` is guaranteed to provide the correct alignmment if the +requested alignment is less or equal to the fundamental alignment). +Only cases are detected (by design) where the ``operator new`` is not +user-defined and is not a placement new (the reason is that in these cases we +assume that the user provided the correct memory allocation). + +This check corresponds to the CERT C++ Coding Standard rule +`MEM57-CPP. Avoid using default operator new for over-aligned types +<https://wiki.sei.cmu.edu/confluence/display/cplusplus/MEM57-CPP.+Avoid+using+default+operator+new+for+over-aligned+types>`_. |