]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Upgrade unifdef:
authorfanf <fanf@FreeBSD.org>
Wed, 15 May 2002 16:30:28 +0000 (16:30 +0000)
committerfanf <fanf@FreeBSD.org>
Wed, 15 May 2002 16:30:28 +0000 (16:30 +0000)
commit94a883658e1000832629fafcd2412eb9fa74e48f
tree223cd7d3676754661a0b6d33c272d00175913620
parentb860787a1895c30ea1f8f8c93c0b4578de259cf3
Upgrade unifdef:

  * It now knows about the existence of #elif which would have
    caused it to produce incorrect results in some situations.

  * It can now process #if and #elif lines according to the
    values of symbols that are specified on the command line.
    The expression parser is only a simple subset of what C
    allows but it should be sufficient for most real-world
    code (it can cope with everything it finds in xterm).

  * It has an option for printing all of the symbols that might
    control #if processing. The unifdefall script uses this
    option along with cpp -dM to strip all #ifs from a file.

  * It has much larger static limits.

  * It handles nested #ifs much more completely.

There have also been many style improvements: KNF; ANSI function
definitions; all global stuff moved to the top of the file; use
stdbool instead of h0h0bool; const-correctness; err(3) instead
of fprintf(stderr, ...); enum instead of #define; commentary.

I used NetBSD's unifdef as the basis of this since it has received
the most attention over the years.

PR: 37454
Reviewed by: markm, dwmalone
Approved by: dwmalone (mentor)
MFC after: 3 weeks
usr.bin/unifdef/Makefile
usr.bin/unifdef/unifdef.1
usr.bin/unifdef/unifdef.c
usr.bin/unifdef/unifdefall.sh [new file with mode: 0644]