https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523
--- Comment #24 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to LIU Hao from comment #22) > Yes, GCC should be told to shut up about dereferencing artificial address > values. NO. Take: ``` static inline int f(int *a) { return a[10]; } int g() { return f(0); } ``` The warning is there for the above case really (and similar ones with struct offsets). Where you originally have a null pointer and have an offset from there; by the time the warning happens, the IR does not know if it was originally from an offset of a null pointer or if the value was written in. The paramater is there to "tune" the heurstic to figure out if it is null pointer deference or if it is some real (HW) address. Maybe -fno-delete-null-pointer-checks should imply --param=min-pagesize=0, though some folks want the warning indepdent of trying to delete null pointer checks.