Некоторые ключевые различия между версиями GCC 4.x и GCC 5.x:
- Стандарт языка C. 1 В GCC 5.x по умолчанию используется стандарт C11, а не C89, как в версии 4.x. 12
- Поддержка стандарта C++. 2 В GCC 5.x в runtime-библиотеке C++ (libstdc++) обеспечена полная поддержка стандарта C++11, а также экспериментальная поддержка стандарта C++14 и спецификаций Library Fundamentals TS. 2
- Новый ABI. 12 По умолчанию в GCC 5.x задействован новый ABI, а также новые реализации std::string и std::list. 2
- Компонент Pointer Bounds Checker. 2 Нацелен на выявление фактов выхода указателей за допустимые границы памяти (служит для борьбы с переполнением буфера). 2
- Средства OpenMP 4.0. 2 Реализованы в компиляторах C, C++ и Fortran для ускорения вычислений за счёт выноса операций на специализированные процессоры. 2
- Поддержка набора расширений Cilk Plus. 2 Позволяет упростить разработку программ, части которых выполняются параллельно с задействованием разных процессорных ядер и векторных сопроцессоров. 2
Кроме того, в более старых версиях GCC исправляют ошибки, а в новых реализуют новые функции. 34