In May we released C-Reduce 2.5 which builds against LLVM/Clang 3.8. New in this release:
- Improved reduction of non-preprocessed C/C++ code. C-Reduce now includes #included files that are below a certain size and also uses unifdef to remove #ifdef/#endif pairs. Specialization of #define directives is not implemented yet.
- Support for reducing multiple files at once. This is useful for reducing inputs that trigger LTO bugs or that are not preprocessed.
- Support for reducing OpenCL files, contributed by the authors of this paper.
- Improved output for creduce --help.
- Lots of cleanups and bug fixes including a rewrite of the pass that removes groups of lines from a file.
Many thanks to those who contributed to this release!