David Malcolm
David Malcolm's contributions
Article
Testing... Testing... GCC
David Malcolm
The next release of the GNU Compiler Collection , GCC 7 , is fast approaching, so in this post, I'm going to talk about work I've done to make GCC more reliable GCC has a large test suite: when I test a patch, roughly 330,000 tests are run, covering various aspects of the compiler, such as: handling valid and invalid syntax in the front-ends verifying that optimizations passes are run verifying that the resulting code runs correctly verifying that the...
Article
GCC 6: -Wmisleading-indentation vs "goto fail;"
David Malcolm
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: -Wmisleading-indentation . 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 (); the "do_bar ();" looks like it's guarded by the conditional, but...
Article
JIT-compilation using GCC 5
David Malcolm
In an earlier post , I talked about GCC (the GNU Compiler Collection) , and work that I did to make the internals of GCC more robust for GCC 5 . 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...
Article
Improving GCC’s internals
David Malcolm
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...
![gnu logo GNU C library](/sites/default/files/styles/list_item_thumb/public/blog/2014/09/gnu-logo.png?itok=97X-o7kf)
Article
Testing... Testing... GCC
David Malcolm
The next release of the GNU Compiler Collection , GCC 7 , is fast approaching, so in this post, I'm going to talk about work I've done to make GCC more reliable GCC has a large test suite: when I test a patch, roughly 330,000 tests are run, covering various aspects of the compiler, such as: handling valid and invalid syntax in the front-ends verifying that optimizations passes are run verifying that the resulting code runs correctly verifying that the...
![Article Thumbnail](/themes/custom/rhdp_fe/images/design/defaults/taxonomy_list_item_articles.webp)
Article
GCC 6: -Wmisleading-indentation vs "goto fail;"
David Malcolm
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: -Wmisleading-indentation . 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 (); the "do_bar ();" looks like it's guarded by the conditional, but...
![Article Thumbnail](/themes/custom/rhdp_fe/images/design/defaults/taxonomy_list_item_articles.webp)
Article
JIT-compilation using GCC 5
David Malcolm
In an earlier post , I talked about GCC (the GNU Compiler Collection) , and work that I did to make the internals of GCC more robust for GCC 5 . 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...
![Article Thumbnail](/themes/custom/rhdp_fe/images/design/defaults/taxonomy_list_item_articles.webp)
Article
Improving GCC’s internals
David Malcolm
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...