On 30-07-13 17:50, Eric Eide wrote:
[...] In sum, whether or not you need to preprocess your source before running C-Reduce depends on the nature of the task you are trying to perform.
I understand that. Let me briefly repeat why I'm bothering the mailing list with this yes/no preprocess question. And I'm OK if we leave it at this. I have a bunch of csmith failures. I run creduce with a script that uses clang and gcc to weed out the unwanted reductions. I also need gcc to create reference output. Finally I run a cross compiler (i.e. my own compiler) which has the bug. In this setup I _cannot_ preprocess the csmith testcase beforehand. Then comes reduce-array-size. I noticed that it quickly produces bad reductions with out-of-array access. And the reason is that it does not know, for example, what uint32_t is. Now, it simply reduces the array to size 1. For me this makes reduce-array-size useless. (( Yes, I know, there are tools to detect violation of array-boundaries. My own cross compiler toolchain can even do that at runtime. But that makes creduce as a whole a very slow process. I rather skip reduce-array-size instead. )) -- Kees
