diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2019-05-23 13:08:08 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2019-05-23 13:08:08 +0300 |
commit | bd19f38853dad5a89abada6ee5e7a23c65173894 (patch) | |
tree | 57b53cdceeb69db1bb51e8df48eb4f007c6ecb97 /src/pies.h | |
parent | 3ad426f88d274535d7e04e12add72534034ac075 (diff) | |
download | pies-bd19f38853dad5a89abada6ee5e7a23c65173894.tar.gz pies-bd19f38853dad5a89abada6ee5e7a23c65173894.tar.bz2 |
Revise dependency handling. Correctly display cyclic dependencies.
* src/comp.c (component_log_dep): Remove.
(report_cyclic_dependency): New function.
(comp_array_remove): New function.
(component_build_depmap): Remove erroneous components both from
the component table and dependency map.
(components_dump_depmap): Avoid trailing whitespace in the output.
* src/depmap.c (depmap_clear_all): Remove.
(depmap_remove): New function.
* src/pies.h (CF_REMOVE): New flag.
(depmap_clear_all): Remove prototype.
(depmap_remove): New prototype.
* tests/Makefile.am: Add new test.
* tests/atlocal.in (trimws): New function.
* tests/cyclic.at: New test.
* tests/testsuite.at: Include new test.
Diffstat (limited to 'src/pies.h')
-rw-r--r-- | src/pies.h | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -199,6 +199,8 @@ enum pies_comp_mode | |||
199 | 199 | ||
200 | #define CF_NULLINPUT 0x200 /* Provide null input stream */ | 200 | #define CF_NULLINPUT 0x200 /* Provide null input stream */ |
201 | 201 | ||
202 | #define CF_REMOVE 0x400 /* Marked for removal */ | ||
203 | |||
202 | #define ISCF_TCPMUX(f) ((f) & (CF_TCPMUX | CF_TCPMUXPLUS)) | 204 | #define ISCF_TCPMUX(f) ((f) & (CF_TCPMUX | CF_TCPMUXPLUS)) |
203 | 205 | ||
204 | struct prog; | 206 | struct prog; |
@@ -374,9 +376,7 @@ pies_depmap_t depmap_copy (pies_depmap_t dpm); | |||
374 | void depmap_set (pies_depmap_t dmap, size_t row, size_t col); | 376 | void depmap_set (pies_depmap_t dmap, size_t row, size_t col); |
375 | int depmap_isset (pies_depmap_t dmap, size_t row, size_t col); | 377 | int depmap_isset (pies_depmap_t dmap, size_t row, size_t col); |
376 | void depmap_clear (pies_depmap_t dmap, size_t row, size_t col); | 378 | void depmap_clear (pies_depmap_t dmap, size_t row, size_t col); |
377 | 379 | void depmap_remove (pies_depmap_t dmap, size_t n); | |
378 | void depmap_clear_all (pies_depmap_t dmap, enum pies_depmap_direction dir, | ||
379 | size_t coord); | ||
380 | 380 | ||
381 | void depmap_tc (pies_depmap_t dmap); | 381 | void depmap_tc (pies_depmap_t dmap); |
382 | size_t depmap_first (pies_depmap_t dmap, enum pies_depmap_direction dir, | 382 | size_t depmap_first (pies_depmap_t dmap, enum pies_depmap_direction dir, |