• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

autoconf/H14-May-2019-16,55112,308

clang_delta/H03-May-2022-37,62626,999

clex/H03-May-2022-6,6154,850

cmake/H13-May-2019-173155

creduce/H03-May-2022-4,1553,210

delta/H03-May-2022-3,7792,559

m4/H14-May-2019-9,6348,713

scripts/H14-May-2019-1,247958

tests/H14-May-2019-7,6526,084

unifdef/H03-May-2022-2,4371,921

AUTHORSH A D13-May-2019212 96

COPYINGH A D13-May-20191.7 KiB3329

INSTALL.mdH A D13-May-20196.2 KiB213154

Makefile.amH A D13-May-2019647 3316

Makefile.inH A D13-May-201926.2 KiB867763

NEWSH A D13-May-201945 42

README.mdH A D13-May-20192 KiB4736

TODOH A D13-May-20193.3 KiB11774

aclocal.m4H A D13-May-201943.4 KiB1,2001,090

cmake_config.h.inH A D13-May-20191.8 KiB6141

config.h.inH A D13-May-20191.8 KiB6946

configureH A D13-May-2019587.3 KiB19,21116,164

configure.acH A D13-May-20195.3 KiB180151

git-hash.shH A D13-May-20191.7 KiB6926

version.m4H A D13-May-2019607 1813

README.md

1# C-Reduce
2
3## About
4
5C-Reduce is a tool that takes a large C or C++ program that has a
6property of interest (such as triggering a compiler bug) and
7automatically produces a much smaller C/C++ program that has the same
8property.  It is intended for use by people who discover and report
9bugs in compilers and other tools that process C/C++ code.
10
11*NOTE:* C-Reduce happens to do a pretty good job reducing the size of
12programs in languages other than C/C++, such as JavaScript and Rust.
13If you need to reduce programs in some other language, please give it
14a try.
15
16Documentation and other information can be found at the [C-Reduce web
17page](http://embed.cs.utah.edu/creduce/)
18
19## Installation
20
21See [INSTALL.md](INSTALL.md).
22
23## Notes
24
251. When set to use more than one core, C-Reduce can cause space in
26`/tmp` to be leaked. This happens because sometimes C-Reduce will kill
27a compiler invocation when a result that is computed in parallel makes
28it clear that that compiler invocation is no longer useful. If the
29compiler leaves files in `/tmp` when it is killed, C-Reduce has no way
30to discover and remove the files. You will need to do this manually
31from time to time if temporary file space is limited. The leakage is
32typically pretty slow. If you need to avoid this problem altogether,
33you can run C-Reduce on a single core (using `--n 1`) in which case
34C-Reduce will never kill a running compiler instance. Alternatively, a
35command line option such as `-pipe` (supported by GCC) may suppress
36the creation of temporary files altogether. Another possibility is to
37set the `TMPDIR` environment variable to something like
38`/tmp/creduce-stuff` before invoking C-Reduce -- assuming that the
39tools you are invoking respect this variable.
40
412. Each invocation of the interestingness test is performed in a fresh
42temporary directory containing a copy of the file that is being
43reduced. If your interestingness test requires access to other files,
44you should either copy them into the current working directory or else
45refer to them using an absolute path.
46
47