GCC Jargon File

An incomplete guide to jargon and concepts used in the GCC community.

master

the primary Git branch where new work gets committed. Once a year we fork a new branch from master and that will become the next major release of GCC.

trunk

this is another name for the master branch in Git. This term originally comes from cvs carried forward with svn and continued into git.

git

the tool we use for storing (and working with) our source code. See https://gcc.gnu.org/git.html and https://git-scm.org

bugzilla

our bug tracker. See https://gcc.gnu.org/bugzilla/ (and https://gcc.gnu.org/bugs/)

ChangeLog

files in the repository, generated from commit messages nightly. See the GCC Coding Conventions.

compile farm

a network of servers that are available for building+testing GCC (and other software). See https://portal.cfarm.net/

IRC

a chat service. See GCConIRC for where you can talk about GCC on IRC.

DCO

Developer's Certificate of Origin (Signed-off-by). See https://gcc.gnu.org/dco.html. Make sure you understand it before using it.

ICE
Internal Compiler Error, this is what happens when GCC crashes due to an internal bug.
LTO

Link Time Optimization. See https://en.wikipedia.org/wiki/Interprocedural_optimization#WPO_and_LTO

PGO/FDO

Profile Guided Optimization/FeedBack Driven Optimization See https://en.wikipedia.org/wiki/Profile-guided_optimization

pedwarn

a diagnostic that is controlled by the -pedantic and -pedantic-errors options.

permerror

a diagnostic that can be relaxed from an error to a warning using the -fpermissive option.

PR and PRXXXX
Problem Report. A synonym for bug or bug report. Not to be confused with Pull Request (github usage).
DR
Defect report; usually in reference to the C or C++ standards.
regtest

Regression test (run the GCC testsuite and check for new failures or any unexpected changes in its results).

regstrap
Bootstrap and regression test (build gcc in its bootstrap configuration then run the testsuite and check for new failures).
checking
GCC-internal assertions.
release checking

the default level of assertions (--enable-checking=release) on release branches. Faster than the default for development.

debug counter

parameter to control the number of transformations an optimization pass makes, useful for Analysing_Large_Testcases

miscompilation, wrong code
the compiler generated incorrect (not inefficient) code
missed optimization
the compiler generated inefficient code
IFNDR
Ill-Formed, No Diagnostic Required, C++-specific
patch or diff

Changes to the source code of GCC submitted in the proper format. See https://gcc.gnu.org/contribute.html#patches

ubsan

UBSAN is a runtime undefined behaviour checker. https://developers.redhat.com/blog/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan

asan

AddressSanitizer. See https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fsanitize_003daddress

bootstrap

This is what happens by default when you invoke 'make' GCC to build from source. In short, build gcc from source, then build it again using the gcc that you just built, then built gcc again with that previous gcc and compare that the two executables are identical. More details: https://gcc.gnu.org/install/build.html

WG14
The committee that develops the C standard
WG21
the committee that develops the C++ standard
J3
the committee that develops the Fortran standard
CWG
Core Working Group; usually in reference to the language part of the C++ standards working group; if combined with a number then it is the defect report # with respect to the language (non library) part of the standard.
LWG
Library Working Group; usually in reference to the library part of the C++ standards working group; if combined with a number then it is the defect report # with respect to the library part of the standard.
Cauldron
the GNU Tools Cauldron is an annual event to discuss the GNU Toolchain in-person
rebase
TODO
backport
TODO
vrp
Value range propagation.
ranger
The engine in GCC that provides range information to various passes, including but not limited to VRP.
irange
Integer ranges in the ranger.
prange
Pointer ranges in the ranger.
frange
Floating-point ranges in the ranger.

TODO:

This page was inspired by a similar article for the postgresql mailing lists: https://www.crunchydata.com/blog/understanding-the-postgres-hackers-mailing-list Some of it is specific to postgresql, but there are some acronyms and terms there that are also used in the GCC community.

None: JargonFile (last edited 2026-06-19 16:34:11 by AndrewPinski)