On 8/30/13 6:25 AM, Kees Bakker wrote:
Hi,

Which pass in creduce is responsible for removing initializers? More
specifically array and struct initializers.


No. Quite a few passes would touch initializers during the reduction.

I'm using gcc, valgrind, clang (with sanitize=address) and my own compiler,
but none of them is able to detect this problem. Maybe frama-c can do it
but I don't know how. So I was simply looking for an option in creduce to not
through away the initializers.


Frama-C is one of the best tools that can detect this kind of undefined behavior. You may try the commands below:

frama-c -cpp-command "gcc -C -Dvolatile= -E -I/csmith/runtime" -val-signed-overflow-alarms -val -stop-at-first-alarm -no-val-show-progress -machdep x86_64 -obviously-terminates -precise-unions foo.c > out_framac.txt 2>&1

egrep -i '(user error|assert)' out_framac.txt

- Yang


Reply via email to