./devel/cflow, Code-path flow analyzer for C

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.7, Package name: cflow-1.7, Maintainer: pkgsrc-users

GNU cflow analyzes a collection of C source files and prints a graph,
charting control flow within the program.

GNU cflow is able to produce both direct and inverted flowgraphs for C
sources. Optionally a cross-reference listing can be generated. Two
output formats are implemented: POSIX and GNU (extended).

Input files can optionally be preprocessed before analyzing.


Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

Filesize: 1136.346 KB

Version history: (Expand)


CVS history: (Expand)


   2025-03-02 01:20:06 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/cflow) Updated 1.6 to 1.7

2021-12-30  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.7

	Fix the "no invariant" text in the documentation license

2021-12-23  Sergey Poznyakoff  <gray@gnu.org>

	Fix the info direntry for cflow mode

2021-11-05  Sergey Poznyakoff  <gray@gnu.org>

	Document the --target option.  New option --start: alias for
	--main.

	Fix recursive call detection
	* src/symbol.c (install): Initialize ord to -1.
	* src/output.c (tree_output): Skip callees with ord == -1.

2021-05-07  Sergey Poznyakoff  <gray@gnu.org>

	Fix incorrect assumptions about number of symbols in the symbol
	table.
	* src/symbol.c (collect_data): New member: count.
	(collect_processor,collect_list_entry): Reallocate the syn
	array as
	needed.
	(collect_symbols): Initialize sym to NULL and count to 0.

2021-04-05  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.6.92
	* NEWS: Update.
	* configure.ac: Version 1.6.92
	* po/POTFILES.in: Add missing file.
	* src/main.c (symbol_override): Detect cyclic definitions.

2021-04-04  Sergey Poznyakoff  <gray@gnu.org>

	Minor fixes.
	* configure.ac: Move wordsplit to src
	* src/Makefile.am: Likewise.
	* elisp/cflow-mode.el: Fix regular expressions. Character class \w
	does not include _, which is allowed in identifiers.

	cflow-mode: functions for moving to the next and previous calls
	at the same level
	* elisp/cflow-mode.el (cflow-next-function)
	(cflow-prev-function): New functions.

	Improve parsing of typecasts.
	* src/cflow.rc: Mark 'typeof' as wrapper.
	* src/parser.c (expression): Allow for wrappers and explicit
	structures in typecasts.
	(dcl): Don't skip token that follows the wrapper.
	* tests/struct.at: Test for unions in typecasts.

	Fix package name extraction in bootstrap

2021-04-02  Sergey Poznyakoff  <gray@gnu.org>

	Document the dot output format

2021-04-01  Sergey Poznyakoff  <gray@gnu.org>

	Fix node labels in dot format

	New output format: dot
	* src/dot.c: New file.
	* src/Makefile.am: Add new file.
	* src/cflow.h (dot_output_handler): New proto.
	* src/main.c: Register the "dot" output format.

	Minor changes

2021-04-01  Sergey Poznyakoff  <gray@gnu.org>

	Revise docstrings
	* src/main.c: Revise docstrings.  Customize help output.
	* doc/cflow.texi: Remove obsolete passage.
	* po/POTFILES.in: Update.

	* configure.ac: Version 1.6.91
	* NEWS: Update.

2021-04-01  Sergey Poznyakoff  <gray@gnu.org>

	cflow-mode: new command cflow-find-caller

2021-03-30  Sergey Poznyakoff  <gray@gnu.org>

	New option: --target
	The --target=F option instructs cflow to print only paths
	going from
	the starting symbol ("main") to the function F.  Multiple --target
	options are allowed.

	* src/cflow.h (symbol_target): New symbol flag.
	(symbol) <visible>: New field.
	(output_visible): New extern.
	(install_target,eliminate_non_targets): New protos.
	* src/main.c: New option "--target".
	(include_symbol): Don't include symbol if the value of its
	"visible" field doesn't equal that of output_visible.
	* src/output.c: Eliminate non-target paths before tree output.
	* src/parser.c: Cut off the tree at target symbols.
	(get_symbol): Treat symbol_target same as symbol_start.
	* src/symbol.c (target_symbol_list): New variable.
	(install_starter): Don't use append_symbol to avoid setting
	the "entry" symbol field.
	(install_target)
	(eliminate_non_targets): New functions.

2021-03-30  Sergey Poznyakoff  <gray@gnu.org>

	Fix improper use of strdup/strlen
	* src/c.l (pp_finalize): Append \0 to obstack prior to finalizing
	the object.

	Accept multiple start symbols
	* doc/cflow.texi: Document changes.
	* src/cflow.h (symbol_start): New flag.
	(install_starter,set_default_starter,clear_starters)
	(first_starter,next_starter): New protos.
	* src/main.c (no_main_option): New static;
	(start_name): Remove.
	(main): Change handling of the --main and --no-main options.
	* src/output.c (tree_output): Iterate over all defined starter
	symbols.
	* src/parser.c (get_symbol): Special handling for symbol_start.
	* src/symbol.c
	(install_starter,set_default_starter,clear_starters)
	(first_starter,next_starter): New functions.

	Update NEWS for intermediate release

	Change some option docstrings

2021-03-30  Sergey Poznyakoff  <gray@gnu.org>

	Reset static caller at the end of compilation unit.
	This fixes CVE-2019-16165, 66

	* src/cflow.h (reset_static_caller): New proto.
	* src/parser.c (reset_static_caller): New function.
	* src/symbol.c (delete_statics): Call reset_static_caller.

2021-03-30  Sergey Poznyakoff  <gray@gnu.org>

	Fix parsing of K&R style function declarations
	* src/parser.c (get_knr_args): Take into account qualifiers.

2021-03-25  Sergey Poznyakoff  <gray@gnu.org>

	Use texi2html to produce online version of the manual

2021-03-24  Sergey Poznyakoff  <gray@gnu.org>

	Improve online version of the manual.

2021-01-06  Sergey Poznyakoff  <gray@gnu.org>

	Update copyright years

2020-06-14  Sergey Poznyakoff  <gray@gnu.org>

	Use wordsplit v1.1

2019-07-10  Sergey Poznyakoff  <gray@gnu.org>

	Use wordsplit from submodule
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2020-01-19 00:36:14 by Roland Illig | Files touched by this commit (3046)
Log message:
all: migrate several HOMEPAGEs to https

pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
   2019-11-23 07:28:14 by Makoto Fujiwara | Files touched by this commit (3)
Log message:
(devel/cflow) Updated to 1.6

Version 1.6, 2019-02-23

* New option --all (-A)

Produce graphs for all global functions in the program.  Use this
option if your program contains functions which are not directly
reachable from main().

The output consist of separate flow graphs for each global function
defined in the program.  These graphs will be placed after the graph
for main() (if it exists), and will be ordered lexicographically by
the function name.

* New option --no-main

This option has the same effect as '--all', except that the graph for
main() function (if it exists) is treated same way as all the other
graphs, i.e. it will not be placed at the top of output, but in its
place as per the lexicographic ordering of function names.
   2016-06-18 13:30:35 by Makoto Fujiwara | Files touched by this commit (4)
Log message:
Updated devel/cflow to 1.5
--------------------------
Version 1.5, 2016-05-17

* Correctly handle functions returning struct/union (fixes bug #31792)
* Gracefully handle invalid inputs (fixes bug #44113)
* Debugging output goes to stderr
* Add a manpage
* Consistent use of exit codes
   2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995)
Log message:
Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2012-10-31 12:19:55 by Aleksej Saushev | Files touched by this commit (1460)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.