Red Hat Bugzilla – Bug 217840
unifdef seems unable to handle simple compound conditionals
Last modified: 2008-05-06 12:59:20 EDT
perhaps i'm being overly optimistic, but unifdef seems unable to simplify a
source file if the preprocessor directives contain very simple compound
conditionals. consider the sample input source:
#if defined(BLAH) || defined(WOOF1)
#define A 1
#if defined(BLAH) && defined(WOOF2)
#define B 2
if i run "unifdef -UBLAH src", what i get out is absolutely unchanged. having
never used unifdef before, i was hoping that the first directive would have been
simplified to just
but i guess unifdef doesn't work that way. in any event, though, it's weird
that the second directive is left unchanged. given that it's an AND compound
directive, wouldn't it make sense to have removed that second directive
*entirely*? i mean, it can't possibly evaluate to true anymore.
you can also see the (somewhat non-intuitive) results if you try multiple
unifdef's in this case, such as:
$ unifdef -UBLAH -UWOOF1 src
$ unifdef -UBLAH -UWOOF2 src
maybe i'm just not understanding what i should expect out of unifdef. the man
page certainly *suggests* it can handle compound conditionals.
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.
If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
Thanks for your help, and we apologize again that we haven't handled
these issues to this point.
The process we are following is outlined here:
We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.
And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers
This bug is open for a Fedora version that is no longer maintained and
will not be fixed by Fedora. Therefore we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen thus bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.