aaron.ballman added a subscriber: aaron.ballman.

================
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:2747
@@ +2746,3 @@
+    "comparison of nonnull %select{function call|parameter}0 '%1' "
+    "%select{not |}2equal to a null pointer is %select{true|false}2 on first "
+    "encounter">,
----------------
I know this is existing behavior, but can you quote true and false in this 
diagnostic, similar to the way true is quoted above?

================
Comment at: lib/Sema/SemaChecking.cpp:7674
@@ +7673,3 @@
+                                : diag::warn_cast_nonnull_to_bool;
+    Diag(E->getExprLoc(), DiagID) << int(IsParam) << S.str()
+      << E->getSourceRange() << Range << IsEqual;
----------------
No need to cast IsParam to int; the diagnostic builder already does the right 
thing here.

================
Comment at: lib/Sema/SemaChecking.cpp:7682
@@ +7681,3 @@
+      if (Callee->hasAttr<ReturnsNonNullAttr>())
+        return ComplainAboutNonnullParamOrCall(false);
+
----------------
I think this should be:
```
if (Callee->hasAttr<ReturnsNonNullAttr>() &&
    ComplainAboutNonnullParamOrCall(false))
  return;
```
Otherwise, we skip out on the rest of the checking in the presence of 
ReturnsNonNullAttr.

================
Comment at: lib/Sema/SemaChecking.cpp:7716
@@ -7711,1 +7715,3 @@
+              (AttrNonNull[i] || PV->hasAttr<NonNullAttr>()))
+            return ComplainAboutNonnullParamOrCall(true);
       }
----------------
Same here as above. The return should only be on failure.


http://reviews.llvm.org/D15324



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to