Continue reading “Testing… Testing… GCC”
I work at Red Hat on GCC, the GNU Compiler Collection. The next major release of GCC, GCC 6, is just around the corner, so I thought I’d post about a new compiler warning I’ve contributed to it:
One of the more common “gotchas” in C and C++ programming relates to missing braces. For example, in the following:
if (some_condition ()) do_foo (); do_bar ();
Continue reading "GCC 6: -Wmisleading-indentation vs “goto fail;”"
This post is about something more user-visible: as of GCC 5, GCC’s code-generation backend can now be built as a shared library.
When might you want to generate machine code? The primary reason is for speed: anything that parses an input format and repeatedly acts on it, such as language interpreter, or a regular expression engine, might benefit from doing some work up-front to translate the input (or some part of it) directly into machine code.
Continue reading “JIT-compilation using GCC 5”
If you’ve done any C or C++ development on Fedora or Red Hat Enterprise Linux (RHEL), you’ll have used GCC, the GNU Compiler Collection.
Red Hat has long been a leading contributor to GCC, and this continues as we work with others in the “upstream” GCC community on the next major release: GCC 5.
In this post I’ll talk about some of the deep architectural changes I’ve been making to GCC. You won’t directly see these changes unless you look at GCC’s own source code, but they make GCC more robust – you’ll be less likely to see an “Internal Compiler Error”, and they make GCC development easier.
Continue reading “Improving GCC’s internals”