================
@@ -30,7 +30,7 @@ extern time_t mktime(struct tm *timeptr);
 
 void uninit_mbrlen(const char *mbs) {
   mbstate_t state;
-  mbrlen(mbs, 1, &state); // expected-warning{{3rd function call argument 
points to an uninitialized value}}
+  mbrlen(mbs, 1, &state); // expected-warning{{3rd function call argument 
points to an uninitialized value; Function 'mbrlen' expects memory pointed to 
by this argument to be initialized}}
----------------
NagyDonat wrote:

I would like to dodge this question :sweat_smile: 

In my opinion the whole uniqueing process is a deeply practical heuristic and 
it is meaningless to speak about it in on a theoretical level.

We need the uniqueing process, because the users would be annoyed if the 
analyzer would report dozens or hundreds of very similar bug reports -- but 
from a theoretical POV the analyzer cannot prove that "these two bug reports 
are actually the same bug". It is often _more likely_ that there is just one 
coding mistake in the common part, but noting rules out the case that the 
common part is good, but each report path contains a separate mistake before it.



https://github.com/llvm/llvm-project/pull/211038
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to