https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98646
--- Comment #9 from Martin Sebor <msebor at gcc dot gnu.org> --- -Wnonnull still is in the front end (in addition to the middle end). This instance is issued by check_nonnull_arg in c-family/c-common.c, but other similar instances are issued from tree-ssa-ccp.c. Rather than twiddling the NO_WARNING bit I wonder if changing the C++ front end to emit an internal function for these casts and expanding it in the gimplifier would be a better solution. check_nonnull_arg would then have nothing to complain about.