diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2019-02-10 14:21:03 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2019-02-10 14:21:03 +0200 |
commit | b4038ea16c1709367f5c84939919785686481b55 (patch) | |
tree | 118e2ebaf20bc82d04c4b7ec49dc0030aa1a1ac8 /src/main.c | |
parent | a80f1c42bd5f63f79aa562cde5467aaf6ca54d89 (diff) | |
download | cflow-b4038ea16c1709367f5c84939919785686481b55.tar.gz cflow-b4038ea16c1709367f5c84939919785686481b55.tar.bz2 |
Fix processing of typedef struct and struct declarations. Fix --xref mode.
Some constucts were processed incorrectly (see typedef.at for examples).
Unit-local types were not displayed in xref mode.
* src/cflow.h (symbol_temp): Rename to symbol_temp. All uses changed.
* src/output.c (tree_output): In all_functions mode: print all functions
without explicit caller.
* src/parser.c (save_token): Process curly braces.
(fake_struct): Don't restore stack upon encountering identifier or
modifier. See typedef.at for testcases.
(parse_variable_declaration): restore stack only if type_end is -1 (no
tag encountered). See struct06 in struct.at
(skip_struct): Minor change.
* src/parser.h: Redefine token types as enum.
* src/symbol.c (unit_local_list): New static.
(static_free): Preserve unit-local symbols in unit_local_list in xref
mode.
(collect_symbols): Consider symbols from unit_local_list.
* tests/Makefile.am: Add new testcases.
* tests/testsuite.at (CFLOW_TEST): New macro.
Include new testcases.
* tests/struct.at: New file.
* tests/typedef.at: New file.
* tests/struct01.at: Remove.
* tests/struct02.at: Remove.
* tests/struct03.at: Remove.
* tests/struct04.at: Remove.
* .gitignore: Update.
Diffstat (limited to 'src/main.c')
0 files changed, 0 insertions, 0 deletions