Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

What’s new in GCC for Red Hat Enterprise Linux 7

August 11, 2014
Jeff Law
Related topics:
Linux
Related products:
Red Hat Enterprise Linux

Share:

    With the recent release of Red Hat Enterprise Linux 7, we have some great new features to pass along. In this post we walk through GCC 4.8 and see what is new for developers.

    The GNU Compiler Collection, or “gcc” as we like to call it, is a core component of Red Hat Enterprise Linux 7 and provides compilers and runtime libraries for several statically compiled languages, including C, C++ & Fortran.   At one level or another, every component of Red Hat Enterprise Linux depends on GCC; thus changes & improvements tend to be of great interest to our customers and partners.

    It has been roughly 3.5 years since the release of Red Hat Enterprise Linux 6.  During that time Red Hat and the gcc upstream community have been busy developing new optimizations as well as  support for new releases of the ISO C++ and ISO C languages, etc.

    This is just a high level overview of the major changes in the optimizer and processor support designed to improve the runtime performance of your code:

    • Whole Program Optimization (aka Link Time Optimization) -- The compiler now has the ability to optimize across compilation unit boundaries via the LTO optimizer framework.
      • In effect, LTO provides all suitably compiled objects to the IPA (Inter-Procedural Analysis) framework as a single unit
        • Reduces or may eliminate the "abstraction penalty" commonly associated with good programming practices
      • Works with archives, shared libraries, relocatable objects, etc
      • Makes conservative assumptions at call sites where no LTO information exists, thus LTO and non-LTO objects can be seamlessly mixed.
    • Inter-Procedural Analysis -- IPA optimizes entire compilation units at a time and provides most of the framework for:
      • Full inlining, partial inlining, recursive inlining, virtual method inlining
      • Full and partial function specialization and multi-versioning
      • Auto-detection and propagation of function attributes such as pure, const, noreturn, noexcept, nothrow, etc.
      • Pointer and memory escape analysis, global modification analysis
      • Static profile estimation and function layout/placement algorithms
      • GCC now has a support for a state of the art register allocation path, including register reloading via IRA/LRA
        • Replaces 20+ year old technology
        • Generates vastly superior code on common architectures
    • New hardware support (Intel Core 2, I3, I5, I7, AMD Bobcat, Bulldozer, Jaguar, Steamroller, etc.)
    • Transactional Memory Support (software emulated with hardware fastpath for Haswell processors)

    In addition to adding new optimizers and hardware support, GCC in Red Hat Enterprise Linux 7 also brings major language improvements:

    •  C++11 was ratified in late 2011.  GCC provides a feature complete C++ language implementation, including:
      • Move semantics
      • C++11 Memory Model
      • Lambdas
      • Constexpr
      • Extended Friends
      • User Defined Literals
      • Alias Declarations
      • Delegating Constructors
      • thread local
      • alignas
      • inheriting constructors
      • ref-qualifiers
    • Runtime is not fully C++11 compliant yet due to ABI changes required to implement the C++ 11 runtime (pair, string, list require ABI changes)
    • Improved compile-time scalability for template heavy code
    • Ongoing major improvements to C++ diagnostics
    • Exploitation of C++11 move semantics as well as nothrow, noexcept, const, pure, noreturn attributes in C++ runtime libraries.  This sometimes allows code to run faster just by recompiling it in C++11 mode
    • Profile mode for C++ runtime which allows the C++ runtime to make suggestions about proper use of container classes based on runtime feedback
    • Support for data race detectors in C++ runtime (annotation of internally used objects)
    • Python pretty-printers for standard components to improve debugging of standard objects from the C++ runtime.

    These are just the highlights, there is so much  more going on under the hood as the Red Hat and upstream teams continue to drive GCC development forward.  Watch for future posts highlighting upcoming features such as OpenMP 4, Threading  Building Blocks (TBB), Cilk+, ABI verification and testing, benchmarking and more.

    Recent Posts

    • Profiling vLLM Inference Server with GPU acceleration on RHEL

    • Network performance in distributed training: Maximizing GPU utilization on OpenShift

    • Clang bytecode interpreter update

    • How Red Hat has redefined continuous performance testing

    • Simplify OpenShift installation in air-gapped environments

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue