GNU Compiler Collection (GCC)

GNU compilers

Technologies
c/c++, gnu make, gnu autotools
Topics
compilers, developer tools, toolchain, openmp, link time optimization
GNU compilers
The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. It includes front-ends for C, C++, D, Objective-C, Fortran, Ada, and Go, as well as libraries for these languages (such as libgcc and libstdc++). Modula-2, Cobol, Rust, and Algol 68 front-ends are under development too. GCC includes support for OpenMP, OpenACC and Static Analysis.
2023 Program

Successful Projects

Contributor
Muhammad Mahad
Mentor
Philip Herron, Arthur Cohen
Organization
GNU Compiler Collection (GCC)
Improving user errors & Error Code Support for GCC Rust Frontend
The goal of this project is to enhance the user experience of gccrs by enabling it to emit error codes similar to rustc. This will help bridge the...
Contributor
Ken Matsui
Mentor
ppalka
Organization
GNU Compiler Collection (GCC)
C++: Implement compiler built-ins for the standard library traits
Many C++ standard library traits are often implemented using template metaprogramming, which can result in worse compilation performance due to...
Contributor
Eric Feng
Mentor
David Malcolm
Organization
GNU Compiler Collection (GCC)
GCC static analyzer plugin for CPython extension modules
One pertinent use case of the gcc-python plugin was to provide the infrastructure for cpychecker, a static analysis tool designed for CPython...
Contributor
Rishi Raj
Mentor
Martin Jambor, Jan Hubicka
Organization
GNU Compiler Collection (GCC)
Bypass assembler when generating LTO object files
Link Time Optimization (LTO) enables GCC to dump its internal representation (GIMPLE) to disk so that a single executable can be optimized as a...
Contributor
Raiki Tamura
Mentor
Philip Herron, Arthur Cohen
Organization
GNU Compiler Collection (GCC)
Unicode Support for GCC Rust Frontend
The Rust programming language supports Unicode in identifiers, similarly to other modern programming languages such as Go, C++, and JavaScript. The...
Contributor
Benjamin Priour
Mentor
David Malcolm
Organization
GNU Compiler Collection (GCC)
Extending gcc -fanalyzer C++ support for self-analysis
Currently, the static analyzer offers little dedicated support for C++. Even when projecting the most straightforward valid C test cases to C++, the...