[PATCH] D17987: [clang-tidy] Extension of checker misc-misplaced-widening-cast

Balogh, Ádám via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 22 04:35:27 PDT 2016


baloghadamsoftware added inline comments.

================
Comment at: clang-tidy/misc/MisplacedWideningCastCheck.cpp:119
@@ -98,4 +118,3 @@
   if (Context.getIntWidth(CastType) == Context.getIntWidth(CalcType)) {
-    if (CalcType->isSpecificBuiltinType(BuiltinType::Int) ||
-        CalcType->isSpecificBuiltinType(BuiltinType::UInt)) {
-      // There should be a warning when casting from int to long or long long.
+    if (CalcType->isSpecificBuiltinType(BuiltinType::SChar) ||
+        CalcType->isSpecificBuiltinType(BuiltinType::UChar) ||
----------------
alexfh wrote:
> `isSpecificBuiltinType` is not the best tool here. Instead, we could get the builtin type kinds and work with them (`CalcType->getAs<BuiltinType>()->getKind()` and `CastType->getAs<BuiltinType>()->getKind()` after checking that both are `BuiltinTypes`).
I do not like it either, just reused the original code and copy-pasted it. I also think that getKind() should be used and instead of the long branches we could do the comparison using relative size table(s).


http://reviews.llvm.org/D17987





More information about the cfe-commits mailing list