patch applied (cpphs): Bugfix: #undef caused an infinite loop

Thu Sep 3 02:13:25 PDT 2009 Malcolm.Wallace@cs.york.ac.uk * Bugfix: #undef caused an infinite loop Ignore-this: 449791949546c4ffa141fe22ddfa34c5 Cause: #undef was being translated into a SymbolReplacement where the replacement is the same as the original identifier. This used to work, until we switched on recursive expansion of SymbolReplacements. Fix: Introduce a different HashDefine constructor (AntiDefined) to handle #undef, rather than piggypacking on SymbolReplacement. M ./Language/Preprocessor/Cpphs/CppIfdef.hs -1 +1 M ./Language/Preprocessor/Cpphs/HashDefine.hs -2 +6 M ./Language/Preprocessor/Cpphs/MacroPass.hs +1 M ./tests/runtests +1 A ./tests/undef.hs View patch online: http://darcs.haskell.org/cpphs/_darcs/patches/20090903091325-6871e-3e48959fc...
participants (1)
-
Malcolm Wallace