Disallow null references in safe code?
Tove
Tove at fransson.se
Sun Feb 2 13:50:51 PST 2014
On Sunday, 2 February 2014 at 09:56:06 UTC, Marc Schütz wrote:
>
> auto x = *p;
> if(!p) {
> do_something(x);
> }
>
> In the first step, the if-block will be removed, because its
> condition is "known" to be false. After that, the value stored
> into x is unused, and the dereference can get removed too.
With a good static analyzer, such as coverity, this program would
be rejected anyway with "check_after_deref", if the compiler is
smart enough to do the optimization, it could be smart enough to
issue a warning as well!
More information about the Digitalmars-d
mailing list