Download List

Project Description

Sunifdef is a command line tool for eliminating
superfluous preprocessor clutter from C and C++
source files. It is a more powerful successor to
the FreeBSD 'unifdef' tool. Sunifdef is most
useful to developers of constantly evolving
products with large code bases, where preprocessor
conditionals are used to configure the feature
sets, APIs or implementations of different
releases. In these environments, the code base
steadily accumulates #ifdef-pollution as transient
configuration options become obselete. Sunifdef
can largely automate the recurrent task of purging
redundant #if logic from the code.

System Requirements

System requirement is not defined
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.

2008-02-04 22:59
3.1.3

Six bugs are fixed in this release. Five of these fixes tackle longstanding defects of sunifdef's parsing and evaluation of integer constants, a niche that has received little scrutiny since the tool branched from unifdef. This version provides robust parsing of hex, decimal, and octal numerals and arithmetic on them. However, sunifdef still evaluates all integer constants as ints and performs signed integer arithmetic upon them. This falls short of emulating the C preprocessor's arithmetic in limit cases, which is an unfixed defect.
Tags: Stable, Minor bugfixes

2007-11-24 12:10
3.1.2

Five minor bugs were fixed.
Tags: Stable, Minor bugfixes

2007-05-13 21:24
3.1

The parser is strengthened to cope with contexts that were formerly skipped over as "obfuscated". The --obfusc option is thus redundant and is withdrawn. Six bugs are fixed. The demise of the Sourceforge compile farm means that many platforms can no longer be tested for this release.
Tags: Stable, Minor feature enhancements

2007-01-20 18:50
3.0

A new --recurse option enables recursive traversal
of source directories. Users no longer need to
write driver scripts for this routinely required
capablity. A new --filter option enables selection
of input files by file-extension. A new
--keepgoing option causes processing to carry on
with subsequent input files following parse
errors. The --verbose mode now emits progress
messages. The Unix and Windows builds now accept
both sorts of line endings. Hex and octal
preprocessor constants are now parsed. Six bugs
were fixed. An extensive EXAMPLES section has been
added to the man page.
Tags: Stable, Major feature enhancements

2006-07-22 22:49
2.1.2

Two errors when compiling to the C89 standard were
fixed, as were warnings provoked by
"warn_unused_result" declarations and by building
to 64-bit.
Tags: Stable, Minor bugfixes

Project Resources