[PATCH] D47894: [clang]: Add support for "-fno-delete-null-pointer-checks"

James Y Knight via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 7 14:55:47 PDT 2018


jyknight added a comment.

In https://reviews.llvm.org/D47894#1125653, @efriedma wrote:

> The problem would come from propagating nonnull-ness from something which isn't inherently nonnull.  For example, strlen has a nonnull argument, so `strlen(NULL)` is UB, therefore given `int z = strlen(x); if (x) {...}`, we can remove the null check.  (Not sure we actually do this transform at the moment, but it's something we could do in the future.)


I think the question there is actually whether we need to, in addition to supporting null pointer dereference, also cause all __attribute__((nonnull)) annotations at the C/C++ level to be ignored.

And, yes, I believe we should.


Repository:
  rC Clang

https://reviews.llvm.org/D47894





More information about the cfe-commits mailing list