git: cf1b93786f87 - stable/13 - Add 'contrib/unifdef/' from commit '0da44885831dc0a43c4ca6ff04a2430993cc0a80'
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Sep 2023 14:51:04 UTC
The branch stable/13 has been updated by des:
URL: https://cgit.FreeBSD.org/src/commit/?id=cf1b93786f876d500dadc1cf65bee663be3a4d35
commit cf1b93786f876d500dadc1cf65bee663be3a4d35
Author: Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2023-08-21 17:51:03 +0000
Commit: Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2023-09-07 08:59:35 +0000
Add 'contrib/unifdef/' from commit '0da44885831dc0a43c4ca6ff04a2430993cc0a80'
git-subtree-dir: contrib/unifdef
git-subtree-mainline: 3b7ffacdee49f90716cba2bcf8af3fc1971ae031
git-subtree-split: 0da44885831dc0a43c4ca6ff04a2430993cc0a80
(cherry picked from commit fb3ef04d2028110f06d68b09009f1f2ca0f4128e)
unifdef: Reapply our 61287be18189.
(cherry picked from commit 343b776fd0280f4dc95a1a61fd9ac40c78ce684e)
unifdef: Reapply our 7102ec5226e5.
(cherry picked from commit 049b7608f41bf4e93ac6de718c45bef261f6977d)
---
contrib/unifdef/.gitignore | 7 +
contrib/unifdef/.travis.yml | 59 +
contrib/unifdef/COPYING | 85 ++
contrib/unifdef/FreeBSD/err.c | 138 ++
contrib/unifdef/FreeBSD/getopt.c | 118 ++
contrib/unifdef/INSTALL | 36 +
contrib/unifdef/Makefile | 58 +
contrib/unifdef/README | 53 +
contrib/unifdef/ifdef-how.pl | 42 +
contrib/unifdef/scripts/authors.svn | 15 +
contrib/unifdef/scripts/copycheck.sh | 21 +
contrib/unifdef/scripts/fixtests.sh | 9 +
contrib/unifdef/scripts/git.config | 10 +
contrib/unifdef/scripts/gitlog2changelog.sh | 9 +
contrib/unifdef/scripts/release.sh | 18 +
contrib/unifdef/scripts/reversion.sh | 41 +
contrib/unifdef/scripts/runtests.sh | 38 +
contrib/unifdef/scripts/svnup.sh | 12 +
contrib/unifdef/scripts/upload.sh | 19 +
contrib/unifdef/tests/000-init.experr | 0
contrib/unifdef/tests/000-init.expout | 0
contrib/unifdef/tests/000-init.exprc | 1 +
contrib/unifdef/tests/000-init.sh | 1 +
contrib/unifdef/tests/NetBSD-42628.c | 25 +
contrib/unifdef/tests/NetBSD-42628.experr | 0
contrib/unifdef/tests/NetBSD-42628.expout | 6 +
contrib/unifdef/tests/NetBSD-42628.exprc | 1 +
contrib/unifdef/tests/NetBSD-42628.sh | 1 +
contrib/unifdef/tests/NetBSD-47068.c | 2 +
contrib/unifdef/tests/NetBSD-47068.experr | 0
contrib/unifdef/tests/NetBSD-47068.expout | 2 +
contrib/unifdef/tests/NetBSD-47068.exprc | 1 +
contrib/unifdef/tests/NetBSD-47068.sh | 1 +
contrib/unifdef/tests/args1.c | 3 +
contrib/unifdef/tests/args1.experr | 0
contrib/unifdef/tests/args1.expout | 1 +
contrib/unifdef/tests/args1.exprc | 1 +
contrib/unifdef/tests/args1.sh | 1 +
contrib/unifdef/tests/args2.c | 3 +
contrib/unifdef/tests/args2.experr | 0
contrib/unifdef/tests/args2.expout | 3 +
contrib/unifdef/tests/args2.exprc | 1 +
contrib/unifdef/tests/args2.sh | 1 +
contrib/unifdef/tests/blank0d.c | 25 +
contrib/unifdef/tests/blank0d.experr | 0
contrib/unifdef/tests/blank0d.expout | 23 +
contrib/unifdef/tests/blank0d.exprc | 1 +
contrib/unifdef/tests/blank0d.sh | 1 +
contrib/unifdef/tests/blank0u.c | 25 +
contrib/unifdef/tests/blank0u.experr | 0
contrib/unifdef/tests/blank0u.expout | 22 +
contrib/unifdef/tests/blank0u.exprc | 1 +
contrib/unifdef/tests/blank0u.sh | 1 +
contrib/unifdef/tests/blank1d.c | 25 +
contrib/unifdef/tests/blank1d.experr | 0
contrib/unifdef/tests/blank1d.expout | 23 +
contrib/unifdef/tests/blank1d.exprc | 1 +
contrib/unifdef/tests/blank1d.sh | 1 +
contrib/unifdef/tests/blank1u.c | 25 +
contrib/unifdef/tests/blank1u.experr | 0
contrib/unifdef/tests/blank1u.expout | 21 +
contrib/unifdef/tests/blank1u.exprc | 1 +
contrib/unifdef/tests/blank1u.sh | 1 +
contrib/unifdef/tests/blank2d.c | 25 +
contrib/unifdef/tests/blank2d.experr | 0
contrib/unifdef/tests/blank2d.expout | 23 +
contrib/unifdef/tests/blank2d.exprc | 1 +
contrib/unifdef/tests/blank2d.sh | 1 +
contrib/unifdef/tests/blank2u.c | 25 +
contrib/unifdef/tests/blank2u.experr | 0
contrib/unifdef/tests/blank2u.expout | 20 +
contrib/unifdef/tests/blank2u.exprc | 1 +
contrib/unifdef/tests/blank2u.sh | 1 +
contrib/unifdef/tests/blank3d.c | 25 +
contrib/unifdef/tests/blank3d.experr | 0
contrib/unifdef/tests/blank3d.expout | 23 +
contrib/unifdef/tests/blank3d.exprc | 1 +
contrib/unifdef/tests/blank3d.sh | 1 +
contrib/unifdef/tests/blank3u.c | 25 +
contrib/unifdef/tests/blank3u.experr | 0
contrib/unifdef/tests/blank3u.expout | 19 +
contrib/unifdef/tests/blank3u.exprc | 1 +
contrib/unifdef/tests/blank3u.sh | 1 +
contrib/unifdef/tests/blank4d.c | 25 +
contrib/unifdef/tests/blank4d.experr | 0
contrib/unifdef/tests/blank4d.expout | 23 +
contrib/unifdef/tests/blank4d.exprc | 1 +
contrib/unifdef/tests/blank4d.sh | 1 +
contrib/unifdef/tests/blank4u.c | 25 +
contrib/unifdef/tests/blank4u.experr | 0
contrib/unifdef/tests/blank4u.expout | 18 +
contrib/unifdef/tests/blank4u.exprc | 1 +
contrib/unifdef/tests/blank4u.sh | 1 +
contrib/unifdef/tests/broken2.h | 1 +
contrib/unifdef/tests/broken3.h | 1 +
contrib/unifdef/tests/broken4.h | 2 +
contrib/unifdef/tests/crlf-a.experr | 0
contrib/unifdef/tests/crlf-a.expout | 10 +
contrib/unifdef/tests/crlf-a.exprc | 1 +
contrib/unifdef/tests/crlf-a.sh | 1 +
contrib/unifdef/tests/crlf-b.experr | 0
contrib/unifdef/tests/crlf-b.expout | 14 +
contrib/unifdef/tests/crlf-b.exprc | 1 +
contrib/unifdef/tests/crlf-b.sh | 1 +
contrib/unifdef/tests/crlf-c.experr | 0
contrib/unifdef/tests/crlf-c.expout | 16 +
contrib/unifdef/tests/crlf-c.exprc | 1 +
contrib/unifdef/tests/crlf-c.sh | 1 +
contrib/unifdef/tests/crlf-d.experr | 0
contrib/unifdef/tests/crlf-d.expout | 18 +
contrib/unifdef/tests/crlf-d.exprc | 1 +
contrib/unifdef/tests/crlf-d.sh | 1 +
contrib/unifdef/tests/crlf.c | 20 +
contrib/unifdef/tests/dangle.c | 6 +
contrib/unifdef/tests/dangle.experr | 0
contrib/unifdef/tests/dangle.expout | 6 +
contrib/unifdef/tests/dangle.exprc | 1 +
contrib/unifdef/tests/dangle.sh | 1 +
contrib/unifdef/tests/debian-603860.c | 8 +
contrib/unifdef/tests/debian-603860.experr | 0
contrib/unifdef/tests/debian-603860.expout | 2 +
contrib/unifdef/tests/debian-603860.exprc | 1 +
contrib/unifdef/tests/debian-603860.sh | 1 +
contrib/unifdef/tests/defundef-broken2.experr | 2 +
contrib/unifdef/tests/defundef-broken2.expout | 0
contrib/unifdef/tests/defundef-broken2.exprc | 1 +
contrib/unifdef/tests/defundef-broken2.sh | 1 +
contrib/unifdef/tests/defundef-broken3.experr | 2 +
contrib/unifdef/tests/defundef-broken3.expout | 0
contrib/unifdef/tests/defundef-broken3.exprc | 1 +
contrib/unifdef/tests/defundef-broken3.sh | 1 +
contrib/unifdef/tests/defundef-broken4.experr | 2 +
contrib/unifdef/tests/defundef-broken4.expout | 0
contrib/unifdef/tests/defundef-broken4.exprc | 1 +
contrib/unifdef/tests/defundef-broken4.sh | 1 +
contrib/unifdef/tests/defundef-funlike.experr | 0
contrib/unifdef/tests/defundef-funlike.expout | 13 +
contrib/unifdef/tests/defundef-funlike.exprc | 1 +
contrib/unifdef/tests/defundef-funlike.sh | 1 +
contrib/unifdef/tests/defundef-undefdef.experr | 0
contrib/unifdef/tests/defundef-undefdef.expout | 1 +
contrib/unifdef/tests/defundef-undefdef.exprc | 1 +
contrib/unifdef/tests/defundef-undefdef.sh | 1 +
contrib/unifdef/tests/div.c | 3 +
contrib/unifdef/tests/div.experr | 0
contrib/unifdef/tests/div.expout | 10 +
contrib/unifdef/tests/div.exprc | 1 +
contrib/unifdef/tests/div.sh | 10 +
contrib/unifdef/tests/empty.c | 0
contrib/unifdef/tests/empty.experr | 0
contrib/unifdef/tests/empty.expout | 0
contrib/unifdef/tests/empty.exprc | 1 +
contrib/unifdef/tests/empty.sh | 1 +
contrib/unifdef/tests/error.c | 4 +
contrib/unifdef/tests/error.experr | 0
contrib/unifdef/tests/error.expout | 2 +
contrib/unifdef/tests/error.exprc | 1 +
contrib/unifdef/tests/error.sh | 1 +
contrib/unifdef/tests/exitmode0a.experr | 0
contrib/unifdef/tests/exitmode0a.expout | 16 +
contrib/unifdef/tests/exitmode0a.exprc | 1 +
contrib/unifdef/tests/exitmode0a.sh | 1 +
contrib/unifdef/tests/exitmode0b.experr | 0
contrib/unifdef/tests/exitmode0b.expout | 26 +
contrib/unifdef/tests/exitmode0b.exprc | 1 +
contrib/unifdef/tests/exitmode0b.sh | 1 +
contrib/unifdef/tests/exitmode1a.experr | 0
contrib/unifdef/tests/exitmode1a.expout | 16 +
contrib/unifdef/tests/exitmode1a.exprc | 1 +
contrib/unifdef/tests/exitmode1a.sh | 1 +
contrib/unifdef/tests/exitmode1b.experr | 0
contrib/unifdef/tests/exitmode1b.expout | 26 +
contrib/unifdef/tests/exitmode1b.exprc | 1 +
contrib/unifdef/tests/exitmode1b.sh | 1 +
contrib/unifdef/tests/exitmode2a.experr | 0
contrib/unifdef/tests/exitmode2a.expout | 16 +
contrib/unifdef/tests/exitmode2a.exprc | 1 +
contrib/unifdef/tests/exitmode2a.sh | 1 +
contrib/unifdef/tests/exitmode2b.experr | 0
contrib/unifdef/tests/exitmode2b.expout | 26 +
contrib/unifdef/tests/exitmode2b.exprc | 1 +
contrib/unifdef/tests/exitmode2b.sh | 1 +
contrib/unifdef/tests/exitstat.c | 3 +
contrib/unifdef/tests/exitstat.experr | 0
contrib/unifdef/tests/exitstat.expout | 3 +
contrib/unifdef/tests/exitstat.exprc | 1 +
contrib/unifdef/tests/exitstat.sh | 1 +
contrib/unifdef/tests/funlike.h | 1 +
contrib/unifdef/tests/if1-a.experr | 0
contrib/unifdef/tests/if1-a.expout | 16 +
contrib/unifdef/tests/if1-a.exprc | 1 +
contrib/unifdef/tests/if1-a.sh | 1 +
contrib/unifdef/tests/if1-f.experr | 0
contrib/unifdef/tests/if1-f.expout | 16 +
contrib/unifdef/tests/if1-f.exprc | 1 +
contrib/unifdef/tests/if1-f.sh | 1 +
contrib/unifdef/tests/if1-k.c | 38 +
contrib/unifdef/tests/if1-k.experr | 0
contrib/unifdef/tests/if1-k.expout | 30 +
contrib/unifdef/tests/if1-k.exprc | 1 +
contrib/unifdef/tests/if1-k.sh | 1 +
contrib/unifdef/tests/if1-kDU.c | 38 +
contrib/unifdef/tests/if1-kDU.experr | 0
contrib/unifdef/tests/if1-kDU.expout | 20 +
contrib/unifdef/tests/if1-kDU.exprc | 1 +
contrib/unifdef/tests/if1-kDU.sh | 1 +
contrib/unifdef/tests/if1.c | 26 +
contrib/unifdef/tests/if1.experr | 0
contrib/unifdef/tests/if1.expout | 16 +
contrib/unifdef/tests/if1.exprc | 1 +
contrib/unifdef/tests/if1.h | 3 +
contrib/unifdef/tests/if1.sh | 1 +
contrib/unifdef/tests/if1a.experr | 0
contrib/unifdef/tests/if1a.expout | 24 +
contrib/unifdef/tests/if1a.exprc | 1 +
contrib/unifdef/tests/if1a.sh | 1 +
contrib/unifdef/tests/if2-a.experr | 0
contrib/unifdef/tests/if2-a.expout | 13 +
contrib/unifdef/tests/if2-a.exprc | 1 +
contrib/unifdef/tests/if2-a.sh | 1 +
contrib/unifdef/tests/if2-k.c | 29 +
contrib/unifdef/tests/if2-k.experr | 0
contrib/unifdef/tests/if2-k.expout | 21 +
contrib/unifdef/tests/if2-k.exprc | 1 +
contrib/unifdef/tests/if2-k.sh | 1 +
contrib/unifdef/tests/if2-kDU.c | 29 +
contrib/unifdef/tests/if2-kDU.experr | 0
contrib/unifdef/tests/if2-kDU.expout | 17 +
contrib/unifdef/tests/if2-kDU.exprc | 1 +
contrib/unifdef/tests/if2-kDU.sh | 1 +
contrib/unifdef/tests/if2.c | 17 +
contrib/unifdef/tests/if2.experr | 0
contrib/unifdef/tests/if2.expout | 13 +
contrib/unifdef/tests/if2.exprc | 1 +
contrib/unifdef/tests/if2.sh | 1 +
contrib/unifdef/tests/if3-a.experr | 0
contrib/unifdef/tests/if3-a.expout | 13 +
contrib/unifdef/tests/if3-a.exprc | 1 +
contrib/unifdef/tests/if3-a.sh | 1 +
contrib/unifdef/tests/if3-k.c | 29 +
contrib/unifdef/tests/if3-k.experr | 0
contrib/unifdef/tests/if3-k.expout | 21 +
contrib/unifdef/tests/if3-k.exprc | 1 +
contrib/unifdef/tests/if3-k.sh | 1 +
contrib/unifdef/tests/if3-kDU.c | 29 +
contrib/unifdef/tests/if3-kDU.experr | 0
contrib/unifdef/tests/if3-kDU.expout | 17 +
contrib/unifdef/tests/if3-kDU.exprc | 1 +
contrib/unifdef/tests/if3-kDU.sh | 1 +
contrib/unifdef/tests/if3.c | 17 +
contrib/unifdef/tests/if3.experr | 0
contrib/unifdef/tests/if3.expout | 13 +
contrib/unifdef/tests/if3.exprc | 1 +
contrib/unifdef/tests/if3.sh | 1 +
contrib/unifdef/tests/if4-a.experr | 0
contrib/unifdef/tests/if4-a.expout | 22 +
contrib/unifdef/tests/if4-a.exprc | 1 +
contrib/unifdef/tests/if4-a.sh | 1 +
contrib/unifdef/tests/if4-k.c | 50 +
contrib/unifdef/tests/if4-k.experr | 0
contrib/unifdef/tests/if4-k.expout | 42 +
contrib/unifdef/tests/if4-k.exprc | 1 +
contrib/unifdef/tests/if4-k.sh | 1 +
contrib/unifdef/tests/if4-kDU.c | 50 +
contrib/unifdef/tests/if4-kDU.experr | 0
contrib/unifdef/tests/if4-kDU.expout | 26 +
contrib/unifdef/tests/if4-kDU.exprc | 1 +
contrib/unifdef/tests/if4-kDU.sh | 1 +
contrib/unifdef/tests/if4.c | 38 +
contrib/unifdef/tests/if4.experr | 0
contrib/unifdef/tests/if4.expout | 22 +
contrib/unifdef/tests/if4.exprc | 1 +
contrib/unifdef/tests/if4.sh | 1 +
contrib/unifdef/tests/if5-a.experr | 0
contrib/unifdef/tests/if5-a.expout | 40 +
contrib/unifdef/tests/if5-a.exprc | 1 +
contrib/unifdef/tests/if5-a.sh | 1 +
contrib/unifdef/tests/if5-k.c | 64 +
contrib/unifdef/tests/if5-k.experr | 0
contrib/unifdef/tests/if5-k.expout | 56 +
contrib/unifdef/tests/if5-k.exprc | 1 +
contrib/unifdef/tests/if5-k.sh | 1 +
contrib/unifdef/tests/if5-kDU.c | 64 +
contrib/unifdef/tests/if5-kDU.experr | 0
contrib/unifdef/tests/if5-kDU.expout | 32 +
contrib/unifdef/tests/if5-kDU.exprc | 1 +
contrib/unifdef/tests/if5-kDU.sh | 1 +
contrib/unifdef/tests/if5.c | 80 ++
contrib/unifdef/tests/if5.experr | 0
contrib/unifdef/tests/if5.expout | 40 +
contrib/unifdef/tests/if5.exprc | 1 +
contrib/unifdef/tests/if5.sh | 1 +
contrib/unifdef/tests/if6.c | 11 +
contrib/unifdef/tests/if6.h | 2 +
contrib/unifdef/tests/if6a.experr | 0
contrib/unifdef/tests/if6a.expout | 1 +
contrib/unifdef/tests/if6a.exprc | 1 +
contrib/unifdef/tests/if6a.sh | 1 +
contrib/unifdef/tests/if6b.experr | 0
contrib/unifdef/tests/if6b.expout | 5 +
contrib/unifdef/tests/if6b.exprc | 1 +
contrib/unifdef/tests/if6b.sh | 1 +
contrib/unifdef/tests/if6c.experr | 0
contrib/unifdef/tests/if6c.expout | 7 +
contrib/unifdef/tests/if6c.exprc | 1 +
contrib/unifdef/tests/if6c.sh | 1 +
contrib/unifdef/tests/if6d.experr | 0
contrib/unifdef/tests/if6d.expout | 9 +
contrib/unifdef/tests/if6d.exprc | 1 +
contrib/unifdef/tests/if6d.sh | 1 +
contrib/unifdef/tests/if7.c | 94 ++
contrib/unifdef/tests/if7.experr | 0
contrib/unifdef/tests/if7.expout | 46 +
contrib/unifdef/tests/if7.exprc | 1 +
contrib/unifdef/tests/if7.sh | 1 +
contrib/unifdef/tests/indirect.experr | 0
contrib/unifdef/tests/indirect.expout | 16 +
contrib/unifdef/tests/indirect.exprc | 1 +
contrib/unifdef/tests/indirect.sh | 1 +
contrib/unifdef/tests/multi-generic-sh | 15 +
contrib/unifdef/tests/multi.experr | 0
contrib/unifdef/tests/multi.expout | 36 +
contrib/unifdef/tests/multi.exprc | 1 +
contrib/unifdef/tests/multi.sh | 3 +
contrib/unifdef/tests/multilnnum.experr | 0
contrib/unifdef/tests/multilnnum.expout | 42 +
contrib/unifdef/tests/multilnnum.exprc | 1 +
contrib/unifdef/tests/multilnnum.sh | 3 +
contrib/unifdef/tests/multimissing.experr | 4 +
contrib/unifdef/tests/multimissing.expout | 22 +
contrib/unifdef/tests/multimissing.exprc | 1 +
contrib/unifdef/tests/multimissing.sh | 3 +
contrib/unifdef/tests/multinewline.experr | 0
contrib/unifdef/tests/multinewline.expout | 39 +
contrib/unifdef/tests/multinewline.exprc | 1 +
contrib/unifdef/tests/multinewline.sh | 3 +
contrib/unifdef/tests/none.c | 5 +
contrib/unifdef/tests/none.experr | 0
contrib/unifdef/tests/none.expout | 5 +
contrib/unifdef/tests/none.exprc | 1 +
contrib/unifdef/tests/none.sh | 1 +
contrib/unifdef/tests/outdir.experr | 0
contrib/unifdef/tests/outdir.expout | 16 +
contrib/unifdef/tests/outdir.exprc | 1 +
contrib/unifdef/tests/outdir.sh | 6 +
contrib/unifdef/tests/outeperm.experr | 1 +
contrib/unifdef/tests/outeperm.expout | 0
contrib/unifdef/tests/outeperm.exprc | 1 +
contrib/unifdef/tests/outeperm.sh | 6 +
contrib/unifdef/tests/outfile.experr | 0
contrib/unifdef/tests/outfile.expout | 16 +
contrib/unifdef/tests/outfile.exprc | 1 +
contrib/unifdef/tests/outfile.sh | 5 +
contrib/unifdef/tests/outperms.experr | 1 +
contrib/unifdef/tests/outperms.expout | 16 +
contrib/unifdef/tests/outperms.exprc | 1 +
contrib/unifdef/tests/outperms.sh | 10 +
contrib/unifdef/tests/overdir.experr | 0
contrib/unifdef/tests/overdir.expout | 16 +
contrib/unifdef/tests/overdir.exprc | 1 +
contrib/unifdef/tests/overdir.sh | 7 +
contrib/unifdef/tests/overenoent.experr | 1 +
contrib/unifdef/tests/overenoent.expout | 0
contrib/unifdef/tests/overenoent.exprc | 1 +
contrib/unifdef/tests/overenoent.sh | 5 +
contrib/unifdef/tests/overin.experr | 0
contrib/unifdef/tests/overin.expout | 16 +
contrib/unifdef/tests/overin.exprc | 1 +
contrib/unifdef/tests/overin.sh | 6 +
contrib/unifdef/tests/overlnnum.experr | 0
contrib/unifdef/tests/overlnnum.expout | 20 +
contrib/unifdef/tests/overlnnum.exprc | 1 +
contrib/unifdef/tests/overlnnum.sh | 6 +
contrib/unifdef/tests/overperms.experr | 2 +
contrib/unifdef/tests/overperms.expout | 16 +
contrib/unifdef/tests/overperms.exprc | 1 +
contrib/unifdef/tests/overperms.sh | 12 +
contrib/unifdef/tests/overunchanged.experr | 0
contrib/unifdef/tests/overunchanged.expout | 0
contrib/unifdef/tests/overunchanged.exprc | 1 +
contrib/unifdef/tests/overunchanged.sh | 8 +
contrib/unifdef/tests/overwrite.experr | 0
contrib/unifdef/tests/overwrite.expout | 16 +
contrib/unifdef/tests/overwrite.exprc | 1 +
contrib/unifdef/tests/overwrite.sh | 6 +
contrib/unifdef/tests/recursive.experr | 120 ++
contrib/unifdef/tests/recursive.expout | 26 +
contrib/unifdef/tests/recursive.exprc | 1 +
contrib/unifdef/tests/recursive.sh | 1 +
contrib/unifdef/tests/small1.c | 17 +
contrib/unifdef/tests/small1.experr | 0
contrib/unifdef/tests/small1.expout | 13 +
contrib/unifdef/tests/small1.exprc | 1 +
contrib/unifdef/tests/small1.sh | 1 +
contrib/unifdef/tests/small2.c | 17 +
contrib/unifdef/tests/small2.experr | 0
contrib/unifdef/tests/small2.expout | 13 +
contrib/unifdef/tests/small2.exprc | 1 +
contrib/unifdef/tests/small2.sh | 1 +
contrib/unifdef/tests/spaces1.c | 17 +
contrib/unifdef/tests/spaces1.experr | 0
contrib/unifdef/tests/spaces1.expout | 13 +
contrib/unifdef/tests/spaces1.exprc | 1 +
contrib/unifdef/tests/spaces1.sh | 1 +
contrib/unifdef/tests/spaces2.c | 17 +
contrib/unifdef/tests/spaces2.experr | 0
contrib/unifdef/tests/spaces2.expout | 13 +
contrib/unifdef/tests/spaces2.exprc | 1 +
contrib/unifdef/tests/spaces2.sh | 1 +
contrib/unifdef/tests/spaces3.c | 17 +
contrib/unifdef/tests/spaces3.experr | 0
contrib/unifdef/tests/spaces3.expout | 13 +
contrib/unifdef/tests/spaces3.exprc | 1 +
contrib/unifdef/tests/spaces3.sh | 1 +
contrib/unifdef/tests/spaces4.c | 17 +
contrib/unifdef/tests/spaces4.experr | 0
contrib/unifdef/tests/spaces4.expout | 13 +
contrib/unifdef/tests/spaces4.exprc | 1 +
contrib/unifdef/tests/spaces4.sh | 1 +
contrib/unifdef/tests/whitespace-1.experr | 2 +
contrib/unifdef/tests/whitespace-1.expout | 1 +
contrib/unifdef/tests/whitespace-1.exprc | 1 +
contrib/unifdef/tests/whitespace-1.sh | 1 +
contrib/unifdef/tests/whitespace-2.experr | 0
contrib/unifdef/tests/whitespace-2.expout | 5 +
contrib/unifdef/tests/whitespace-2.exprc | 1 +
contrib/unifdef/tests/whitespace-2.sh | 1 +
contrib/unifdef/tests/whitespace.c | 7 +
contrib/unifdef/tests/xterm.experr | 3 +
contrib/unifdef/tests/xterm.expout | 83 ++
contrib/unifdef/tests/xterm.exprc | 1 +
contrib/unifdef/tests/xterm.sh | 35 +
contrib/unifdef/unifdef.1 | 530 ++++++++
contrib/unifdef/unifdef.c | 1702 ++++++++++++++++++++++++
contrib/unifdef/unifdef.h | 53 +
contrib/unifdef/unifdefall.sh | 58 +
contrib/unifdef/version.h | 2 +
contrib/unifdef/win32/Makefile.mingw | 14 +
contrib/unifdef/win32/unifdef.h | 84 ++
contrib/unifdef/win32/unifdef.sln | 20 +
contrib/unifdef/win32/unifdef.vcxproj | 96 ++
contrib/unifdef/win32/win32.c | 91 ++
442 files changed, 6575 insertions(+)
diff --git a/contrib/unifdef/.gitignore b/contrib/unifdef/.gitignore
new file mode 100644
index 000000000000..55ca2f341b7c
--- /dev/null
+++ b/contrib/unifdef/.gitignore
@@ -0,0 +1,7 @@
+Changelog
+unifdef
+unifdef.exe
+unifdef.txt
+unifdef-*
+version.h
+version.sh
diff --git a/contrib/unifdef/.travis.yml b/contrib/unifdef/.travis.yml
new file mode 100644
index 000000000000..39aa4292de14
--- /dev/null
+++ b/contrib/unifdef/.travis.yml
@@ -0,0 +1,59 @@
+language: c
+
+sudo: false
+
+os:
+ - linux
+ - osx
+
+compiler:
+ - gcc
+ - clang
+
+matrix:
+ include:
+ ## Ubuntu 14.04 Trusty (beta), sudo required!
+ - os: linux
+ dist: trusty
+ sudo: required
+ compiler: gcc
+ env: TRUSTY="yes"
+ - os: linux
+ dist: trusty
+ sudo: required
+ compiler: clang
+ env: TRUSTY="yes"
+ ## MinGW / wine
+ - os: linux
+ sudo: required
+ compiler: i586-mingw32msvc-gcc
+ env: BUILD_MINGW="yes"
+ allow_failures:
+ - compiler: i586-mingw32msvc-gcc
+
+install:
+ - env | grep -v "encrypted" | LC_ALL=C sort
+ - if test "${BUILD_MINGW}" = "yes"; then
+ sudo apt-get -qq update &&
+ sudo apt-get -qq install wine;
+ fi
+
+script:
+ - if test "${BUILD_MINGW}" != "yes"; then
+ make &&
+ make test &&
+ make release;
+ else
+ export CC=i586-mingw32msvc-gcc;
+ echo -e '#!/bin/bash\nexec wine $0.exe "$@"' > unifdef;
+ chmod ugo+x unifdef;
+ make version.h &&
+ make -f win32/Makefile.mingw test;
+ fi
+
+branches:
+ only:
+ - master
+ - next
+ - /^travis.*/
+ - /^tmp.*/
diff --git a/contrib/unifdef/COPYING b/contrib/unifdef/COPYING
new file mode 100644
index 000000000000..ae0ab7eeb717
--- /dev/null
+++ b/contrib/unifdef/COPYING
@@ -0,0 +1,85 @@
+unifdef copyright licence
+-------------------------
+
+All files in this package are distributed under the two-clause BSD
+copyright licence, except for the manual page unifdef.1 and the
+portability support code in the FreeBSD subdirectory, which all have
+a three-clause BSD copyright licence.
+
+Unifdef was derived from software contributed to Berkeley by Dave
+Yost. It was rewritten to support ANSI C by Tony Finch. The original
+version of unifdef.c carried the four-clause BSD copyright licence.
+None of its code remains in this version (though some of the names
+remain) so it now carries the more liberal two-clause licence.
+
+Unless otherwise stated, the files in this package are:
+
+ Copyright (c) 2002 - 2020 Tony Finch <dot@dotat.at>
+
+unifdefall.sh is:
+
+ Copyright (c) 2002 - 2013 Tony Finch <dot@dotat.at>
+ Copyright (c) 2009 - 2010 Jonathan Nieder <jrnieder@gmail.com>
+
+Some files in the tests directory are:
+
+ Copyright 2004, 2008 Bob Proulx <bob@proulx.com>
+
+The two-clause BSD copyright licence applying to all the above files is:
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+The three-clause BSD copyright licence for the manual page unifdef.1
+and the portability support code from FreeBSD is below. The fourth
+advertising clause that used to appear between clauses 2 and 3 was
+rescinded by the University of California Berkeley in 1999.
+ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+
+ Copyright (c) 1985 - 1994
+ The Regents of the University of California. All rights reserved.
+ Copyright (c) 2002 - 2012 Tony Finch <dot@dotat.at>. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+- end -
diff --git a/contrib/unifdef/FreeBSD/err.c b/contrib/unifdef/FreeBSD/err.c
new file mode 100644
index 000000000000..9589fced5b26
--- /dev/null
+++ b/contrib/unifdef/FreeBSD/err.c
@@ -0,0 +1,138 @@
+/*-
+ * Copyright (c) 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "unifdef.h"
+
+void
+err(int eval, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ verrc(eval, errno, fmt, ap);
+ va_end(ap);
+}
+
+void
+verr(int eval, const char *fmt, va_list ap)
+{
+ verrc(eval, errno, fmt, ap);
+}
+
+void
+errc(int eval, int code, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ verrc(eval, code, fmt, ap);
+ va_end(ap);
+}
+
+void
+verrc(int eval, int code, const char *fmt, va_list ap)
+{
+ fprintf(stderr, "%s: ", _getprogname());
+ if (fmt != NULL) {
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, ": ");
+ }
+ fprintf(stderr, "%s\n", strerror(code));
+ exit(eval);
+}
+
+void
+errx(int eval, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ verrx(eval, fmt, ap);
+ va_end(ap);
+}
+
+void
+verrx(int eval, const char *fmt, va_list ap)
+{
+ fprintf(stderr, "%s: ", _getprogname());
+ if (fmt != NULL)
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, "\n");
+ exit(eval);
+}
+
+void
+warn(const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ vwarnc(errno, fmt, ap);
+ va_end(ap);
+}
+
+void
+vwarn(const char *fmt, va_list ap)
+{
+ vwarnc(errno, fmt, ap);
+}
+
+void
+warnc(int code, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ vwarnc(code, fmt, ap);
+ va_end(ap);
+}
+
+void
+vwarnc(int code, const char *fmt, va_list ap)
+{
+ fprintf(stderr, "%s: ", _getprogname());
+ if (fmt != NULL) {
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, ": ");
+ }
+ fprintf(stderr, "%s\n", strerror(code));
+}
+
+void
+warnx(const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ vwarnx(fmt, ap);
+ va_end(ap);
+}
+
+void
+vwarnx(const char *fmt, va_list ap)
+{
+ fprintf(stderr, "%s: ", _getprogname());
+ if (fmt != NULL)
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, "\n");
+}
diff --git a/contrib/unifdef/FreeBSD/getopt.c b/contrib/unifdef/FreeBSD/getopt.c
new file mode 100644
index 000000000000..eb9b0c507875
--- /dev/null
+++ b/contrib/unifdef/FreeBSD/getopt.c
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 1987, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "unifdef.h"
+
+int opterr = 1, /* if error message should be printed */
+ optind = 1, /* index into parent argv vector */
+ optopt, /* character checked for validity */
+ optreset; /* reset getopt */
+char *optarg; /* argument associated with option */
+
+#define BADCH (int)'?'
+#define BADARG (int)':'
+
+static char EMSG[] = "";
+
+/*
+ * getopt --
+ * Parse argc/argv argument vector.
+ */
+int
+getopt(int nargc, char *nargv[], const char *ostr)
+{
+ static char *place = EMSG; /* option letter processing */
+ const char *oli; /* option letter list index */
+
+ if (optreset || *place == 0) { /* update scanning pointer */
+ optreset = 0;
+ place = nargv[optind];
+ if (optind >= nargc || *place++ != '-') {
+ /* Argument is absent or is not an option */
+ place = EMSG;
+ return (-1);
+ }
+ optopt = *place++;
+ if (optopt == '-' && *place == 0) {
+ /* "--" => end of options */
+ ++optind;
+ place = EMSG;
+ return (-1);
+ }
+ if (optopt == 0) {
+ /* Solitary '-', treat as a '-' option
+ if the program (eg su) is looking for it. */
+ place = EMSG;
+ if (strchr(ostr, '-') == NULL)
+ return (-1);
+ optopt = '-';
+ }
+ } else
+ optopt = *place++;
+
+ /* See if option letter is one the caller wanted... */
+ if (optopt == ':' || (oli = strchr(ostr, optopt)) == NULL) {
+ if (*place == 0)
+ ++optind;
+ if (opterr && *ostr != ':')
+ (void)fprintf(stderr,
+ "%s: illegal option -- %c\n", _getprogname(),
+ optopt);
+ return (BADCH);
+ }
+
+ /* Does this option need an argument? */
+ if (oli[1] != ':') {
+ /* don't need argument */
+ optarg = NULL;
+ if (*place == 0)
+ ++optind;
+ } else {
+ /* Option-argument is either the rest of this argument or the
+ entire next argument. */
+ if (*place)
+ optarg = place;
+ else if (nargc > ++optind)
+ optarg = nargv[optind];
+ else {
+ /* option-argument absent */
+ place = EMSG;
+ if (*ostr == ':')
+ return (BADARG);
+ if (opterr)
+ (void)fprintf(stderr,
+ "%s: option requires an argument -- %c\n",
+ _getprogname(), optopt);
+ return (BADCH);
+ }
+ place = EMSG;
+ ++optind;
+ }
+ return (optopt); /* return option letter */
+}
diff --git a/contrib/unifdef/INSTALL b/contrib/unifdef/INSTALL
new file mode 100644
index 000000000000..03d7488588ab
--- /dev/null
+++ b/contrib/unifdef/INSTALL
@@ -0,0 +1,36 @@
+unifdef installation instructions
+---------------------------------
+
+Dependencies:
+ * unifdef is mostly ANSI C, with a few unixisms
+ * unifdefall is a Unix shell script
+ * the manual uses the nroff mdoc macros
+ * the support and test scripts are Unix shell scripts
+
+To build on Unix, type `make`. You can adjust the compilation options
+using the POSIX standard CFLAGS and LDFLAGS make variables.
+
+To install in your home directory, type `make install`
+or to install in /usr type `make prefix=/usr install`.
+See the start of the Makefile for the install location
+variables.
+
+The win32 subdirectory contains build files for MinGW and Visual
+Studio 2010 which make use of the FreeBSD code plus some other
+portability wrappers.
+
+To build with MinGW, type `mingw32-make -f win32/Makefile.mingw`.
+
+Unlike the Unix Makefile, the Windows builds do not automatically
+create or update version.h. The release tar and zip files include a
+pre-generated version.h but the git repository does not. To build from
+a git clone you need a Unix shell environment, which you can get as
+part of GitHub for Windows - http://windows.github.com/
+To update version.h, right-click on the fanf2/unifdef repository and
+select "open a shell here", then type `sh scripts\reversion.sh`.
+
+We assume Unix provides the BSD err.h functions and C99 stdbool.h. The
+FreeBSD subdirectory has copies of err.c and getopt.c for systems such
+as Windows that don't have them built in.
+
+- end -
diff --git a/contrib/unifdef/Makefile b/contrib/unifdef/Makefile
new file mode 100644
index 000000000000..36c70283c1b7
--- /dev/null
+++ b/contrib/unifdef/Makefile
@@ -0,0 +1,58 @@
+# Makefile for unifdef
+
+prefix = ${HOME}
+bindir = ${prefix}/bin
+mandir = ${prefix}/share/man
+man1dir= ${mandir}/man1
+
+bindest= ${DESTDIR}${bindir}
+man1dest= ${DESTDIR}${man1dir}
+
+all: unifdef
+
+unifdef: unifdef.c unifdef.h version.h
+ ${CC} ${CFLAGS} ${LDFLAGS} -o unifdef unifdef.c
+
+version.h: version.sh
+version.sh::
+ scripts/reversion.sh
+
+test: unifdef
+ scripts/runtests.sh tests
+
+install: unifdef unifdefall.sh unifdef.1
+ : commands
+ install -m 755 -d ${bindest}
+ install -m 755 unifdef ${bindest}/
+ install -m 755 unifdefall.sh ${bindest}/unifdefall
+ : manual
+ install -m 755 -d ${man1dest}
+ install -m 644 unifdef.1 ${man1dest}/
+ ln -s unifdef.1 ${man1dest}/unifdefall.1
+
*** 8448 LINES SKIPPED ***