Yes, sorry, we discussed this on the cfe-users list: for the analyzer, we care 
more about reading the intent of the code from the assertions than from 
exploring the “continue anyway” case.

Anders, please do add a test. You can add it to test/Analysis/NoReturn.m with a 
forward-declaration of _wassert.

Jordan


On Nov 11, 2013, at 19:37 , Reid Kleckner <[email protected]> wrote:

> True, I forgot that. However, it's probably useful for the static analyzer to 
> consider it noreturn for analysis purposes.
> 
> 
> On Mon, Nov 11, 2013 at 7:32 PM, Alp Toker <[email protected]> wrote:
> _wassert can emit a warning and return control depending on the flag /
> dialog input, no?
> 
> Alp.
> 
> On 12/11/2013 00:55, Reid Kleckner wrote:
> > Seems reasonable, but can you add a test?
> >
> >
> > On Mon, Nov 11, 2013 at 12:18 PM, Anders Montonen
> > <[email protected] <mailto:[email protected]>> wrote:
> >
> >     Microsoft's library headers do not annotate _wassert as being a
> >     noreturn function, causing analyzer false positives. Fix by adding
> >     it to NoReturnFunctionChecker's list of known noreturn functions.
> >
> >     -a
> >
> >     diff --git
> >     a/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
> >     b/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
> >     index d7a880c..1367021 100644
> >     --- a/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
> >     +++ b/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
> >     @@ -64,6 +64,7 @@ void
> >     NoReturnFunctionChecker::checkPostCall(const CallEvent &CE,
> >                  .Case("assfail", true)
> >                  .Case("db_error", true)
> >                  .Case("__assert", true)
> >     +            .Case("_wassert", true)
> >                  .Case("__assert_rtn", true)
> >                  .Case("__assert_fail", true)
> >                  .Case("dtrace_assfail", true)
> >     _______________________________________________
> >     cfe-commits mailing list
> >     [email protected] <mailto:[email protected]>
> >     http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
> >
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > [email protected]
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> 
> --
> http://www.nuanti.com
> the browser experts
> 
> 
> _______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to