[libcpp] Reimplement mkdeps data structures
authorNathan Sidwell <nathan@acm.org>
Tue, 7 May 2019 12:39:59 +0000 (12:39 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 7 May 2019 12:39:59 +0000 (12:39 +0000)
commitd7b6aee8cd346328b6f22fc415ffc28b9cf8a285
treed5215a9bd23a4458a51a91a6c508044421f4bb88
parent7664eeb700d9e95339f04a1c308a095b53d7a5fb
[libcpp] Reimplement mkdeps data structures

https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00293.html
* include/mkdeps.h (deps_write): Add PHONY arg.
(deps_phony_targets): Delete.
* init.c (cpp_finish): Just call deps_write.
* mkdeps.c (struct mkdeps): Add local vector class.  Reimplement
vector handling.
(munge): Munge to static buffer.
(apply_vpath): Adjust vector handling.
(deps_init, deps_free): Use new, delete.
(deps_add_target): Do not munge here.  Record quoting low water mark.
(deps_add_dep): Do not munge here.
(deps_add_vpath): Adjust vector handling.
(make_write_name): New.  Munge on demand here.
(make_write_vec): New.
(deps_phony_targets): Delete.
(make_write): New.
(deps_write): Forward to deps_Write.
(deps_save, deps_restore): Adjust vector handling.

From-SVN: r270943
libcpp/ChangeLog
libcpp/include/mkdeps.h
libcpp/init.c
libcpp/mkdeps.c