explaingit

gcc-mirror/gcc

10,926C++Audience · developerComplexity · 5/5LicenseSetup · hard

TLDR

Read-only mirror of GCC, the GNU Compiler Collection, one of the most widely used compilers in the world, translating C, C++, and other languages into executable programs.

Mindmap

mindmap
  root((GCC Mirror))
    What it is
      GNU Compiler Collection
      Read-only mirror
      Decades of history
    Languages supported
      C and C++
      Fortran
      Ada
      Go
    Key concepts
      Source to machine code
      Optimization passes
      GIMPLE and RTL IR
    Documentation
      INSTALL directory
      gcc/doc directory
      Online manual
    Audience
      Systems programmers
      Compiler researchers
      Platform porters
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build GCC from source to compile programs on a new CPU architecture or operating system.

USE CASE 2

Study compiler internals to understand how C and C++ source code is translated to machine instructions.

USE CASE 3

Reference the GCC source when debugging unexpected compiler behavior or optimization output.

USE CASE 4

Port GCC to a new platform or contribute a new language frontend to the collection.

Tech stack

C++CFortranAdaMake

Getting it running

Difficulty · hard Time to first run · 1day+

Building GCC from source requires a host compiler, flex, bison, make, and 30-60 minutes of compile time, contributions go upstream at gcc.gnu.org, not this mirror.

GNU GPL, free to use and study, but if you distribute a modified version you must also release your changes as open source under the GPL.

In plain English

This repository is a mirror of the GNU Compiler Collection, commonly known as GCC. A compiler is a program that translates source code written by a developer into machine instructions that a computer can actually run. GCC handles that job for several programming languages and has been a foundational piece of software infrastructure for decades. It is one of the most widely used compiler toolchains in existence, forming the build backbone of countless operating systems and applications. The project is free software, meaning anyone can use, study, modify, and redistribute it under the terms described in the COPYING files included in the repository. Some of the runtime libraries and manuals carry slightly different terms, and the relevant source files each note which applies. The README points to an INSTALL directory for setup instructions, available as both HTML and plain text. The source for those instructions is a documentation file within the gcc/doc directory. Usage information and porting guidance live in another documentation file in the same location, and an online-readable version of the manual exists in the gcc/doc directory as well. Bug reports are directed to the project's official tracker at gcc.gnu.org. Because this is a mirror rather than the primary development home, contributions and active issue tracking happen upstream rather than through this GitHub copy. The star count reflects how often developers reference or bookmark it here, not activity on the mirror itself. The README is intentionally brief and serves mainly as an orientation for someone who has just cloned the source. Deeper technical documentation lives inside the repository's doc directory and on the GCC project website.

Copy-paste prompts

Prompt 1
Walk me through how GCC compiles a simple C function to x86-64 assembly, show each intermediate step.
Prompt 2
What GCC optimization flags should I use for a performance-critical C application, and what trade-offs does each flag make?
Prompt 3
How do I build GCC from source on Ubuntu and run the test suite to verify the build succeeded?
Prompt 4
Explain how GCC's intermediate representations GIMPLE and RTL work and why compilers use multiple IR stages.
Open on GitHub → Explain another repo

← gcc-mirror on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.