aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2019-02-10 14:21:03 +0200
committerSergey Poznyakoff <gray@gnu.org>2019-02-10 14:21:03 +0200
commitb4038ea16c1709367f5c84939919785686481b55 (patch)
tree118e2ebaf20bc82d04c4b7ec49dc0030aa1a1ac8 /src/main.c
parenta80f1c42bd5f63f79aa562cde5467aaf6ca54d89 (diff)
downloadcflow-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

Return to:

Send suggestions and report system problems to the System administrator.