[PATCH] D71174: [clang-tidy] new check: bugprone-signed-char-misuse
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 10 10:55:33 PST 2019
aaron.ballman added inline comments.
================
Comment at: clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp:43-44
+
+ const auto SignedCharType = expr(hasType(qualType(
+ allOf(isAnyCharacter(), isSignedInteger(), unless(IntTypedef)))));
+
----------------
Does this properly handle architectures where `char` is signed rather than unsigned? Or does this only handle the case where the user wrote `signed char`?
================
Comment at: clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp:49
+ .bind("integerType");
+ ;
+
----------------
Spurious semicolon?
================
Comment at: clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp:56
+ .bind("castExpression");
+ ;
+
----------------
Spurious semicolon?
================
Comment at: clang-tools-extra/docs/clang-tidy/checks/bugprone-signed-char-misuse.rst:25
+See also:
+`STR34-C. Cast characters to unsigned char before converting to larger integer sizes
+<https://wiki.sei.cmu.edu/confluence/display/c/STR34-C.+Cast+characters+to+unsigned+char+before+converting+to+larger+integer+sizes>`_
----------------
Should this check also be registered in the CERT module?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71174/new/
https://reviews.llvm.org/D71174
More information about the cfe-commits
mailing list