<div dir="ltr"><div class="gmail_quote">On Tue, Mar 17, 2015 at 1:52 PM Adam Romanek <<a href="mailto:romanek.adam@gmail.com">romanek.adam@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Could you be more specific about these limitations of the engine? Are<br>
they documented somewhere?</blockquote><div><br></div><div>Not that I'm aware of. The analyzer works well for a large set of code, and people like us for whom it doesn't work well enough yet don't use it.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Are there any plans or ongoing work on<br>
getting rid of them?<br></blockquote><div><br></div><div> It's an open source project, so help is always welcome :)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Best regards,<br>
Adam Romanek<br>
<br>
On 17.03.2015 12:11, Manuel Klimek wrote:<br>
> There are still a few core issues to resolve in the analyzer before<br>
> it'll get really useful for large C++ codebases (<- opinion :) and I<br>
> think that's why we're not seeing that many C++ related checks.<br>
><br>
> Specifically, temporary constructors/destructors still have work to do,<br>
> especially regarding passing temporaries as by-value function parameters.<br>
><br>
> On Mon, Mar 16, 2015 at 11:22 PM Adam Romanek <<a href="mailto:romanek.adam@gmail.com" target="_blank">romanek.adam@gmail.com</a><br>
> <mailto:<a href="mailto:romanek.adam@gmail.com" target="_blank">romanek.adam@gmail.com</a><u></u>>> wrote:<br>
><br>
>     Hi!<br>
><br>
>     I'm new to this list and to Clang development. Nevertheless I've<br>
>     been interested in Clang Static Analyzer for a while. I've been<br>
>     using it on a large code base with a lot of success. So let me start<br>
>     by saying: thanks for this amazing piece of code!<br>
><br>
>     But... Some time ago I realized there are hardly any strictly C++<br>
>     related checkers in CSA. I was wondering if there's any movement in<br>
>     this area. I was thinking about some checkers for use-after-free for<br>
>     STL containers like std::string, for example:<br>
><br>
>     const char* x = NULL;<br>
>     {<br>
>        std::string foo("foo");<br>
>        x = foo.c_str();<br>
>     }<br>
>     printf("%s", x); // boom<br>
><br>
>     There are also some other common types of errors in C++ like use of<br>
>     iterator after it has been invalidated. FYI this one in particular<br>
>     is detected by cppcheck.<br>
><br>
>     So I decided to dig a bit to find out whether it is hard to write a<br>
>     checker for use-after-free like in the example with std::string. It<br>
>     looks like MallocChecker deals with a similar class of issues.<br>
><br>
>     I was wondering whether it would be the right approach to try to<br>
>     "bend" MallocChecker to my needs (but it's already 2.5k lines of<br>
>     code) or to start something new on my own.<br>
><br>
>     Honestly it took me some time even to detect a simple std::string<br>
>     constructor call so the road looks rather long and bumpy...<br>
><br>
>     Any hints, pointers? Any related work?<br>
><br>
>     Thanks in advance.<br>
><br>
>     Best regards,<br>
>     Adam Romanek<br>
>     ______________________________<u></u>___________________<br>
>     cfe-dev mailing list<br>
>     <a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a> <mailto:<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a>><br>
>     <a href="http://lists.cs.uiuc.edu/__mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/__<u></u>mailman/listinfo/cfe-dev</a><br>
>     <<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a>><br>
><br>
<br>
______________________________<u></u>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>