Clang static analysis results for dmd
Walter Bright
newshound2 at digitalmars.com
Fri Jul 29 13:02:52 PDT 2011
Here's another one:
T* p;
...
if (A)
p = &t;
...
if (B)
... *p ...
B is true if and only if A is true. B can even be the same expression as A, such
as a->b->c. Clang complains on the *p that p is "uninitialized". Ok, so I
rewrite as:
T* p = NULL;
...
if (A)
p = &t;
...
if (B)
... *p ...
but now clang says I'm dereferencing a NULL pointer. At this point, I'm faced
with some significant trial-and-error refactoring to get rid of the message.
At what point does this cease to be fixing "bugs" and become "contort to fit
clang's quirks"?
More information about the Digitalmars-d
mailing list