Introduce test target.
Changes in version 1.4
* Symbol aliases
The `--symbol' option has been extended to allow for defining
symbol aliases. Aliases are useful for declaring reserved
words such as `__restrict' or `__inline'. For example,
the option `--symbol __restrict:=restrict' instructs cflow
to treat `__restrict' exactly as `restrict'.
* New syntactic class: qualifiers
Tokens in this class can legitimately appear in place
of C qualifiers, such as `static' or `inline'. This class
is useful for some compiler-depending keywords, such as
`__extension__' in gcc. The usual declaration of this symbol
is `--symbol __extension__:qualifier'.
* Speed up recursive call detection.
* Fix parsing of typedefs after `struct'.
* Fix the output of branch marks in tree mode.
* Fix processing of static inline functions (RH bug 650716).
Version 1.3, 2009-07-11
* Optimize symbol tables.
New symbol tables considerably improve the program performance.
* Bugfixes.
Version 1.2, 2007-06-29
* Licensed under the GPLv3
2006-07-09 Sergey Poznyakoff <gray@gnu.org.ua>
* THANKS: Add Louis Bertrand.
2006-06-12 Sergey Poznyakoff <gray@gnu.org.ua>
* src/output.c (set_level_mark): Fix allocation condition
(output): Remove erroneous initialization of level_mark.
2006-03-15 Sergey Poznyakoff <gray@gnu.org.ua>
Fix bug spotted by Jerry St.Clair: incorrect handling of
global/static and static/static name clashes.
* src/parser.c (declare): Do not report name clashes
if a static symbol overrides another static or global.
(add_reference): Do not refer to static symbols if
-i^s was used.
* src/symbol.c: Change organization of the symbol table: the
table entry contains struct table_entry, which contains a pointer
to the head of the symbol list associated with the entry. Thus,
deletions from the table can be handled in a more natural manner.
All functions changed to reflect the change.
(unlink_symbol): New function.
(delete_symbol): Rewritten using unlink_symbol
(delete_statics): always call static_processor
* THANKS: Add Jerry St.Clair.
* tests/Makefile.am: Add hiding.at, multi.at
* tests/testsuite.at: Likewise.
* tests/hiding.at: New testcase
* tests/multi.at: New testcase
* tests/fdecl.at, tests/funcarg.at, tests/include.at,
tests/nfarg.at, tests/nfparg.at, tests/parm.at,
tests/ssblock.at: Uniformly begin AT_SETUP text with a lowercase
letter.
2005-11-03 Sergey Poznyakoff <gray@gnu.org.ua>
* build-aux/bootstrap: If file `.bootstrap' exists in the cwd and is
readable, prepend its contents to the command line
* src/parser.c (dcl): Fix bug introduced 2005-03-22
* tests/nfarg.at: New test.
* tests/nfparg.at: New test.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Likewise
* configure.ac: Raise version number to 1.1
* NEWS: Likewise
* THANKS: Add Shigio YAMAGUCHI.
2005-10-19 Sergey Poznyakoff <gray@gnu.org.ua>
* README: Minor fixes.
* build-aux/gnulib.modules (snprintf): Add module
2005-10-15 Sergey Poznyakoff <gray@gnu.org.ua>
* THANKS: Add Nelson Beebe.
* tests/atlocal.in: Make sure unsetting POSIXLY_CORRECT does not
produce an error.
* tests/version.at: Fix displaying version warning
* po/pl.po,po/uk.po: Updated translations.
2005-10-05 Sergey Poznyakoff <gray@gnu.org.ua>
* src/cflow.h,src/main.c,src/parser.c,src/posix.c
(omit_symbol_name_option): Rename to omit_symbol_names_option.
* src/cflow.h (newline): New prototype
* src/parser.c: Minor fixes
* src/symbol.c: Minor fixes
* doc/cflow.texi: Updated. Mention cflow2vcg and vcg tools.
* src/cflow.h (enum symbol_flag): New type
(struct symbol): Replace `int temp' with `enum symbol_flag flag'
(delete_parms,move_parms): New functions
* src/main.c: Rename --omit-symbol-name to --omit-symbol-name for
consistency.
* src/parser.c: Fix handling of function formal parameters:
(parm_level): New variable
(struct symbol): Replace `int temp' with `enum symbol_flag flag'
(delete_parms,move_parms): New functions
* src/main.c: Rename --omit-symbol-name to --omit-symbol-name for
consistency.
* src/parser.c: Fix handling of function formal parameters:
(parm_level): New variable
(parse_declaration): Call delete_parms
(maybe_parm_list): Keep track of the parameter nesting level.
(func_body): Call move_parms
(declare): Special handling for parameters.
* src/symbol.c (install): Initialize sym->flag
(temp_processor): Use s->flag
(delete_parms,move_parms): New functions
* tests/parm.at: New testcase
* tests/Makefile.am: Add parm.at
* tests/testsuite.at: Likewise
2005-10-04 Sergey Poznyakoff <gray@gnu.org.ua>
* doc/cflow.texi: Fix posix output
* src/parser.c (parse_struct): Removed function
* src/cflow.h (omit_arguments_option,omit_symbol_name): New
options.
* src/main.c: Likewise.
* src/parser.c (save_stack): Rewritten. Save only stack positions,
do not create character string
(undo_save_stack,finish_save_stack): New functions
(finish_save): Removed
* src/posix.c (print_symbol_type): Updated to match new
finish_save_stack strategy.
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.