# gcc-mirror/gcc

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gcc-mirror-gcc).**

11,019 stars · 4,769 forks · C++ · GPL-2.0

## Links

- GitHub: https://github.com/gcc-mirror/gcc
- awesome-repositories: https://awesome-repositories.com/repository/gcc-mirror-gcc.md

## Description

This project is a multi-language compiler collection and cross-platform toolchain used to translate source code from various programming languages into optimized machine code for different hardware architectures. It provides a suite of tools including an optimizing compiler backend, a machine code generator, and a comprehensive runtime library suite that implements necessary execution environments and support functions.

The system utilizes a multi-pass compilation pipeline and pluggable language front-ends to process source code into intermediate representations. It distinguishes itself through target-specific backend generation that maps these representations to specific registers and opcodes, employing global value numbering and structural analysis to ensure high performance on target CPUs.

The project covers a broad range of capabilities including intermediate representation analysis, cross-platform toolchain bootstrapping, and the distribution of language runtimes. It includes diagnostic tools for symbolic backtrace generation and runtime error detection for memory and threading issues, as well as support for diverse languages such as Objective-C, D, Go, COBOL, and Algol 68.

## Tags

### Programming Languages & Runtimes

- [Architecture-Specific Generators](https://awesome-repositories.com/f/programming-languages-runtimes/compilation-target-specifications/architecture-specific-generators.md) — Maps intermediate representations to specific registers and opcodes to produce optimized machine instructions for various CPUs.
- [Machine Code Generators](https://awesome-repositories.com/f/programming-languages-runtimes/machine-code-generators.md) — Producing optimized machine instructions by mapping intermediate representations to the specific registers and opcodes of various hardware CPUs.
- [Source Code Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers.md) — Transforms high-level source code from multiple programming languages into optimized machine code for target processors. ([source](https://github.com/gcc-mirror/gcc/blob/master/README))
- [Compiler Front-ends](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-front-ends.md) — Provides pluggable front-ends that parse various languages into a common internal representation for the backend.
- [Compiler Backends](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/compiler-backends.md) — Implements a backend that translates intermediate representations into hardware-specific machine instructions.
- [Cross-Platform Library Compilations](https://awesome-repositories.com/f/programming-languages-runtimes/cross-platform-library-compilations.md) — Compiles source files and links executables to install libraries across multiple target platforms. ([source](https://github.com/gcc-mirror/gcc/blob/master/ltmain.sh))
- [Language Runtime Environments](https://awesome-repositories.com/f/programming-languages-runtimes/cross-platform-runtimes/language-runtime-environments.md) — Distributes specialized runtime layers that provide necessary language-specific features and support functions across platforms. ([source](https://github.com/gcc-mirror/gcc/blob/master/SECURITY.txt))
- [Header File Inclusions](https://awesome-repositories.com/f/programming-languages-runtimes/header-file-inclusions.md) — Determines whether headers are processed as textual inclusions or mapped to compiled module interfaces. ([source](https://github.com/gcc-mirror/gcc/tree/master/libcody))
- [Intermediate Representation Analysis](https://awesome-repositories.com/f/programming-languages-runtimes/intermediate-representation-analysis.md) — Performs analysis on intermediate representations using value numbering to optimize execution speed.
- [Module Interface Exports](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/module-systems/synchronous-module-loaders/module-interface-exports.md) — Manages the export of compiled module interfaces to disk and coordinates destination paths with the builder. ([source](https://github.com/gcc-mirror/gcc/tree/master/libcody))
- [Machine Code Generation](https://awesome-repositories.com/f/programming-languages-runtimes/machine-code-generation.md) — Converts intermediate representations into hardware-specific native instructions to ensure high performance on target CPUs.
- [Module Path Resolution](https://awesome-repositories.com/f/programming-languages-runtimes/module-path-resolution.md) — Resolves file paths for compiled module interfaces to ensure dependencies are built before proceeding. ([source](https://github.com/gcc-mirror/gcc/tree/master/libcody))
- [Multi-Pass Compiler Pipelines](https://awesome-repositories.com/f/programming-languages-runtimes/multi-pass-compiler-pipelines.md) — Translates source code into machine code through sequential stages of intermediate representations and optimization passes.
- [Multi-Target Code Generation](https://awesome-repositories.com/f/programming-languages-runtimes/multi-target-code-generation.md) — Generates different versions of a library for various hardware configurations and operating systems in one automated process. ([source](https://github.com/gcc-mirror/gcc/blob/master/multilib.am))
- [Cross-Language Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/polyglot-application-development/cross-language-compilation.md) — Transforms multiple different programming languages into a single optimized machine code representation for various architectures.
- [D Language Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/d-language-compilers.md) — Translates D source code into machine code with integrated runtime and standard library support. ([source](https://github.com/gcc-mirror/gcc/tree/master/libphobos))
- [Calling Conventions](https://awesome-repositories.com/f/programming-languages-runtimes/function-argument-passing/calling-conventions.md) — Abstractly manages hardware-specific argument passing and stack frame requirements for runtime function execution.
- [Global Value Numbering](https://awesome-repositories.com/f/programming-languages-runtimes/global-value-numbering.md) — Eliminates redundant computations by assigning unique identifiers to equivalent expressions in the intermediate representation.
- [Go Language Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/go-language-implementations.md) — Implements runtime functions and library support necessary to execute Go code on target operating systems. ([source](https://github.com/gcc-mirror/gcc/tree/master/libgo))
- [Just-In-Time Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/just-in-time-compilation.md) — Translates intermediate representations into optimized native machine code at runtime for immediate execution. ([source](https://github.com/gcc-mirror/gcc/blob/master/SECURITY.txt))
- [Multi-Language Runtime Support](https://awesome-repositories.com/f/programming-languages-runtimes/multi-language-runtime-support.md) — Provides a dedicated runtime library to support the execution of programs compiled from COBOL. ([source](https://github.com/gcc-mirror/gcc/tree/master/libgcobol))
- [Portable Function Invocations](https://awesome-repositories.com/f/programming-languages-runtimes/portable-function-invocations.md) — Executes compiled functions at runtime using a portable interface that handles varying hardware calling conventions. ([source](https://github.com/gcc-mirror/gcc/tree/master/libffi))
- [Objective-C](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/objective-c.md) — Provides a compiler that translates Objective-C source code into machine code using a modeled runtime. ([source](https://github.com/gcc-mirror/gcc/tree/master/libobjc))
- [Language Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes.md) — Provides the necessary runtime components and library functions to execute compiled Algol 68 code. ([source](https://github.com/gcc-mirror/gcc/tree/master/libga68))
- [Memory and Concurrency Error Detection](https://awesome-repositories.com/f/programming-languages-runtimes/undefined-behavior-detection/memory-and-concurrency-error-detection.md) — Identifies illegal memory accesses and data races at runtime by monitoring code execution and memory patterns. ([source](https://github.com/gcc-mirror/gcc/tree/master/libsanitizer))

### Development Tools & Productivity

- [Self-Hosting Toolchains](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/compilers/self-hosting-verification-tools/self-hosting-toolchains.md) — Employs iterative self-compilation to bootstrap a target compiler on a host system for different architectures.
- [Cross-Platform Toolchains](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-toolchains.md) — Provides an integrated suite for bootstrapping and generating executable binaries for diverse operating systems and processor configurations.
- [Language Toolchain Compilations](https://awesome-repositories.com/f/development-tools-productivity/language-toolchain-compilations.md) — Builds command-line utilities required to develop and format code for specific programming languages. ([source](https://github.com/gcc-mirror/gcc/tree/master/gotools))

### Operating Systems & Systems Programming

- [Runtime Libraries](https://awesome-repositories.com/f/operating-systems-systems-programming/systems-programming/runtime-libraries.md) — Provides core runtime libraries including startup and memory management for system execution across target languages.

### Software Engineering & Architecture

- [Internal Tree Representations](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-tools/internal-tree-representations.md) — Uses hierarchical tree structures to represent source code for semantic analysis and structural transformations.
- [Symbolic Backtrace Resolutions](https://awesome-repositories.com/f/software-engineering-architecture/reference-management/symbolic-reference-tracing/symbol-to-address-mapping/symbolic-backtrace-resolutions.md) — Maps raw memory addresses from executables back to function names and source locations for debugging.

### Testing & Quality Assurance

- [Backtrace Generation](https://awesome-repositories.com/f/testing-quality-assurance/backtrace-generation.md) — Produces detailed symbolic call stacks from executables across various object formats and operating systems. ([source](https://github.com/gcc-mirror/gcc/tree/master/libbacktrace))
