On Wed, 2020-01-08 at 04:02 -0500, David Malcolm wrote:
> Needs review.
> 
> Changed in v5:
> - update ChangeLog path
> - updated copyright years to include 2020
> 
> Changed in v4:
> - Remove include of gcc-plugin.h, reworking includes accordingly.
> - Wrap everything in #if ENABLE_ANALYZER
> - Remove /// comment lines
> - Rework logging to avoid exploded_graph multiple-inheritance (moving
>   log_user base to a member)
> - Support resolving function pointers:
>    https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00178.html
> - Add support for global state:
>     https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00217.html
> - Rework on_leak vfunc:
>     https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html
> - Add more validation, part of:
>     https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02517.html
> - Fix .dot output:
>     https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02461.html
> - Generalize rewind_info_t to exploded_edge::custom_info_t
>     https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00219.html
> - Support showing rewind destination for leaks due to longjmp
>     https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02029.html
> - Use TV_ANALYZER_SCC, TV_ANALYZER_WORKLIST, and TV_ANALYZER_DUMP rather
>   than auto_client_timevar.  Drop top-level auto_client_timevar in
>   favor of tv within pass.
> - Port to new param API
> 
> This patch adds the core analysis code, which explores "interesting"
> interprocedual paths in the code, updating state machines to check
> for API misuses, and issuing diagnostics for such misuses.
> 
> gcc/analyzer/ChangeLog:
>       * engine.cc: New file.
>       * engine.h: New file.
I'm not going to have time to finish #22 or #37 -- hell, I'm not even
supposed to be working today :-)

I'd suggest committing now and we can iterate on any issues.  The code
is appropriately conditionalized, so it shouldn't affect anyone that
doesn't ask for it and it was submitted prior to stage1 close.

I would also suggest that we have a fairly loose policy for these bits
right now.  Again, they're conditionally compiled and it's effectively
"tech preview", so if we muck something up, the after-effects are
relatively small.

Jeff

Reply via email to