HomePage - GCC Wiki (original) (raw)
Welcome to GCC Wiki
This page contains information about the GNU Compiler Collection. Please read HowToUseWiki if you need help editing this WikiWikiWeb. (Only members of the EditorGroup group may edit this wiki.)
This wiki is not for random discussion of GCC, nor for asking questions. It is here to provide information. If you have questions, please use the mailing list. Do not add questions to these pages! gcc-help@gcc.gnu.org is a good mailing list for questions about GCC.
There is an IRC channel dedicated to GCC development at irc.oftc.net/#gcc NOTE! This channel is exclusively dedicated to the development of GCC. Questions regarding usage of GCC are not appropriate. |
---|
There is an IRC channel dedicated to helping users with GCC at irc.libera.chat/#gcc. Please use this channel for questions regarding GCC usage and general GCC discussion. |
GCC Info
- Development schedule
- Frequently Asked Questions
- Installing GCC
- LRA is now the default
- GCC plugins
- GFortran, the Fortran front-end
- Google's Summer of Code
- libstdc++, the C++ runtime library
User Information
- Proper C++ visibility support
- Math Optimization Flags
- Mudflap Pointer Debugging
- Building Cross Toolchains with gcc
- Software floating point
- Link Time Optimization Frequently Asked Questions
- Exploiting Link Time Optimization
- Offloading to (GPU) Accelerators
Events
- GNU Tools Cauldron 2024, September September 14-16, Prague, Czech Republic
- GCC devroom at FOSDEM 2024, February 3-4, Brussels, Belgium
- GNU Tools Cauldron 2023, September September 22-24, Cambridge, UK
- GNU Tools Cauldron 2022, September September 16-18, Prague, Czech Republic
- GNU Tools @ Linux Plumbers Conference 2021, September 20-23 2021, Videoconference
- GNU Tools @ Linux Plumbers Conference 2020, August 24-28 2020, Videoconference
- GNU Tools Cauldron 2019, September 12-15 2019, Montréal, Canada
- GNU Tools Cauldron 2018, September 7-9 2018, Manchester, UK
- GNU Tools Cauldron 2017, September 8-10 2017, Prague, Czech Repulic
- GNU Tools Cauldron 2016, September 9-11 2016, Hebden Bridge, UK
- GNU Tools Cauldron 2015, August 7-9 2015, Prague, Czech Republic
- GNU Tools Cauldron 2014, July 18-20 2014, Cambridge, UK
- GNU Tools Cauldron 2013, July 12-14 2013, Mountain View, California
- Essential Abstractions in GCC 2013, June 29 - July 03, 2013, IIT Bombay, Mumbai, India
- GNU Tools Cauldron 2012, July 9-11 2012, Prague, Czech Republic
- Essential Abstractions in GCC 2012, June 30 - July 03, 2012, IIT Bombay, Mumbai, India
- GCC Gathering 2011, London, UK for the weekend of 17-Jun-2011
- GROW 2011, Apr. 2-3, Chamonix, France, co-located with CGO
Getting Started with GCC Development
- Tutorials, HOWTOs, internal documentation
- EasyHacks
- GCC Patch Tracking
- SVN Guide for GCC developers
- Accessing the SVN GCC sources using Git
- Top-Level Bootstrap
- How to prepare a testcase
- A guide to testcase reduction
- Recording call-graphs with perf
- CompileFarm
Improving GCC
- Improvement Projects Home
- Directions for Graphite 4.8 and beyond
- GCC re-architecture project - Border Control
- GCC Spec 2017 Improvements
- irange Best Practices
Current Projects (alphabetical)
- Atomics
- Automatic parallelization
- Better Diagnostics
- Better Uninitialized Warnings
- Boring GCC (boringcc)
- BPF Back End
- C++ ABI Instrumentation
- C++11 Memory Model
- C++ Conversion
- C++ Coroutines
- C++ Modules
- C11 Atomics
- CC0 Transition
- Cilk Plus merge into mainline
- CLI Back-End and Front-End
- Document the Middle-End Type System
- Early Generation of Debug Information
- Function Adaptation
- gcc-in-cxx - porting gcc to compile as C++
- Gimple Back End
- Gimple Front End
- Graphite
- IEEE 128-bit floating point support for PowerPC
- Incremental compiler
- Interactive Compilation Interface
- Just-In-Time Compilation (libgccjit.so)
- Lightweight IPO -- LIPO
- Loop Optimization Related Tasks
- Make C undefined overflow semantics explicit in the IL
- Expression Simplification Language
- Middle End Array Expressions
- Middle End Lisp Translator or MELT
- MILEPOST GCC - enabling research on machine-learning based self-tuning compilers
- Modeling Function Behavior for more aggressive optimizations across call sites
- Make GCC more modular
- Modulo Scheduling Related Tasks
- Object Oriented Programming in Fortran
- OpenACC
- OpenMP
- Pass Activity Log
- Parallelize GCC with Threads
- Pre-Parsed Headers
- Ranger - On-demand range generation
- Split Stacks
- SSA Register Pressure Reduction
- Static Analyzer (-fanalyzer)
- Python Front End
- Rust Front End
- Stdlib Performance Advisor
- Vectorization Related Tasks
Finished Projects (alphabetical)
- Alias Improvements
- Constexpr
- Compiler Plugins
- DataflowPorting
- Function Specific Optimization
- GIMPLE tuples
- GIT Conversion - Converting GCC's repository from SVN to GIT
- Link Time Optimization
- Flattening Memory Reference Trees in the GIMPLE IL
- Tightening GCC's Memory Model
- Using profile to drive optimizations
- Thread Safety Annotations and Analysis
- Transactional Memory
- Var Tracking Assignments for correct debug information
GCC Summit Proceedings
Proceedings of the GCC Summit:
GCC as a research compiler
GCC Research Opportunities Workshop Proceedings
Miscellaneous
- History of GCC
- People
- Proposed C++ coding conventions
- Compiler comparison regarding volatile accesses
- GCC developer blogs
- GCC glossary and abbreviations and acronyms
- Deadly sins for a compiler writer
- Links
- ListOfCompilerBooks
- OrphanedPages: these pages should be linked from another page, or integrated into other pages and deleted. This doesn't apply to automatic redirections or homepages.