[PATCH 34/41] analyzer: new files: program-state.{cc|h}

Jeff Law law@redhat.com
Fri Jan 10 17:41:00 GMT 2020


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
> - Add support for global state:
>   - https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00217.html
> - Rework logging to avoid exploded_graph multiple-inheritance (moving
>   log_user base to a member)
> 
> This patch introduces classes for tracking the state at a particular
> path of analysis.
> 
> gcc/analyzer/ChangeLog:
> 	* program-state.cc: New file.
> 	* program-state.h: New file.
> 
> 
> 
> 
> 
> diff --git a/gcc/analyzer/program-state.h b/gcc/analyzer/program-state.h
> new file mode 100644
> index 000000000000..be83d32b8833
> --- /dev/null
> +++ b/gcc/analyzer/program-state.h
> @@ -0,0 +1,365 @@
> +/* Classes for representing the state of interest at a given path of analysis.
> +   Copyright (C) 2019-2020 Free Software Foundation, Inc.
> +   Contributed by David Malcolm <dmalcolm@redhat.com>.
> +
> +This file is part of GCC.
> +
> +GCC is free software; you can redistribute it and/or modify it
> +under the terms of the GNU General Public License as published by
> +the Free Software Foundation; either version 3, or (at your option)
> +any later version.
> +
> +GCC is distributed in the hope that it will be useful, but
> +WITHOUT ANY WARRANTY; without even the implied warranty of
> +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> +General Public License for more details.
> +
> +You should have received a copy of the GNU General Public License
> +along with GCC; see the file COPYING3.  If not see
> +<http://www.gnu.org/licenses/>;.  */
> +
> +#ifndef GCC_ANALYZER_PROGRAM_STATE_H
> +#define GCC_ANALYZER_PROGRAM_STATE_H
> +
> +#include "analyzer/sm.h"
> +#include "analyzer/region-model.h"
Not as bad as the previously reviewed patch.  But let's see if we can
get those out of here and into the appropriate source files.

OK with the #includes moved to the right places.

jeff



More information about the Gcc-patches mailing list