http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54179
--- Comment #26 from Jason Vas Dias <jason.vas.dias at gmail dot com> 2012-08-05 20:57:59 UTC --- Well, when I read on the documentation page http://gcc.gnu.org/install/configure.html --enable-build-with-cxx Build GCC using a C++ compiler rather than a C compiler. This is an experimental option which may become the default in a later release. --enable-bootstrap In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. This is possible when the host can run code compiled for the target (e.g. host is i686-linux, target is i486-linux). Starting from GCC 4.2, to do this you have to configure explicitly with --enable-bootstrap. --enable-checking --enable-checking=list When you specify this option, the compiler is built to perform internal consistency checks of the requested complexity. This does not change the generated code, but adds error checking within the compiler. This will slow down the compiler and may only work properly if you are building the compiler with GCC. This is `yes' by default when building from SVN or snapshots, but `release' for releases. The default for building the stage1 compiler is `yes'. More control over the checks may be had by specifying list. The categories of checks available are `yes' (most common checks `assert,misc,tree,gc,rtlflag,runtime'), `no' (no checks at all), `all' (all but `valgrind'), `release' (cheapest checks `assert,runtime') or `none' (same as `no'). Individual checks can be enabled with these flags `assert', `df', `fold', `gc', `gcac' `misc', `rtl', `rtlflag', `runtime', `tree', and `valgrind'. The `valgrind' check requires the external valgrind simulator, available from http://valgrind.org/. The `df', `rtl', `gcac' and `valgrind' checks are very expensive. To disable all checking, `--disable-checking' or `--enable-checking=none' must be explicitly requested. Disabling assertions will make the compiler and runtime slightly faster but increase the risk of undetected internal errors causing wrong code to be generated. Where does it say I cannot build "C" and not "C++" without specifying --enable-languages=c --disable-build-with-cxx --disable-build-poststage1-with-cxx --enable-stage1-languages=c which is in fact the case ? Where does it say that users should never use "--enable-checking=all" with "--enable-bootstrap" ? And what has any of this to do with the simple question posed in the title of this bug report : why can't insn-emit.c be split ?