Malcolm: Testing… Testing… GCC
David Malcolm takesa look at the testing going into the upcoming GCC 7.0 release. "The other new approach is in unit-testing: GCC's existing testing was almost all done by verifying the externally-visible behavior of the program, but we had very little direct coverage of specific implementation subsystems; this was done in a piecemeal fashion using testing plugins.To address this, I've added a unit-testing suite to GCC 7, which is run automatically during a non-release build. Compilers use many data structures, so the most obvious benefit is that we can directly test corner-cases in these. As a relative newcomer to the project, one of my "pain points" learning GCC's internals was the custom garbage collector it uses to manage memory. So, I'm very happy that the test suite now has specific test coverage for various aspects of the collector, which should make the compiler more robust when handling very large input files."