Transitioning libgomp from C to C++ implementation

Project / Subsystem

gcc / gcc

Date

2026-05-07

Proposer

Thomas Schwinge <tschwinge@baylibre.com>

Source type

public_inbox

Consensus

Proposed

Sentiment

/10

Technical tradeoffs

  • Potential for increased code complexity due to C++ features.
  • Risk of introducing performance regressions.
  • Need to maintain ABI compatibility with existing C interface.
  • Increased build time due to C++ compilation.
  • Learning curve for developers unfamiliar with C++.

All attributes

project
gcc
subsystem
gcc
patch_id
discussion_id
87ik8zzcyc.fsf@euler.schwinge.ddns.net
source_type
public_inbox
title
Transitioning libgomp from C to C++ implementation
headline
Transitioning libgomp from C to C++ implementation
tldr
Thomas Schwinge proposes transitioning libgomp from C to C++ to improve type safety and enable better OpenMP OMPT implementation.
proposer
Thomas Schwinge <tschwinge@baylibre.com>
consensus
Proposed
outcome
proposed
sentiment_score
technical_tradeoffs
  • Potential for increased code complexity due to C++ features.
  • Risk of introducing performance regressions.
  • Need to maintain ABI compatibility with existing C interface.
  • Increased build time due to C++ compilation.
  • Learning curve for developers unfamiliar with C++.
series_id
series_role
standalone
series_parts
[]
tags
  • libgomp
  • OpenMP
  • OMPT
  • C++
  • ABI
bugzilla_url
date
2026-05-07T00:00:00.000Z

Transitioning libgomp from C to C++ implementation

Thomas Schwinge proposes transitioning libgomp, the GNU Offloading and Multi Processing Runtime Library, from C to C++. The goal is to enhance type safety, refactor data structures, and improve the implementation of OpenMP OMPT (OpenMP Tools) by using C++ boolean templates. The transition will avoid libstdc++ dependencies, RTTI, and C++ exceptions, and performance will be evaluated to ensure negligible overhead when OMPT is not loaded.